What I do
I am a consultant software developer. I can:
- Be your red adair; helping you correct course
- Build your MVP
- Be a general gun for hire Or help you select the best way forward.
What I am interested in
I am interested in delivering value by gaining a rich and deep understanding of the problem we are solving together. I prefer to tackle complicated integrations and business problems rather than implement cool technologies. I will always want to build something of value and something to be proud of.
My preferred methods are Domain Driven Development, which leads us down a path of focusing on the business problem first and Test Driven Development, which guides us towards tested and maintainable code. My preferred software design architecture is Command Query Responsibility Segregation (CQRS) and Event Sourcing. Event driven architecture better reflects real world business interactions and forces the business and development teams to collaborate. Event driven architectures surfaces hidden complexities, misunderstandings and knowledge gaps early. Yet if your problem is not well suited to my preferred methods I am not dogmatic, there are many different approaches to solve any problem.
The Journey of Delivery
I am a proponent of Continuous Integration and Continuous Delivery because I want to release value early. This allows us to showcase apps continuously so we can transparently see what does and doesn’t work. If we consider each requirement as a short experiment to challenge assumptions (such as is this new feature going to increase revenue or reduce manual intervention?), then we determine after each iteration whether to persevere, or correct course as appropriate with minimum waste.