My freelancing career began working with an innovation team, developing a prototype React app for major car manufacturers. In 2020, began my teaching and consulting practice. My 1000+ hours teaching refined my mentorship and pair programming skills. I guided students in best practices, fostered their growth, and helped them secure their first dev jobs.
My consultancy work has prepared me for developing high quality, production-ready solutions with multidisciplinary teams. It taught me about working with established code bases, and working with developers from a range of backgrounds and skill levels. With my most recent clients I've:
-
Cut request response times by over 10% by refactoring their Node.js backend
-
Created and maintained their CI/CD pipeline using SonarQube and Github Actions, enabling us to catch bugs before they reached production, reducing deployment downtime by over 80%
-
Provided training for team members on using said CI/CD pipeline
-
Created their base Express RESTful API, enabling them to transition away from Firebase, reducing costs by 20%
-
Developed a Firebase wrapper for their React app, enabling my client to incrementally transition to our self-hosted PostgreSQL backend
-
Developed an in-house web page to PDF microservice powered by Puppeteer, reducing their legacy PDF generator output size by over 75%
-
Designed Docker containers for their apps, allowing for seamless, platform agnostic deployment and development, reducing vendor lock-in
-
Supported their Cyber Essentials Plus certification by advising on and writing internal guidance on opsec, allowing us to pass Cyber Essentials Plus certification.
-
Patched 3 critical CVEs found in their legacy API by commercial penetration tests. Afterwards developing unit tests using Vitest to avoid future vulnerabilities.
-
Lead the migration of my client’s infrastructure to Digital Ocean, setting up VPSs, docker containers and integration with their CI/CD pipeline.
From consulting on security, infrastructure and dev ops, to pair programming and contributing my own code to mission critical projects... I've lead development, collaborated with lead developers, and delivered products with other team members that customers can depend on.