4 ms·
5. Will I be maintaining any ancient system, and what's it written in? If you don't want to inherit legacy software, go work in a startup and enjoy creating e
by mahmud 17y ago
5. Will I be maintaining any ancient system, and what's it written in?
If you don't want to inherit legacy software, go work in a startup and enjoy creating everything from scratch. Legacy software at least leaves you a work culture and a process, not to mention a frame of reference. In a startup, not only there is no much in-house software, there isn't even a division of labor.
- Zot95 17y agoThere's legacy software... and then there are coding artifacts from another era. I'm not necessarily saying it's a deal breaker, but if your development tools consist solely of products that have been End of Lifed, you have right to be concerned how the job would affect your career development.
- pwnstigator 17y agoLegacy code isn't always bad. All code becomes legacy code. Poor legacy code is a liability, and legacy code that leads to suboptimal technical situations (e.g. using C++ in 2009) is a pain.
- nickelplate 17y agoWhat's wrong with using C++ in 2009?
- prodigal_erik 17y agoIt gives up all possible safety for performance gains that haven't mattered on the desktop for years. "volatile" is not enough of a memory model to write portable threaded code for I/O bound multicore machines. And it's missing an awful lot of modern conveniences that are painful or unreliable without language support: AOP, closures, currying, invariants, reflection, serialization, remoting, extensible syntax.
- gaius 17y agoEchoing the commenter above, people writing C++ in 2009 are laughing all the way to the bank.
- HeyLaughingBoy 17y agoI don't know about laughing all the way to the bank, but I would probably have more difficulty writing machinery control code in anything other than C++
- blasdel 17y agoAll legacy code is a liability, and all code is legacy.
- prodigal_erik 17y agoTo me "legacy" connotes flawed, not merely old. If a rewrite would end up slightly modernized but basically the same, what you have is an investment. If a rewrite would end up completely different because the old version doesn't meet the current requirements, what you have is a legacy problem.
- access_denied 17y agoYou are distinguishing between "legacy" and "legacy problem" and thus rendering your own opening 'thesis as moot.
- prodigal_erik 17y agoSorry, what I was trying to get across is that I don't expect to hear "legacy" unless there's a problem.
- petewarden 17y agoCall me perverse, but I love the archaeological side of dealing with legacy software too. You start off with code that makes no sense at all, and gradually as you brush away soil from the pot shards, a story emerges. Working on porting Diablo to the PS1, there were tiny bits of inline assembler scattered everywhere. Eventually the light dawned: the original programmers had been struggling to understand C's signed/unsigned integer conversions so they fell back to the x86 instructions they were more familiar with.
- DLWormwood 17y agoWorking on porting Diablo to the PS1, there were tiny bits of inline assembler scattered everywhere. Eventually the light dawned: the original programmers had been struggling to understand C's signed/unsigned integer conversions so they fell back to the x86 instructions they were more familiar with. Dang, is that telling. Both shipped Diablo games have been know to be rife with security related bugs, and that kind of coding artifact gives a good indication of the quality of the programmers at Blizzard North it seems...
- petewarden 17y agoAs my lead reminded me at the time when I made a snide comment about their quality: "We're sitting here porting it for peanuts, while they're busy counting their royalties" Much as I prize technical quality, that lesson stuck with me.
- Oxryly 17y agoBlizzard didn't pay out much in royalties in those days. Now Diablo 2 was a different matter...