Boring Is Beautiful in Software Development
medium.com
medium.com
This approach reduces software development into a cargo-cult defined by your line managers who don't know better and are too cautious to make a real difference in the field of software development. Tackling ever growing complexity requires going outside of the defined process and finding exciting solutions. It's the primary reason why engineers find them exciting in the first place.
In particular, most software development should become, not a cargo-cult, but routine. Most of us most of the time should be pulling off-the-shelf components and configuring and connecting them. We should not be "finding exciting solutions" we should be finding quick and cheap push-button solutions, and that process of finding them should itself become push-button, if we're doing our jobs as programmers.
Perhaps you are building software with lower consequences and/or higher tolerance of failure. In which case, by all means, have fun with that.
Heck, I’ll coin this term here - you heard it first on HN - inclusive programming. Write code so others can easily understand it, and more importantly, contribute to it.
Nope. Not at all. Experienced professionals, who focus on solving problems for customers, want boring solutions that has worked many times before with zero unknowns.
Because it makes it highly likely that they will deliver solid solutions that will work now and the next 50 years. They understand that the key to success is managing complexity and minimising risk.
And no things are not getting more complex. I have been programming for 40+ years and it is so much easier to develop software today. When I learned to program there was no internet, no Google, no Stack overflow etc. Just books.
And let me finally add that the knowledge you need to manage any level of software complexity has been known and practiced for many years by good developers. Most developers already know how to do it in theory. They just don’t do it in practice.
> Continuous attention to technical excellence and good design enhances agility.