3 ms·
Lack of architecture is to blame, and poor design. I'm sorry to say after having worked in software professionally for over 10 years, that most people just suck
by iamleppert 9y ago
Lack of architecture is to blame, and poor design. I'm sorry to say after having worked in software professionally for over 10 years, that most people just suck at any kind of reasonable design or architecture. You can attribute it to lack of experience, incompetence, or lack of care, whatever, but most people are just bad.
The only metric an engineer should be judged by is: do they make everyone around them better? How quickly can a new developer come up to speed in their codebase and make meaningful contributions? It's okay to start out slow, but in my experience the #1 sign of a bad engineer is someone who gets slower over time. If the costs to implement a feature are increasing, not decreasing, you need to take a hard look at your team and what kind of hot mess people you are really working with. If you're in a position of power, that might involve letting people go, and worse, if you're just an engineer, that might mean finding a new job yourself.
- carlmr 9y agoSimilar experience. Although I think the biggest issue isn't the initial design, but all the requirements that slowly add cruft. You need a team that religiously follows the [Boy Scout rule](https://medium.com/@biratkirat/step-8-the-boy-scout-rule-robert-c-martin-uncle-bob-9ac839778385 https://medium.com/@biratkirat/step-8-the-boy-scout-rule-rob...), and you'd have almost no issues even without huge refactorings or redoing everything (where you often make new mistakes). I've been in teams like that, and in teams that don't care. The Boy Scouts performed consistently better. And before anyone says anything, Girl Scouts can do the same ;).