4 ms·
Most of the cost of developing software is spent on maintenance. Even if you are a 10x rockstar or whatever if your code is twice as hard to maintain you are a
by tdb7893 10y ago
Most of the cost of developing software is spent on maintenance. Even if you are a 10x rockstar or whatever if your code is twice as hard to maintain you are a huge liability to the company. If your boss wants maintainable code then it is literally your job to write maintainable code, if you can't do that then it definitely is best to leave the company and find somewhere where you fit better.
- JoeAltmaier 10y agoNot true any more! Most software is write-once. If you spend more than a little time on it, you're wasting your employers time and money. The whole 'agile' thing is all about writing code like the wind, to a minimum spec, and never revisiting it.
- notacoward 10y agoYeah, and it works for apps. Do you think it works for operating systems and other infrastructure software? Nope nope nope. That code still lives on for a long time, and I would run very far away from any such software written with your "write once" mentality. If I wrote data-storage software that way I'd expect to get fired and I'd know I deserved it.
- bitL 10y agoThat's the thing, I was writing what you call infrastructure software, powering large telecoms of Europe, going super deep with transaction processing, ensuring ACID down to cluster failure level, high availability, and often there were some "tabu" areas nobody was allowed to touch because they simply worked somehow, nobody understood consequences of changing them in production and they were just too critical to do something about them. And they were written in an absolutely horrible way with no documentation nor comments, probably spewed out during a week-long night shift of some once-in-a-generation genius in Santa Clara. According to you, (s)he should have been fired because the code wasn't maintainable (nobody was able to understand it down to all details as it would require top-end education in distributed algorithms, formal verification beyond mere PhD), yet was powering half of the world and made the company insanely rich.
- tdb7893 10y agoIf you can find no one else who could do it then of course they shouldn't be fired. If you can find another programmer who can do it as well and have it also be maintainable then fire the original guy immediately. Lack of maintainability incurs a risk and a cost on businesses so unless they are adding enough value to make it worth it (as the person in your example is) then they probably should be fired
- notacoward 10y ago> they were written in an absolutely horrible way with no documentation nor comments Clearly not talking about a good programmer here, are we? Maybe one with some specialized knowledge, but deficient in other areas. > According to you, (s)he should have been fired because the code wasn't maintainable Damn right. It's possible to write maintainable code in any domain. The burden of doing things besides code - documentation, tests, proofs, whatever - gets higher, but that's part of the job. > it would require top-end education in distributed algorithms, formal verification beyond mere PhD This is exactly the kind of stuff I do every day. Have been for many years. And I hand it off to others who are able to maintain it. So I don't think your story proves what you want it to. Working in a difficult problem domain is a challenge to do better, not an excuse for doing worse. "Your friend" wasn't demonstrating greatness. "S/he" was demonstrating great carelessness and lack of discipline - hardly qualities I'd expect in someone who claimed to be passionate about their profession, and certainly not qualities I'd reward with continued employment.
- bitL 10y agoSorry, this sounds like a nitpicking. It's akin to saying that Peter Sagan is a loser, because unlike Chris Froome he will never win Tour de France GC. Not to mention Mark Cavendish or Marcel Kittel, who are complete losers. People have various talents and their mental capacity is used best accordingly; if you start forcing them to do work that "hurts them", their best parts disappear, you won't get any results and their lives will be miserable. All because you decided how it must be while ignoring nature. Just out of curiosity, are you a German? I see similar thinking around here a lot.