What kind of Engineer is a better one? Dev vs Maintenance
1) The one that is able to create a system from scratch, develop, scale, refactor and change the growing system.
2) The one who's great in supporting legacy (well you know, sometimes systems become legacy from day one) systems, barely writing code, but dealing with complex old heavy systems, that're really hard to maintain and hack. (well, you know that there're companies where you can't really do a lot of changes in code, since its strictly prohibited: it works in general, don't touch it. just make this stupid button work again for us).
It seems to me that one person couldn't combine both, since hardcore developer won't be too pleased to stick along the system, where he can't DO changes. He's starving to make it all better and change EVERYTHING. Other type of people are more or less fine with overall stupidity of system, and can work debugging more than _really_ doing stuff.
2 comments
[ 13.5 ms ] story [ 400 ms ] threadThough, if I have to pick one, I would say #2. It's harder to understand someone else's code and to keep it running smoothly. Though a good engineer may not be happy to stick around in a company that refuses to invest in their code properly. But good companies can have old code that should not be heavily invested in. Likewise, I think young engineers that have never worked with old code under appreciate how it ages.
In comparison, my parents' have owned some very old houses. They have had handymen that install things like counters and cabinets. Every piece of wood needs to be measured in 3 dimensions. Decisions need to be made about which surface to make something parallel to. They operate in 3d and plan for eventual settling. Folks that only work on new houses may not think long term since they rarely need to live with their (or others') decisions.