7 ms·
This made me chuckle: "Companies advertising outdated stacks open you up to the risk of building the wrong sorts of skills, which can have far-reaching effects
by bartread 8y ago
This made me chuckle:
"Companies advertising outdated stacks open you up to the risk of building the wrong sorts of skills, which can have far-reaching effects on your career." (Emphasis mine.)
The wrong sort of skills? Like adaptability, strong diagnostic skills, pragmatism, self-awareness, and not being a massive diva all the time? Although it's true that these things can have a far-reaching effect on your career.
Every company that's been around for a while has legacy code and you need to lose the fear of working with it. You also need to develop enough humility to realise that the code you're writing today is tomorrow's legacy.
- lazyasciiart 8y agoJust the ability to not constantly choose "throw it out and rewrite from scratch" is a fucking goldmine.
- geezerjay 8y ago> The wrong sort of skills? Like adaptability, strong diagnostic skills, pragmatism, self-awareness, and not being a massive diva all the time? Yes, the wrong set of skills. If the market is looking for, say, React devs then you'd be a fool to accept a job where you are expected to work with, say, Delphi or AS400. Yes, maintenance jobs working on old established services are enough to make a living and even a profitable one, but let's not fool ourselves into believing that your odds of being the top candidate in today's or tomorrow's high-profile projects will be greater if you waste your time in outdated stacks.
- catmanjan 8y agoYep you're right as much as I wish it wasn't the case, if two candidates were identical except one had skills in cutting edge technology and the other had skills in older tech I would pick the newer May just be the business we're in but I feel going with the old limits your breadth (but maybe with a higher price tag? COBOL?)
- marvin 8y agoYou wouldn't choose a top-tier React & AWS dev if your veteran Cobol dev had just died of old age and your business-critical Cobol & SAP monstrosity needs urgent changes to handle this years's tax compliance updates. In that situation, you'll pay the $20000/week or whatever oaiey quotes you. All right, so maybe you feel bad now about not listening to the engineering team and maintaining a continuous migration of your business-critical code to modern platforms over the last 30 years. But that's all in the past and your million-dollar business will be shuttered by the tax authorities in three months if you don't get this sorted out right now. Maybe we'll have a world one day where everyone knows the "obvious" fact of technology leadership that everything should be continuously migrated to the state of the art. But maybe we won't, and maybe this fact isn't obvious at all, or even correct. Who knows? In the meantime, people with skills that have an extreme demand/supply factor can command the highest rates, even if they won't be hired at tomorrow's startup. That's not to say it's a bad idea to learn current skills (for diversification), and definitely say no to working with legacy tech for small money, but that's really an orthogonal point to the one oaiey was making.
- nathan_f77 8y ago> In that situation, you'll pay the $20000/week or whatever oaiey quotes you. I looked into this recently, because I wanted to see if it would be worth learning COBOL to help maintain old banking systems. Unfortunately the pay is nowhere near $20000 / week, and experienced COBOL programmers typically make around $100 per hour, or $70k per year at a full-time job. Right now you can make much more money with modern web and mobile development. Here's some previous discussion about COBOL rates: https://news.ycombinator.com/item?id=14083214 https://news.ycombinator.com/item?id=14083214 I was surprised to hear it was only $100/hr, but some people say it might go up to $1000/hr, and one person was making "high six figures". So I don't know. Maybe it's worth getting into if you have some good connections.
- freetanga 8y agoI hire about 150 COBOL guys and gals (as full time employees) and they are making in average 100k€ (European Bank) incl. 1 month holiday. Big brand contractors cost us around the same. DBAs, Sys Admins, operators, a bit more. Having 30y experience myself, from mobile and Java to Mainframe Assembler, I find the older guys - both on mobile (few) and COBOL (most) to be much more focus on engineering a system that lasts whatever you throw at them, while (most, not all) young coders are about speed and hashing something together that works (but needs overhaul after 3-4 years). Just my own experience, not saying is the only perspective.
- watwut 8y agoI dunno. Cool technologies positions pay less, because more people want to do them.
- AnIdiotOnTheNet 8y ago> Yes, the wrong set of skills. If the market is looking for, say, React devs then you'd be a fool to accept a job where you are expected to work with, say, Delphi or AS400 Only if you expect to leave that company in the next few years like an SV-style webdev. Some of us like the stability of working for an organization where employment time is measured in decades.
- eropple 8y agoHonest questions: what has that stability done for your career earnings? And what does that do when your boss decides you aren't needed anymore? I ask because I tend to find that we are generally incentivized both to stay on the leading edge and to, if not running a consultancy, to be regularly moving on to new positions. And it is rare, to the point of IMO barely worth considering as a possibility, to find a company that won't get rid of you given half a chance if it makes short-term numbers better.
- AnIdiotOnTheNet 8y agoIf your goal is to make as much money as possible, then you probably have to live in that mutually predatory environment, but if your goal is to have a more stress-free existence and feel like your work is actually helping people then there are alternatives. I have little fear of being laid off at my company because they didn't even lay anyone off during the last recession. It isn't publicly traded, and has a very flat managerial structure, so the typical 80s-guy bullshit doesn't really fly here. We don't make software and get our revenue from selling ad space, we make real things for real people and we charge real money for them.
- geezerjay 8y ago> but if your goal is to have a more stress-free existence and feel like your work is actually helping people then there are alternatives. I've interviewed devs with over a decade of experience who clearly opted for a stress-free existence feeling like their work was actually helping people, and now here they are in their mid-40s looking for a job with an obsolete skillset and an obvious track record of not adapting to changes. It's great that you lead a stress-free life in your 20s and 30s, but how do you expect to cope with the problem of being obsolete and useless and no better than a 20yo fresh out of college (and in some regards far worse) when you reach your 40s and 50s?
- AnimalMuppet 8y agoThe market? What market? There's more than one. There's a market for React devs, and there's a market for COBOL devs. You look at the React market, and you see that it's growing. But so is the pool of React devs. The market for COBOL devs may be shrinking, but the pool of COBOL devs may be shrinking faster. Which is the better career choice? And why do I care about being a candidate for a high-profile project? Pay? Yes, there can be good pay - along with lousy work-life balance. To steal a line from Agassiz, I cannot afford to waste all my time making money. And why is an out-dated stack "wasting my time"? Do you have a utility function for my time? I deny the validity of it. I would say that chasing a high-profile project in React is almost certainly wasting my time.
- hakfoo 8y agoHonestly, I prefer maintenance. Having code that's lasted long enough to need maintenance is a sign the company has at least some grounded-in-reality fundamentals. The projects that fell apart upon learning the business model was untenable or the technical or social problem insurmountable, generally don't need maintenance programmers. Staying a little off the bleeding edge also lets you focus on quality execution, rather than chasing the trends. Sometimes the eventual best practices aren't even offered and understood if you're adopting a platform or framework too early. Nobody wants to hit a "drop everything and rewrite because there was a huge API shift" moment.
- hinkley 8y agoI think maintenance may be growing on me, but making a judgement on whether it's a good thing is certainly multivariate. While high turnover is almost always bad, low turnover on legacy projects might mean that critical parts of the infrastructure have been locked up by ideologues. It's not automatically bad but you should very certainly ask some pointed questions in this area. A yellow flag, if you will.
- dagw 8y agoNobody wants to hit a "drop everything and rewrite because there was a huge API shift" moment. No business owner or manager wants that. I know lots of programmers for whom any excuse to throw away everything and rewrite from scratch is basically Christmas. Some of the more unscrupulous ones might even try to engineer unnecessary excuses to do just that.
- HillRat 8y agoOh, I’ve seen executive leadership fall for unscrupulous/ignorant consultants pitching a “burn your stack, move everything to the cloud/LCNC/SaaS, and fire your developers” approach. Invariably either the company or the CEO’s tenure expires.
- toomuchtodo 8y agoIf you can offer your services recovering from these dumpster fires, you'll never go hungry as a consultant.
- TeMPOraL 8y agoYeah, this is weird. I feel like it's talking about specializing in a math subsubdiscipline, or surgery on a particular piping of a particular model of Soviet-era rocket engine. Tech stacks aren't that hard. Especially when it comes to web frameworks. To me, maintaining legacy stuff in legacy technologies requires primarily grit - the ability and patience to wade through unique and idiosyncratic mess with a debugger and come out alive on the other end. The fundamental skills of a developer, and even the fundamental technical challenges, don't change that much between frameworks or even programming languages. The primary danger of being in legacy tech to me is having wrong keywords on your CV and getting auto-filtered when applying for a new job. I know businesses would love to immediately hire experts in their particular tech stack, but let's not kid ourselves - the stacks are trivial compared to learning the processes and code at a particular business. I don't see why a competent Angular developer wouldn't be able to pick up React in the inter-job period to the level comparable with what that person with "React" on their CV has. Assuming what I wrote above is true, then note that hacking around outdated CV keywords is a much different problem than mitigating those "wrong sorts of skills" working with non-fad tech would hypothetically give you.
- bartread 8y ago> let's not kid ourselves - the stacks are trivial compared to learning the processes and code at a particular business. True. We're primarily a .NET/TypeScript/React/SQL Server shop but I'm happy to consider anyone with some experience of a C-like language, and some web development experience - it's also not necessary for these things to overlap. Beyond that, if you know what a database (of any sort) is I'm basically happy. It's hard enough to find people who can program well in any language without making life even more difficult for yourself by adding requirements for N years experience in a given framework or technology.
- taude 8y agoI call this having "Complimentary" skill sets. If an OO shop, Java vs .NET and Ruby/Python etc. Hire for smart, ambitious, willing candidates that fit in well with the culture. I've seen people switch tech stacks very quickly, especially when there's established patterns in the existing code base they can pick up on. I think programming language/tech stack is about 8th on my list of deciding on where to work, etc. (This just inspired me to do some writing on the subject, since I've delivered systems in most major tech stacks over the years.)
- alxlaz 8y agoThere's always another side. Some programs only need maintenance because they work very well and provide a great deal of value to the company. Others only need maintenance because the organization that develops it is chronically underfunded, can't attract skilled developers, and/or is led by incompetent management, so it needs so much maintenance that it almost all they can afford to do anymore. The former kind of project teaches you valuable lesson. The latter, however, teaches you skills of dubious value, such as NIH-driven development, playing political games to deflect bugs on other teams, and dealing with bugs in dubious ways (stuff I've seen: detecting corrupted writes to flash devices and correcting them by re-writing corrupted sections until all writes operations are successful). Thing is, if you do this stuff for too long, your mastery of skills that you need to work in healthy organizations tend to decline.
- S_A_P 8y agoIndeed. There are careers to be made with the wrong sets of skills.
- jussij 8y agoI'm not sure the OP was so much fearful of working with legacy code, but rather fearful of corrupting the resume to the point it makes you un-marketable as a programmer. When making hiring decisions many organisations put great emphasis on the specific skill sets detailed in the resume. As such it can become dangerous if you end up with a resume dominated with legacy coding skills.
- acdha 8y agoI agree that maintenance shouldn’t be feared but you do need to be cognizant of the risks of being shoehorned. If you’re “the cold fusion expert” this will probably not be rewarded by chances to work with new things (or often even the replacement for that CF system) because they probably have a long backlog of things you can do faster than anyone else. If it pays well, that has upsides but only as long as that system is around: you shouldn’t assume loyalty when they replace it and it’s definitely cause for concern if nobody else in the area is hiring for those skills since you’re one corporate restructure, merger, bankruptcy, etc. away from having to retrain in a hurry. I think this is also a good area to contrast the two things listed: tons of places have jQuery, it’s still actively developed, and it’s relatively straightforward to replace incrementally whereas CF is proprietary orphan-ware prudent shops have been migrating away from since the late 90s, when it became apparent that they were only indifferently supporting it, so you’re one unpatched bug or Adobe management whim away from a messy forced migration.