I’ve been the driving force behind a great variety and quantity of software built for both the market and internal audiences. I excel at matching technical means with business ends to build innovative and stable software products that can evolve with changing opportunities and circumstances. I have a superb record of delivering projects on time and on budget, a roster of distinguished and delighted clients, and deep ties to the development community.
I work with founders and other stakeholders to hone product vision and with engineering teams to execute quickly. In larger institutions I drive the development process by building consensus across organizational boundaries.
I’m relentless about empirically testing hypothesis. I get artifacts in front of users as fast as possible, fail fast, and iterate. This is the heart of agile and the result is applications that truly serve the interests of user communities. The same path leads towards product-market fit.
I practice and spread techniques that increase software quality, development velocity, and decrease costs. Foremost among these are test driven development, service oriented (reactive) patterns, and reliance on business process execution engines over custom application logic. Recent years bring containerization, cloud native architectures, and functional programming techniques into the mix.
I’ve always been a big user of free and open source software, and strive to leave every codebase I use better than when I found it.
As an advisor and a practitioner, I draw on what I’ve learned shipping 2-3 applications EVERY year for more than 20 years.