Comment by berkes
6 days ago
Yea. To be clear. With "senior" I did not mean "developers with over 16 months of experience" but developers that have failed spectacularly, several times, learned from that, and now strive to avoid these, and related mistakes.
A junior can never be that, due to lack of the experience. But too many long-term developers haven't failed, or haven't learned from these mistakes.
For example, about five years ago, I worked a few months with a 40+ years-of-experience software developer, who worked almost his entire life on one single product (in C++ and Java) in one company, solo. I was asked to assess if/how it was possible to get new people for this project because he was retiring. Part of the code was marvelous and a true beauty. Other parts were horrors or inintelligable mess. He truly did not like Java (at first) so a giant part of the java codebase was there to make it look-and-feel somewhat like his (also non-standard) C++.
Ironically, the nice parts were those that were hardly touched or changed - infrastructure, boilerplate, etc. But the worst parts were those that needed frequent changes due to business demands or the ever changing outside world. He honestly never realized that there were patterns and systems (by now), to keep software manageable under real-world-demands and changes. That turned also to be the saving of this project: he loved "DDD" and "Design Patterns" (both he heard about, but never dove into), and implemented some core ideas in this project before handing it over: anti-corruption-layers, ports-adapters, dependency-injection, testing.
No comments yet
Contribute on Hacker News ↗