4 ms·
That together with the fact that nobody gets promoted and nobody collects revenue by simplifying or refactoring code.
by pontus 6y ago
That together with the fact that nobody gets promoted and nobody collects revenue by simplifying or refactoring code.
- arbaal 6y agoFunny that I'm nobody again. I work for a big german retailer. A big part of my work includes simplifying and refactoring code, so that we have lower maintenance cost and can move faster as a organisation unit. This was also a big factor in my last promotion. We also increased profit by lowering our runtime cost by some of those optimizations.
- senko 6y agoIf I were a betting man, I would bet that the main reason why you're allowed to do that is because you lowered runtime costs by some of those optimizations, not because of the cleaner code you can move faster.
- Aeolun 6y agoYou can trade on previous achievements to spend time improving your codebase (unless you have a micromanager that tracks every hour).
- ThePadawan 6y ago? not parent, but I am really surprised by that mindset. A large part of my career has been telling my boss "we should invest 5h of cleanup time here to make sure that in the future we won't have those 5h worth of obstacles here before building a new feature on top of it". In industries where requirements change on a weekly or monthly basis, agility is worth a lot.
- senko 6y agoI completely agree. My bet would be the bosses usually don't. So in a lot of places you need another "excuse" (or as another poster mentioned, spend the time saved to invest more into maintainability but cover it up).
- hugey010 6y agoPeople do get promoted and paid for simplifying and refactoring code. Heck, I got promoted and am currently being paid to do just that. It often involves adding value in other ways simultaneously, but what you said is just false.
- pontus 6y agoI guess it's dangerous to use words like "nobody" or "everyone" or "always" or "never" on the overly pedantic Hacker News. I would hope that the sentiment of my point came across either way. If not, let me clarify: it's generally preferred to spend engineering effort on building new features and optimizing code to improve performance etc. over e.g. rewriting code from scratch to simplify it's maintenance. I would venture to guess that an overwhelming amount of engineering effort is spent on effectively adding complexity to code.
- nthj 6y agoWhoever is able to demonstrate the value of a sequence of work to the business will get their work prioritized. Product’s job is to shape and predict the value of adding new features. Customer complaints about slow reports help Customer Support justify performance optimizations. If engineers want the business to pay them for simplifying maintenance, they can identify a collection of support tickets that have a compelling root cause, and propose refactoring that system to eliminate the bugs and maintenance issues. What I usually see is us engineers calling it “tech debt” and complaining we never take time for it, which is about as effective as the bookkeeper complaining about the paperwork that debt payments create for him. Businesses love debt. It’s a useful financial tool. The business doesn’t get the issue.
- ratww 6y agoNot directly. But simplifying and refactoring can help you understand the code better than doing routine maintenance. This helps you solve bugs and write new features faster and with more stability, and also give better input during meetings. So, indirectly, yes: you can get promoted and collect revenue by simplifying and refactoring.