I am an independent software delivery consultant based in the San Francisco Bay Area. Most of my work centers around supporting and advising startup engineering teams. I also provide custom developer training.
I enjoy sharing my opinion via conference talks, podcasts and writing, often with a focus on agile engineering practices.
I toot as @ph1. I host my open-source code on github. You can find out more about my professional background on LinkedIn.
How I can help you
Depending on your needs I can provide either advisory consulting services or hands-on software delivery expertise - get in touch and we can get started.
Advisory Consulting
A lot of my work involves providing advice and support to engineering organizations who are going through some sort of inflection point or experiencing growing pains.
For startups that are just getting off the ground I provide guidance in hiring an initial engineering team (including performing technical interviews for those critical first hires), laying out engineering practices, and defining an architectural approach for the initial MVP.
For startups that have found product/market fit I consult on how to adjust engineering practices and architecture in a post-MVP world where the software being built (and decisions being made!) will likely persist for a lot longer.
I love working with engineering organizations that are starting to move past a single team and/or a single codebase. This is a key inflection point for any engineering org. Folks often discover that approaches that have been working well up to this point no longer seem to work at this next level of scale. I provide guidance on how to adjust engineering practices, SDLC and architecture to enable your teams and software to scale.
I also provide training and mentorship for teams getting started with new technologies or engineering techniques. This support often has a focus on agile engineering practices - things like test automation and continuous delivery.
Expert Software Delivery
I work as an expert “hired gun”, brought in to work on projects which are critical to the success of the business, or where there isn’t the appropriate expertise in-house. These projects will sometimes start off with a lightweight assessment of your current system, followed by a set of recommendations which I’ll then help execute against. Examples of the type of work I do include:
- Getting a React application’s test suite into a good shape
- Building an automated continuous delivery pipeline for a key system
- Docker-izing a legacy monolith
- Creating an MVP React Native application, plus a backend
- Migrating from Heroku to Kubernetes
By bringing me in to solve your critical projects you benefit from the years I’ve spent honing my craft besides some of the best minds in the industry. I draw on almost 2 decades of experience building custom software, and my years as a consultant have provided me the opportunity to work with a wide range of technologies and tools. I have the breadth and depth of knowledge to solve problems in a very efficient way, which means you get a lot of value in a short amount of time.
My Skillset
I’m an expert in:
- Test-driven development
- automated testing
- agile engineering practices
- JavaScript
- Node
- React, Redux
- Ruby on Rails
- Docker
- Continuous Delivery
- Microservice Architecture
I’m proficient in:
- Scala
- Java
- Kotlin
- Python, Django
- iOS, ObjectiveC
- Kubernetes
- bash, unix
- Chef
- Puppet
- HTML, CSS, SASS
- Backbone.js