Is over-engineering on the developer maturity journey? Do you need to have written lots of over complicated apps to appreciate simplicity again?
Do you agree with David Fowler’s tweet shown below? …
I agree with the tweet. It was true for my own personal experience and I’ve seen it with countless other developers I’ve worked with over the years.
I found the below related graph on Twitter which I largely agree with… although I’d probably change ‘years of programming’ to ‘level of experience’ as it really depends on what you’ve been doing, not necessarily just years of experience.
Most over-engineering comes from trying to predict the future
For me most over-architecting comes from devs trying to predict the future. When we try to predict the future too much in life we make ourselves sick with anxiety.
When we do it with our software we can also make it ‘sick’ by adding too much abstractions, layers, patterns… ‘just in case’, ‘what if’ etc. All this extra stuff becomes a silent productivity killer which causes us to have to use more time and brainpower to basically do anything.
What most developers need, particularly those in the mid part of their career is a strong lead or architect to tell them when to stop and to just KEEP IT SIMPLE.
Original post on LinkedIn with lots of great discussion
I originally posted the tweet above on my LinkedIn, there’s about 60 comments there with some really great points if you’re interested in reading more on the topic.