3 ms·
It bothers me that so many otherwise intelligent managers will opt for cheaper labor with higher turnover and oftentimes worse efficiency.... to save money. I j
by devonkim 9y ago
It bothers me that so many otherwise intelligent managers will opt for cheaper labor with higher turnover and oftentimes worse efficiency.... to save money. I just don’t understand how all the micro-inefficiencies or lack of experience can be made up for with maybe another 10 - 15 hours / week. Maybe if a lot of your technical problems are due to nobody young or old having deep knowledge (read: new language and platform) but we all know that new stuff doesn’t skip a generation of knowledge - it’s built on the foundations of what works previously and tries to throw away what is not relevant anymore.
I can understand hiring simply smarter people though in lieu of experience. It’s just that so many things I’ve lost efficiency on would not have been improved with mere smarts, so only raw, direct experience could ever get past it.
- psyc 9y agoI've seen a pattern that makes this self-fulfilling. The normal mix of junior/mid/seniors, plus the rush to market, creates a ton of paralyzing tech debt. Then the tech debt itself levels the playing field, so that the seniors actually are only marginally more productive than the juniors.
- JoeAltmaier 9y agoWorse, senior folks have to mentor new folks because they are the experts. Then they have to fix the horrible snafus because only they can. They stop do interesting development entirely as these other duties take over their lives. Then there's turnover and they do it all again until they burn out and leave. Leaving only junior folks and a dumpster fire. And don't get started on how 'agile' fuels this! In a constant panic mode, there's only ever sprints for small fixes and isolated features. Never time to address what's really wrong in a systematic way. So the flames burn higher...
- ryandrake 9y agoThis is one of the reasons why I pretty much moved to only writing code at home as a hobby as I’ve aged. In “professional” programming it’s always this insane race to puke out as many half working features as fast as possible no matter what the code ends up looking like. The craftsmanship is gone. The focus on quality and correctness is gone. The opportunity to refactor or redo at will is missing. On my hobby projects, I can take my time. I can have 100% test coverage if I want. I can compile cleanly with -Wpedantic if I want. I can move whole modules around if I think it’s best. No need to deal with forced collaboration, change control bureaucracy, or the constant drumbeat of ship ship ship! The current hiring preferences out there are a perfect fit for the industry’s insane “ship crap as fast as possible” product preferences.
- psyc 9y agoI've done exactly the same, for exactly the same reasons. Now I love programming again.
- airfreak 9y agoMy antidote to this has been to craft a reputation for doing high quality work with good documentation. I don't let myself get pushed around now with this crap. If I want to spend more time on a feature, because of refactoring, writing some tests or whatever, I just do it. I don't pay attention to the sprint deadline but focus on quality work. I often miss the sprint deadline and make no effort to rush like the rest seem to do. The result has worked out really well. Managers have quit hassling me about time and I get given the more complex and interesting work. People know I work hard and care about what I produce, if they have to wait they have to wait. I don't ask permission to write the tests I want, or spend a couple of days refactoring if that needs done. Basically I am the professional coder, not the project managers, so I don't let them dictate how the software gets made. You just need to make sure you don't take it too far and too gratuitous refactoring work. Your reputation is critical for this approach to work.