Avoiding The Temptation To Over-Engineer
This video is available in the GOTO Play video app! Download it to enjoy offline access to our conference videos while on the move.
'Less is more' is reinforced nearly everywhere we look in development practices. There are countless examples of why minimalism breeds results from refactoring PRs to applying the DRY approach to development. While we can often find a lot of comfort in putting in more effort and optimising a process to achieve the best possible results, it's easy for us to lose sight of our goals and start to undo all of our excellent work.
Research shows that we reached peak DevOps in 2018. When discussing this topic last year, Patrick Debois, author of the DevOps handbook and originator of the term, noted that "the experience from developers is that it's an art as much as to add features as it is to remove features from the backlog. Sometimes not doing something is sometimes really hard."
Technical debt tends to grow at an exponential rate. When you build something that enables your team, you may retain control, but you risk sacrificing scale.
In this session, we'll go over:
Judging whether you're diverting too much time and effort into enablement instead of end-user value
Knowing when a home-grown system stands to hinder progress and growth in the long-term
A glimpse behind the curtain of how we've architected for scale at LaunchDarkly
Growth is a good thing. Abstractions and components help us to iterate at speed. While building your solutions can give you a thorough understanding of what we want from them, when you end up spending all of your time on maintenance, you risk losing your shot at differentiation.