I've worked and consulted at 20+ companies over the last 10 years.
I've built platforms, systems, and frameworks with a diverse crowd of customers, developers, and founders.
Over the last year, I’ve consulted for a handful of individual clients and companies. I love talking directly with my customers and getting to know their perspectives and processes. Many times, gentle probing discussions with customers can lead to some great Aha! moments.
I have a passion for clarity and simplicity in my designs, architecture, and code. I try to drive towards clarity by the way I discuss problems and design systems, and also in the way that I collaborate with my teams. Diagramming and questioning/listening are two of my favorite techniques.
Finally, I practice a very iterative and experimental approach to design and implementation.
I have found that although I’m great building software that addresses the stated requirements, the true requirements are understood through an iterative, exploratory process. These are usually reflective of, but distinct from, the initial vision that started the project.
I find the more freedom developers are given to explore and experiment within — and with — the bounds of the requirements, the better features and solutions they are able to discover and deliver as a result.
I’ve gotten to do this in depth as a consultant, and I try to facilitate it with all of the teams I lead and work with.