skip navigation
"Software developer with a kaizen mindset"

10x Engineer

Ever felt like your team isn’t able to deliver the flexibility you would really like? You’ve put in a lot of time to make sure you’re resilient, you barely have down time, the agile process is highly optimized. Still the new feature requests are piling up and it is getting harder and harder to keep all the happy flows straight. It might be time to shift who your customer is and treat your services as a product instead of a bespoke software solution.
These are 4 principles I try to adhere to when designing and developing software systems. They’ve worked for me at different levels of abstraction and have enabled me to rapidly deploy even complex systems. Lets have a look at what those are and give them some context on why I think they’re important to keep in mind. #1 Agility Agility is not just a way of working. Your codebase, deployments, decision making and leadership needs to be agile too.
The focus is often on resiliency around dependencies or exception handling. In other words when someone else’s code is not working as it should. It is just as important to look at how to deal with unexpected issues in your own code. How you can make sure that you can recover from breaking scenarios that you did not foresee. We’ll focus on some patterns that help you reduce impact of those errors and allow you to focus on a forward fix instead of rollbacks.