26 ms·
Programmers: Before you turn 40, get a plan B (2009)
- bwanab 7y agoThis is a replay of a comment I wrote several years ago to the same topic: I'm 60+. I've been coding my whole career and I'm still coding. Never hit a plateau in pay, but nonetheless, I've found the best way to ratchet up is to change jobs which has been sad, but true - I've left some pretty decent jobs because somebody else was willing to pay more. This has been true in every decade of my career. There's been a constant push towards management that I've always resisted. People I've known who have gone into management generally didn't really want to be programming - it was just the means to kick start their careers. The same is true for any STEM field that isn't academic. If you want to go into management, do it, but if you don't and you're being pushed into it, talk to your boss. Any decent boss wants to keep good developers and will be happy to accomodate your desire to keep coding - they probably think they're doing you a favor by pushing you toward management. I don't recommend becoming a specialist in any programming paradigm because you don't know what is coming next. Be a generalist, but keep learning everything you can. So far I've coded professionally in COBOL, Basic, Fortran, C, Ada, C++, APL, Java, Python, PERL, C#, Clojure and various assembly languages each one of which would have been tempting to become a specialist in. Somebody else pointed out that relearning the same thing over and over in new contexts gets old and that can be true, but I don't see how it can be avoided as long as there doesn't exist the "one true language". That said, I've got a neighbor about my age who still makes a great living as a COBOL programmer on legacy systems. Now for the important part if you want to keep programming and you aren't an academic. If you want to make a living being a programmer, you can count on a decent living, but if you want to do well and have reasonable job security you've got to learn about and become an expert in something else - ideally something you're actually coding. Maybe it's banking, or process control, or contact management - it doesn't matter as long as it's something. As a developer, you are coding stuff that's important to somebody or they wouldn't be paying you to do it. Learn what you're coding beyond the level that you need just to get your work done. You almost for certain have access to resources since you need them to do your job, and if you don't figure out how to get them. Never stop learning.
- ryandrake 7y agoI love your comment and can back you on your last point. I know plenty of people who are very successful because they took the time to become experts on some industry that also aligns well with programming. Compare: Person A has become one of the world's ten foremost experts on the GPS system and other industry-critical location/positioning technologies. She is also a good, above-average programmer but nothing special. Person B is an academic, a master of C++ who can recite chapter and verse from the language standards and writes bug-free code. He can point out undefined behavior, implementation-defined behavior, and memory leaks with ease in code reviews. He builds entire systems using template metaprogramming and is already an expert on C++28. Person C is a highly productive generalist. His career jumped from a bank to an enterprise company to an operating system vendor to an online store. Always working on API-to-API middleware, expertly pushing Protobufs and JSON around and designing vast systems, but never gaining any expertise in an actual application topic. Person A is going to be much more marketable later on in life, assuming she placed her bet on the right industry vertical. Person B and C may have good, successful early careers, but are often at risk of being replaced by Yet-Another-Protobuf-Slinger fresh out of college. Be as good a programmer as you can, but also build up knowledge of the business or detailed knowledge of a specific technology application that you know is not going away.
- chadcmulligan 7y agoIndeed, this has been my career path to, I'm in my 50's and have always avoided 'going vertical' as I think of it - becoming a specialist in one little area. Stick to the bread and butter and just keep learning new stuff, really programming hasn't changed much at all if you know C and assembler, and a bit of hardware, know some maths, all the rest is just rearrangement of the words.
- devoply 7y agoAnyone have more data on this? What happens to programmers as they age, are they in fact unemployable?
- justbaker 7y agoIn general if you don't keep up with the pace/trends, you will become out of touch. I would suggest this is for programmers that stop learning while they age.
- commandlinefan 7y agoI'm over 40 - I found myself suddenly back on the job market a couple of years ago when the company I worked for abruptly went out of business. I was only out of work for three weeks before I found something else. I keep current, though - one of the realities of this profession is that you have to keep learning, and you have to do it "on your own time", if you want to stay in it. Personally, I find that to be a reasonable trade-off, but I know a lot of people don't.
- _bxg1 7y agoWhat subfield do you work in? Size of company, languages/technologies, etc.
- commandlinefan 7y agoMostly Java, but I went from a small healthcare-based company to a huge entertainment company - there's really no similarity there.
- _bxg1 7y agoYeah; I get the sense that Java is one of the more reliable (if unsexy) domains to embed yourself in. It's really turning into the new Cobol.
- hellisothers 7y agoI myself am 40 and am gainfully employed and paid well in a top SF tech company, I have several mid to late 40s friends who are highly paid and appreciated at their jobs and have turned down offers from FAANG. I think the key is realizing what more jr engineers able to do well and compete at something else, like depth (or extreme breath) of knowledge, soft skills, organizational skills, and of course leadership.
- commandlinefan 7y ago> While a technology shift doesn’t completely negate the skills of veterans, it certainly levels the playing field for recent grads. It can more than level the playing field, especially when the hiring managers are particularly narrow-minded. I'm seeing more and more "degree in data science" (an academic discipline that didn't exist 10 years ago) as a requirement for what are effectively programming jobs. Of course, we can agree that this is stupid, and that not getting a job at such a company is "dodging a bullet", but unemployed is a pretty nasty bullet in and of itself.
- projectileboy 7y agoAge discrimination is absolutely a thing, but (and this is only based on anecdata) I would say it is much, much worse in the valley than just about anywhere else. The rest of the world seems to have a less damaged culture.
- nym 7y agoAs someone who ran a startup and worked for several others in the valley, then moved away: I agree.
- rcarmo 7y agoI’m in Portugal and everyone who’s moved their tech hubs here in the past 2 years is only hiring juniors. And we’re talking about a mix of big companies (who ought to know better) and relatively fresh (<5y) startups.
- toper-centage 7y agoBecause juniors in Lisbon will work for peanuts while anyone with more than a year experience knows they can demand a higher salary for living in Lisbon.
- brucehoult 7y agoI'm a 56 year old programmer from New Zealand. I moved to the US to join a hot Silicon Valley RISC-V startup earlier this year. I think the average age of our software team is probably over 50. Certainly the median is. My previous job (and my first ever outside NZ) was working for a multinational electronics company in their Moscow Russia R&D lab, a job I got when I was 52.
- H8crilA 7y agoWorking on semiconductors/electronics is "old tech" that is still very important. It's been around for quite a while. Compare to Fortran or supercomputers. Was important, isn't much so these days, although is still used. What I'm saying is that you got on a train that has been running longer than some other trains, hence you meet older people on the train. As someone who has little interest in management I hope to be as successful as you, in this sense of picking long distance trains.
- paulcarroty 7y agoPlan B is necessary for all, not only <40yo coders.
- Reason077 7y agoWhile I’ve no doubt that age discrimination does exist, when you see people who are former programmers at 40 (or 30 for that matter) it’s often just that they started out in programming but got bored of it and moved on to other careers. Or gradually became managers rather than programmers. Statistics may certainly show that programmers skew young, but its not always due to being forced out, or denied opportunities, because of age.
- dcolkitt 7y agoI'll second that. I'd also add that most programmers have high fluid intelligence. This makes it rather easy for them to retool into another field and end up being talented at it. Industrial psychology has very consistently found that fluid intelligence is a stronger predictor of job performance than even experience. It's often the case that the software engineer who becomes a manager at 45, ends up being better at it than the MBA who's been doing it for two decades.
- JoshTko 7y agoAny source for your last statement?
- dcolkitt 7y ago> Over time, the validity of job experience for predicting performance declines, while that of ability remains constant or increases. Path analyses indicate that the major reason ability predicts performance so well is that higher ability individuals learn relevant job knowledge more quickly and learn more of it. [1] https://psycnet.apa.org/record/1997-43291-003 https://psycnet.apa.org/record/1997-43291-003
- wpietri 7y agoI don't think those are cleanly separable. When you talk with people who left the industry, it's very rarely, "I was successful and engaged and really enjoying it, so I decided to switch to something entirely different where I had to start over and earn a lot less." For a lot of people who experience discrimination, it's not one big blow-up that forces them out. It's the steady drip-drip-drip of being treated poorly, denied opportunities, etc. Eventually they just get worn down.
- PedroBatista 7y agoThis is generally true. It's a combination of many things, from brain "degradation", ageism, simple economic math ( fresh meat is cheaper and more malleable ), other more important interests like having a real life and when you really mute all the marketing BS, your delusions and wishful thinking, the actual work of being a developer/programmer in a professional setting is a really shitty job and sad life for the majority of people on those jobs. I'm a few years from 40 and not having experience or interest in large organizations, I don't know what to do. Programming is cool, but I always found it to be a tool to get somewhere, and that somewhere hasn't happened and I don't even know what it is or looks like. But either way, always have a plan B and don't forget about it.
- commandlinefan 7y ago> the actual work of being a developer/programmer in a professional setting is a really shitty job and sad life The thing is, it doesn't have to be and, until relatively recently, honestly wasn't. It's a shitty job and a sad life because we have open offices, ticket-tracking systems and daily standups. There was a time when programming was exciting and rewarding.
- randrews 7y agoI would add code reviews to that. The advent of those was when it really stopped being fun for me, because it's really hard to keep that from turning into "your boss nitpicking every line you write."
- oriolid 7y agoIn my opinion this is much, much better than trying to decipher what the heck that one co-worker pushed to production and how exactly it broke things. Of course there are ways to smuggle rubbish through code review, but it's still better than no reviews.
- randrews 7y agoBoth have problems. The best system is one where a passing review means "I feel comfortable maintaining this;" too often a passing review means "this is how I would have written it."
- yasp 7y agoWhat are some common Plan Bs?
- icedchai 7y agoSave and invest 40% of your income. After 15 to 20 years you should be able to declare financial independence, if you want to...
- pmiller2 7y agoThat only works if you start at 25 when you graduate. Not a viable plan for someone approaching 40 who wants to make sure they can continue to support themselves into their 60's and beyond.
- kls 7y agoA solid Plan-B is to learn an older tech where people are already retiring out of. Examples would be anything IBM used in the 80's early 90's. C/C++, COBOL, JCL, UNIVERSE, VB6, etc. etc. Young people are not competing for this work and you would be surprised at how much it can float you thru lean times if you need to lean on it.
- icedchai 7y agoObviously you need to plan ahead, perhaps read some personal finance books now and then. "The Millionaire Next Door" is still relevant. I read it when I was 22, followed most of it...
- AnimalMuppet 7y agoWhy? Someone who starts at 40 is probably earning more than someone at 25. And someone at 40 has fewer years left to support themselves after their 15-20 years of saving are up.
- twblalock 7y agoBecause 15 years of compound interest in the stock market more than covers the difference in income between a 25 year old and a 40 year old. The 25 year old has enough time to take risks with money, while the 40 year old needs to be thinking more about preservation of capital.
- brightball 7y agoI've always gone with the assumption that I'll have a really hard time getting a job as a developer after 50. It's something I think about often and try to plan for with my finances.
- cameldrv 7y agoWhat others have said about keeping up with technology is certainly true. However, I've found the opposite to be true -- there are many more young programmers because the industry has expanded so much in the past twenty years, there is a relative lack of more senior people, and in my experience they are in high demand. That said, if you're going for a straight individual contributor role rather than a lead or manager, there may be questions about why you haven't moved up and whether that might indicate a lack of ability to learn new things that might make you a less valuable individual contributor.
- pmiller2 7y ago>That said, if you're going for a straight individual contributor role rather than a lead or manager, there may be questions about why you haven't moved up and whether that might indicate a lack of ability to learn new things that might make you a less valuable individual contributor. Continuing as an IC (doing things) rather than becoming a manager where you help people do things indicates a "lack of ability to learn new things"?
- Legogris 7y agoIt doesn't, but many people have conscious or unconscious biases in that direction.
- Lendal 7y agoI'm 50 and still programming. Programming is all I know how to do. If that was taken away from me, I would just rot to death. I don't want to be anything else, and I refuse to be forced to do something I don't want to do. I'll learn to farm and support myself that way. So, is it still preferable for the manager to not hire anyone and let the work sit undone rather than to be forced to work with a detestable "older" worker? Perhaps the government should start giving disability status to people because they are over 40.
- inetknght 7y ago> I'll learn to farm and support myself that way. With the climate apocalypse, that's becoming less and less likely.
- commandlinefan 7y agoActually if everything folds in completely the way the alarmists are telling us it will, being able to grow your own food will be the only thing that will save you.
- inetknght 7y agoYes. But being able to grow your own food is what's becoming less likely.
- aleister_777 7y agoJust like all the other predicted climate apocalypses the past 50 years. For a group that should be good at picking up patterns they sure are slow to pick this one up...
- freewilly1040 7y agoI'm not sure I can think of a harder field to jump into in middle age than farming.
- cw_ds 7y ago
- HillaryBriss 7y agokeeping up with the latest technology has a side effect: you will still be older than most of the people who have learned the latest technology. so you will still face a builtin cultural mismatch that does not work in your favor.
- alexashka 7y agoWhat an excellent, level headed article. I wish it'd be emphasized a little more - as a software dev, you'll likely either end up having to move laterally to a new skill set that isn't entirely related to your previous experience (moving from C++ to Ruby on Rails and web dev as the example in the article) or move 'up' to management or architect positions. Both of those are difficult and fairly unique to software development. Most jobs don't require these types of shifts. A number of jobs do simply wear your body out and leave you in difficulty in your 40s however, and that requires a complete career shift or that move 'up' to management, both of which are non-trivial paths to take.
- ergothus 7y agoThis is definitely a problem, particularly for those that aren't in tech cities with endless jobs, but the alternatives discussed in this article are all....not great. * Work as a consultant - I'm biased here from my own bad experiences, but consultants are often treated as a source of future problems, not solutions. (largely because of communication and incentives, not because of programming skill) * Work in management - which the author admits is not because it is a good match in anyone's mind but the employer * The third option is not easy to solidify, but it basically sounds like becoming a solo contract coder in your area of expertise I suppose any better answer involves a change in the industry that is beyond one person's ability to control, but I was hoping for...I dunno, maybe advice on how to plot your savings to manage lower income in your later years?
- hellisothers 7y agoJoining or creating a small agency is an option I could see looking into eventually. Something with partners and associates similar to how law firms are structured. Kinda splits the difference in being a contractor but not being self employed.
- jupiter90000 7y agoRe: consultants, depends on the engagement. If you engage with clients where you are effectively the only way for them to get anything software done (ie, not in addition to an on-site engineering team), you can be seen as an invaluable resource that just gets things done for the business.
- ergothus 7y agoDoesn't that fall apart over time? The consultant quickly becomes the monopoly provider, and the large amount of previously investment means that the customer can't afford to switch to another provider (since anything from the previous company will either go away (if there's a bad contract) or just ends up being very difficult to maintain. And the consultancy has incentives to create this rather than fight this. I'm not saying every consultancy is bad/evil, and it is entirely believable that they might choose to be a "good" player and bank on getting a good reputation to make up for any business they lose by doing so - but the overall trend looks like such "good players" lose in the larger market or stay in a small niche. As I said originally, I'm biased, having seen a few BAD relationships, but I'm trying to remain objective and look at incentives and counter forces. Totally open to hearing counterpoints.
- ianai 7y agoProbably, system administration or the rest of IT is the closest to a natural fit for a programmer going into other things. For people with the MS programming certifications this may be a pretty clear path and aided by their programming skills. I’ve got family who seemingly bucked this problem, though. He has maybe going on 40 years of C experience, now. I think he’s said it’s become harder to find work that really needs his skillset, but he’s been doing the contractor thing for much of that time and always kept employed.
- weliketocode 7y agoThis is a scare-tactic article from 10 years ago quoting ANOTHER scare-tactic article from 10 years prior. The truth: The number of programmers has doubled every two years since the 70s. The demand for programmers is today exceeding the supply. Until the supply/demand forces change, these headlines will continue to be nothing but fake news.
- kls 7y agoAgreed those of us over 40 lived in a time where there was no such thing as a "web developer" only some of us jumped over to doing "web development" so the actual pool of people available to do the job, that have the skills from Gen-X is insanely small compared to the overall demand the industry has generated for developers. Almost all of the developers I knew from my younger days have either, gotten rich, gotten out (one bought a worm farm), or went into some form of management. All due to their own decisions no one was forcing them out of development, rather development has a way of chewing people up to the point where they want to be spit out. It is the reason that Office Space was such a resounding hit with us Gen-X'ers it struck at the heart of what it can be like to work in IT.
- ryandrake 7y ago> The demand for programmers is today exceeding the supply. Tell that to the company having to screen through 100 resumes and interview 10 candidates for every open development position they post. Or to the developer who has to apply to 100 jobs in order to get 10 interviews and maybe one offer. The "Shortage of Engineers" meme truly won't die.
- pixeloution 7y agoI’m quickly approaching 50, and work as a tech lead/developer at one of the top few companies in the world earning well. Age may make it more difficult, but in the end what you’re able to do matters most.
- stuff4ben 7y agoMid-40's here. I'm in management but considering getting back into development/architecture. I've kept up with my skills in Java and DevOps and Kubernetes so I have a breadth of knowledge and skills that I know people are looking for. Management was my plan B and honestly I hate it.
- commandlinefan 7y agoA couple of years ago, the company I worked for abruptly went out of business (like, I came into work on Monday and they said, “we’re closed effectively immediately, go home, we’ll e-mail you severance details”). I sent out about a dozen resumes, got two interviews, flunked the first and got an offer at the second - the whole process took about two weeks and I was no longer unemployed. I was on good terms with one of the VP’s at that company, who also lives close to me - I ran into him about a year later and I asked him how things were and he said, “well, I’m still looking for a job…” We were both around the same age (over 40, anyway) - I’m not so sure management is as unemployment-proof as some of us have been led to believe.
- spraak 7y agoAnd to be clear, you were a developer and got another development job?
- commandlinefan 7y agoSorry, should have clarified. Yes, IC here. IC for life.
- pmiller2 7y agoWhen you need 1 manager for every ~8-10 ICs, and one 2nd level manager for every ~8-10 first level managers, and so on, the jobs become fewer and further between the higher you go up. Management does not seem like the path of job security to me.
- goobynight 7y ago
- arendtio 7y agoOlder comments: - https://news.ycombinator.com/item?id=9361580 https://news.ycombinator.com/item?id=9361580 (351 comments, 2015) - https://news.ycombinator.com/item?id=65043 https://news.ycombinator.com/item?id=65043 (112 comments, 2009) - https://news.ycombinator.com/item?id=16934500 https://news.ycombinator.com/item?id=16934500 (107 comments, 2018) - https://news.ycombinator.com/item?id=10290637 https://news.ycombinator.com/item?id=10290637 (2 comments, 2015) - https://news.ycombinator.com/item?id=20564970 https://news.ycombinator.com/item?id=20564970 (1 comment, 2019)
- toomuchtodo 7y agoMeta: I really wish HN had some way to automatically aggregate and display this data when a link was previously posted, so you had some sort of temporal representation of the various thread discussions that took place, adding a "+" expander and drop down to "past". I'm aware "past" takes you to HN search results for the link, so it's mostly good enough, I'm just throwing a wish into the ether :)
- jameshart 7y agoThere’s a trap in software dev careers. If you fall into it, you can really get stuck post 40. If you work at a small-ish dev organization - especially in-house dev in a non-tech company - you can rise pretty far and become pretty senior, and your indispensability can net you a decent income. But on the open job market those skills don’t transfer as well. The senior roles in small dev shops are filled by promoting from within (because they value in house knowledge), and the senior roles in BIG dev shops are filled by hiring people who know how to operate in a big company, and you don’t have those skills. Best way to avoid the trap is, try to work somewhere big for a bit before you get to 40, to keep that door open and make it possible to be hired into a senior role.
- poteznykrolik 7y ago^ This became apparent as I looked at older "role model" employees in big orgs when i was still very junior when I'd wash up there after startups crap out
- pmiller2 7y ago> ...senior roles in BIG dev shops are filled by hiring people who know how to operate in a big company, and you don’t have those skills. I'm not convinced of that. I was recently hired as a senior engineer at a large tech company that has more engineers than the sum total number of employees at every other company I worked at previously. My skills transferred just fine.
- gcatalfamo 7y agoI'm sure of that, but the problem is not when on the job, but while interviewing.
- nicoburns 7y agoI reckon it's possible to acquire most of those skills at small companies. It just really depends on the small company. It's also easy to get stuck in a deadend of specialised practices at a small company if you're not careful, and those people will struggle to get jobs later.
- JustSomeNobody 7y agoPlan B: Stay a developer but don't do it in the narrow-minded valley. Work in industries that favor maturity and stay gainfully employed doing what I love.
- sremani 7y agoThere are many domains esp. Finance where you move up or move out. Programming also tends to be one of them. Scott Adams wonderfully says develop a talent stack, Programming is just one of them. Add Math, Sales, Communication, Leadership etc. Become a triple threat! Being above 80 percentile of 3 skills put you at a unique place. Many people here have the mental mechanics for it. This one thing is true, I resisted.. learning is a life long thing! after 5-10 years of graduation your credentials do not mean one damn thing (with some exceptions).
- alexpotato 7y ago100% agree and can give a real world personal example. The combination of above average ability: - as a python programmer - to read and understand other people's code (mostly by being methodical with unit tests etc) - to document processes clearly - write clear emails - find "stupid" processes and eliminate or streamline them All of the above combined have taken me from senior engineer to about to manage a team of multiple engineers.
- C4stor 7y agoI'm not sure I'm buying that. The JVM ? Still rocking it 20 years after. Memory allocations pattern ? Still there. The network stack ? Well, doesn't seem to have changed a lot. The older guys, they seem like they had the time to correctly learn the unix network tools, the jvm debugging ones, the memory inspection ones. I've known older devs for which I have the utmost respect because I felt like they can just debug the shit out of anything happening on a computer, with tools I don't even know of but have been there for decades. And here I am, needing to google how use tcpdump or jstack, and scrambling to correctly understand the result. I agree that new tech is always stacking, but I feel like it's pretty damn hard to catch up on the in fact still very relevant and important old one, because it's no longer taught, no longer a meetup topic, no longer hype. And the new one is really easy to learn when you realize that it's 90% rehashing of old concepts (Observables are all the hype in javascript ? Well, great, I've learnt that pattern 15 years ago...) Admittedly, I have no clue if the management realizes that ! But the impact of this knowledge, from what I observed, is really huge on productivity, and is especially a boon when the production is on fire or generally when tricky stuff happens. So, respect for the elders, and please come and teach in conferences and meetups, we need more wisdom and less hype !
- banachtarski 7y agoWell, TCP is a hot mess that should and will be phased out in favor of more congestion friendly protocols.
- option_greek 7y agoWe barely could get IPV6 to get adopted. Replacing the whole TCP ? Most probably not. The successor to TCP if it ever gets adopted, will look more like TCP than a new protocol.
- g00s3_caLL_x2 7y agoAgreed. Entire industries are based off the distinction of the stack and it's interoperability(sp?).
- 7y ago
- IshKebab 7y agoI think this must be a US thing. There are plenty of older programmers in my current job. Probably helps that it is C++ and not something like Typescript, but still.
- jki275 7y agoC++ is a skill that is in demand in the US as well, and age doesn't matter a bit, especially as many of the younger crowd can't or won't learn it.
- triceratops 7y ago> as many of the younger crowd can't or won't learn it. Or don't need to learn it. Web dev jobs are more plentiful than C++ jobs and need different skills.
- jki275 7y agoMaybe. Writing good software is a skill that isn't particularly language dependent. Most web devs don't. A true polyglot is always going to be more valuable than someone who can only write websites.
- triceratops 7y agoYou're assuming that "write websites" is the only thing a web developer does. Running web services at scale requires polyglots who understand multiple tech stacks as well as distributed computing, databases, networking, and operating systems.
- jknoepfler 7y agoI don't know. I feel like there's a pretty clear power law governing the skill-ceiling below which additional experience adds actual value to dev work. ~80% of programming labor (testing, basic REST services, static web content, managing a small-to-medium-size SQL database, etc.) has a very low skill-ceiling. I've been in the industry for 7 years, I now run my own show doing all of these things. It's just simple grunt work. Then there's a very long tail of projects that require actual software engineering, where the skill ceiling is very, very high. Those latter positions exist all over the place, but you have to either create them or actively seek them out. Conversely the skill-ceiling on managing technical projects is incredibly high. So although one certainly can efficiently stay on as an engineer, there is a much larger pool of opportunities in technical management, and they are much easier to find if you're grinding away at a FANG / enterprise company / growing startup / whatever. If you want to do work that rewards many years of experience, it's there. Management work is just much more likely to fall into your lap (which, let's face it, is how the median employee finds anything). For additional context, I also don't really think "programmer" is a profession in a vacuum. You need to level up inside a business vertical to really start adding specialized value, otherwise yes, you're a fungible cog. There's no shame in that, it just is what it is.
- spraak 7y ago> grinding away at a FANG I've started to propose we s/FANG/Big N/g "FANG" leaves off other obvious big companies, e.g. Uber, and it wouldn't scale to keep trying to add them to the acronym. Here N is used like when one talks about a list "N items long"
- jknoepfler 7y agoI agree, I guess I just meant "enterprise" - the purpose of including FANG was to call out that there's nothing particularly distinguished about working for those companies, the workloads are very similar to ABC enterprise workloads these days.
- codernyc16 7y agoNOFANG?
- mothsonasloth 7y agoThe article uses Ruby on Rails as an argument from 2009, saying the 10 years of C++ development is no longer relevant. Apart from that statement not really ageing well, it doesn't really make sense as there will always be a consistent demand for C++ for embedded etc., likewise Java for enterprise, as they are mature and proven technologies in instutitions. Just as there is an established market for RoR with companies that adopted it early on.
- wpietri 7y agoI think you're making the author's point. Java at this point is the new COBOL. C++ has gone from important mainstream language to narrow niche. Ruby on Rails is on the same declining curve, just not as far along; much of the excitement has shifted to Node, React etc. Demand for old languages isn't consistent. It declines over time as code bases get replaced. A programmer betting that they will die before their chosen language does is taking some terrible risks.
- rightbyte 7y agoI would say both Java and C++ still are important mainstream languages.
- wpietri 7y agoYou can say it, but I'm not sure why you'd think it's true. As I mention elsewhere in this thread, Java is mainly being written in contexts where they already have a lot of Java. And C++ has been declining for years. I'm not even sure you can write C++ for the common mobile platforms. I very rarely see it used in new server-side code bases. Or even old ones these days. It was a popular language for Windows apps, but that's a declining market these days. 5 years ago, C++ was already not getting taught much in schools [1], and surely that hasn't changed. [1] https://cacm.acm.org/blogs/blog-cacm/176450-python-is-now-the-most-popular-introductory-teaching-language-at-top-u-s-universities/fulltext https://cacm.acm.org/blogs/blog-cacm/176450-python-is-now-th...
- mattmanser 7y ago
- pablogomez 7y agoFuture is uncertain.
- fastbeef 7y agoThe solution to this problem is as simple as it is revolting to programmers - realize that programming is a low-value task. The high-value task is solving business problems, if it happens so that programming is the easiest path then go for it. The real value to the business however, lies in domain expertise - something programmers are forced to become in order to be able to write code for it. The trick is to find a domain that stable, fairly interesting and has enough companies so that you can jump around. I myself chose occupational pension insurance (kinda-sorta 401k but in EU) and spent the last year or so explaining fairly easy edge cases to top brass.
- bontaq 7y agoWhat a statement, programming can be low value (not solving a business problem) or high value (solving a business problem).
- celticmusic 7y agoIt's one of those statements that doesn't actually have to be said since everyone implicitly understands (because it's not unique to programming), but that someone feels the need to say because it makes them feel insightful. related: bikeshedding.
- lioeters 7y agoWell, the topic here being the employability of programmers over 40, the statement seems fairly spot on as to how they will be judged - purely based on "business value". [Business Value of Information Technology](https://en.wikipedia.org/wiki/Business_value#Business_Value_of_Information_Technology https://en.wikipedia.org/wiki/Business_value#Business_Value_...) On the hand, programming (at least to me) is so much more. It's a creative activity like thinking or writing, it can be fun and "pointless" play, it can be insightful philosophically. Bringing productivity and efficiency to a business is one of the many applications of this medium of expression. I suppose by this point it's become a way of life, whether I'm solving a business problem or not.
- tempsy 7y agoThe strangeness of Silicon Valley right now is that if you're lucky you can "retire" long before 40. I'm 31 and have through a bit of luck accrued a small 7-figure net worth. I don't plan on being a "rank and file" employee by 33, let alone 40.
- kudokatz 7y ago> The strangeness of Silicon Valley right now is that if you're lucky you can "retire" long before 40. The entire Financial Independence (FI) movement is all about doing this everywhere (not just the valley) and without luck aside from household income around $45,000/yr in the US.
- madengr 7y agoYou need 8 figures to retire. $30k/year (poverty level) over 30 years is only $1M.
- aswanson 7y agoYou're assuming zero real interest investment growth over 30 years. I totally agree with stacking as much as humanly possible, but that's not a realistic assumption, unless we have worldwide zero economic growth for a third of a century.
- tempsy 7y agoNah. Need to factor in investment income. Plus modern retirement isn’t necessarily “never work a job again.” It’s more a freedom to do what you want (income generating or not) without having to take a job simply to cover your cost of living and retirement savings.
- austincheney 7y agoIs age discrimination a thing in hiring because: A: old developers cost too much? B: young developers are insecure or incompatible with old people? C: old developers only work in old technology? D: other?
- Nasrudith 7y agoI think E - because HR has vapor for brains. I know from my own job hunt experience I was largely ignored by many for lacking experience yet after I got the magical peak number I got call spammed for short term positions. And that looks sensible compared to the absolute madness of refusing to hire people for being unemployed that was more common in the great recession.
- mighty_bander 7y agoYes. But mostly B in my experience. I went from being the spry youngster (mid-30s) at one company to being the old veteran at a startup, so this is a subject that is often on my mind. I have definitely seen things like the young people saying some piece of knowledge I have is "obsolete" because they think, for example, that ORMs are a bold new concept that will invalidate the need for databases, just like they were 15 years ago. Especially in node, which trends young, there's a lot of reinventing the wheel, mostly due to a lack of awareness of older tools, although also because of contempt for anything older than 12 months. I think another side of this is that the old folks are always telling the younger programmers "no." We've seen all the pitfalls, usually because we ignored our elders when we were spry, and we don't want younger programmers to make the same mistakes. What this comes out to is a lot of "do it my way," and then a bunch of predictions of doom that may befall you a year down the road. Nobody wants to hear that.
- deleted 7y ago[deleted]
- S_A_P 7y agoI probably felt this way 10 years ago when I was in my early 30s and this article was written. Now that the time has caught up with me and Im in my 40s and still slinging code? Im doing technical consulting now and have had the best 3 fiscal years of my life, with an upward trend. Getting out now would be foolish...
- azhenley 7y agoA professor once told me that I shouldn't become a software engineer because my cognitive abilities will decline with age, thus making it difficult to keep a job :( I'm at Microsoft now and see plenty of older engineers that have very, very valuable experience and skills. This myth is dumb.
- monster_group 7y agoSeems like your professor was also saying that he chose to be a professor so that he can stay employed when his cognitive abilities decline.
- pmiller2 7y agoIt is one of the few jobs in the world that offers actual lifetime employment, so you could be right.
- JoeAltmaier 7y agoDon't give in to the dark side (management)! I became my own boss, and specialize in projects where my expertise is still valuable. With the dwindling supply of engineers still working in these spaces, contracts are pretty easy to find. As time goes on and the space becomes sparser, my rate goes up.
- g00s3_caLL_x2 7y agoI saw an interesting article recently that I unfortunately did not save. Paraphrasing: "When things are good, a company likes young people. When things are bad, they want to see gray hairs running the show".
- ausjke 7y agoIt really depends on how you manage your career, I for one plan to work to 70s by coding, just love doing that. My theorem is that, many professors are still doing researching and teaching PhD students in their 60s/70s, software developers is no different, unless you give up learning yourself. Anyway just want to say, if you really like being a programmer, no need for Plan B at 40, just keep learning and coding like a 'professor'
- arminiusreturns 7y agoThis doubly goes for ops guys (who used to be called sysadmins but now are all kinds of fad of the moment names, I still like sysadmin but I notice many devs and CS tend to look down on it... but I digress) IAC and other newer tech has largely shifted the perception about sysamin'ing and has caused a huge swath of people who haven't been keeping up to have to turn to plan B. Even when you see a Linux admin or engineer pos they often really mean SRE or something else.
- deleted 7y ago[deleted]
- blablabla123 7y agoThe problem is, when everybody thinks like this, it stays like this. With rising age People tend to change into people jobs if they can because somehow the air gets thinner as there are not that many advanced software jobs - although there certainly are a lot and even more places that do appreciate advanced abilities. On the other hand a lot of skills/experiences are transferable. E.g. some weird DB connection keep alive bug might be analogue to debug on C++, node.js and Rust. Developers with not enough experience might give up, change DBMS, refactor the whole DB layer (hoping it's MVC'ish) or even give up on the project if it's not an important one. Also most new tech builds on the learnings of the old tech and discards outdated patterns that were possible with the existing stacks, but advanced users might have stopped using those anyways. For example Java has no multiple (class) inheritance in contrast to the much older C++.
- maximente 7y agosite is blocked outside the US - try a VPN if it's timing out for you
- deleted 7y ago[deleted]
- seanvk 7y agoI'm 51, an electrical engineer who has migrated over time from ASIC design, to board design, to ASIC validation, to embedded software development, to team lead, development manager, back to IC as architect and enventually principal engineer for media, real-time software development. You shape your career. You make it happen. Find what you like, and go for it.
- WhitneyLand 7y ago>the software engineer depreciates only slightly more slowly than the machine he or she toils behind The author takes a debilitating credibility hit with this statement. A computer can be worthless after 5 years. So an engineer is what, worthless after 6 years? He also chases this experience paradox too far. When I (and believe it or not more than a few others) hire someone or negotiate pay I assign zero value to years of experience. If being a seasoned veteran has any value, I want to discover it in relevant interviews through conversation, problem solving, wisdom, etc. I could make a mistake and not see it but I'm not paying more because of a number. Same with a recent graduate, there's quite a bit of variation in maturity, communication skills (yes a fine weapon for an engineer to wield), and ability. Some 22 year olds having been coding since they were 12 years old. If all this seems to manifest value during the process, why would I possibly not pay this person more the than the standard "new graduate" scale and risk losing them to a competitor? I realize not all will think this way and yes, some of the things written do happen but the tone is too alarmist. It's just something that can be unfair and a challenge but it's not insurmountable. It's not like being black in Alabama in 1950. One thing older engineers should do is the same thing younger ones should. Don't just naively learn tech that's interesting. "Interesting" is important because it can grant effortless motivation and passion. But at least research and sort rigorously the salary differences for 20 different things along with variables like generalist vs specialist company size etc. Then choose whatever the heck you want, because you've made a conscious decision about your preference to balance interest vs money and choose to make 75k or 250k a year in a state that doesn't have to be on a coastline. You can even try to put a less enlightened interviewer at ease by being honest. You could tell them you can't be demotivated even if you did take a salary cut, because you don't build your identity on that because it's not about me. It's about how much market value I can deliver via tangible and measurable results. It's about whether I can actually help the company reach goals faster, add productivity and help the company be more successful. And if can convince you such objective things are likely after our interview, I believe they should be the most decisive criteria for your decision. Here's some random 81 year guy. probably all washed up no doubt. Would you be willing to give him a shot to help you out on some algorithms? For some reason I just feel after speaking with him it wouldn't seem like much of a risk. https://en.wikipedia.org/wiki/Donald_Knuth https://en.wikipedia.org/wiki/Donald_Knuth
- zerr 7y agoBtw, by 40, shouldn't most of us be able to retire if desired?
- pmiller2 7y agoYou assume “we” all start at 25.
- saltcured 7y agoThat is the basis of the assumption of 40 as a boundary as well, isn't it? I don't think most people really believe there is some biological limit of 40 for programming, but more an apparent shelf-life for your run of the mill programming career. This all strikes me as a specific case of the more general character of any ~20 year or "generational" endeavor. You experience phases of intellectual and social stimulation, and your response is probably somewhat stereotyped as a normally functioning human. I think it is a bit more acute if you are also doing this in a cohort with many of your peers in the same phase at the same time. Things like the "hype cycle" are observations about these effects in a population or market as a whole, but are rooted in the similar experience of the individual participant. So, I might rephrase it as: you should give some thought to subsequent phases of your life, and not expect this one to go on indefinitely. There will be changes. The only choice is whether you attempt to steer the changes and/or mitigate the challenges that might be beyond your control...
- pmiller2 7y agoYou don’t seem to understand how ageism works. The limit is “you look old,” whether that’s in person, or because you have 20 years of work experience on your resume. Think “overqualified,” or “not a culture fit.” It isn’t rational like you seem to think. If I were 40 and thought I could have a 15 year career in software, I wouldn’t be worried, either.
- saltcured 7y agoYou might be right. I am ~45 years old and have been doing R&D programming for about ~25 years. I have known strong performers of all ages, and seen attrition happen at all ages as well. I did go through some FANG type interviewing about 10 years ago, ending without an offer. I don't think they rejected me for being ~35, but I imagine they may have decided there wasn't a "cultural fit". There was something a little Lord of the Flies about the experience, which I might have grossly summarized at the time as having been interviewed by a bunch of little kids. I didn't resent this, so much as think I had dodged a bullet.
- angarg12 7y agoRecently I found a relatively cheap goat farm for sale back on my home country. That would be my plan B. Forget consulting, forget management, my plan B is taking everything I know about automation, optimisation and continuous learning, and apply it to a completely different domain.
- CommieBobDole 7y agoThis sounds dramatic and dire but I feel like the reason for the statistic is that by the 20 year mark in someone's career, if they're working for a big corporation, they've likely been promoted to management if they have any social skills at all. Not because they can't program anymore, but because corporations try to promote people to management if they've been around a while and haven't screwed up, and they tend to pay them more if they accept.
- lifeisstillgood 7y agoFirstly I am a proponent of the idea of software as a new form of literacy - it is eating the world and as such if you are literate you run rings round the illiterate - no matter what your age. But companies are pyramids - and some roles (like sales) mean their value to the company can be measured on an individual basis. But most roles cannot - and the further away from the customer you are the more it is true As such the only metric available is "number of people reporting to you" It would be nice to find some other metric - there may not be one. As such the push away from coding into management is inexorable. if we look at highly literate companies (say Washington Post) then the managing editor spends most time not writing but managing (with some reading involved) to;dr - we have two antagonistic forces - being software literate is for now a force multiplier so why would you not keep doing it? But most organisations can only measure management ladders - so if you want pay or security you climb. Perhaps the book "Developer Hegemony" offers some answers?
- daotoad 7y agoThis is why you need to have Senior and Principal engineering roles. As a programmer or operations engineer you should be able to choose between a management or engineering track for advancement. The managers work as an interface between the management hierarchy and the individual contributors. The top engineers work across teams to steer technical solutions and provide cross team focus and continuity. Your principal engineers are charged with breaking down the silos and sharing and setting technical standards and encouraging the reuse of existing services and systems. Tech managers and team leads don't have time to do the technical leadership and work properly with business. Workplaces without this structure invariably fail to have well articulated, cross team technical decision making capabilities. Everything winds up fragmented and reimplemented.
- lifeisstillgood 7y ago>> interface between the management hierarchy >> don't have time that's your problem right there
- adamredwoods 7y agoI used to work in advertising as a graphic designer. Age discrimination is rampant there, I would suspect more so than software development in some ways. Therefore, software development is my plan B. I have a friend who is older than I, and he's specialized in SQL. He only does SQL, and he's still finding jobs. If I needed a plan C, it would be taking up legacy code base that seems to never disappear.
- zackmorris 7y agoOk I'll bite. I had the realization yesterday that I peaked at 25 (I'm 42). I got my computer engineering degree in 1999 and used to do things like really complicated integrations in calculus, and solve weird 3D intersection formulas for different variables to do change of coordinates on various surfaces for rasterizing before wolframalpha.com was a thing. I look at my invention lists from 20 years ago and they were pretty far out man. Like, they expected a future where maybe we had real multiprocessing with FPGAs or something instead of proprietary video cards. But now, I can barely install a new software stack without this primal sense of exhaustion. I can't explain it, but it feels like everything is just.. wrong somehow. Or a little off. Like maybe the profit motive and disruption became the primary motivators instead of progress and scientific discovery. It's to the point where I could probably write my own programming language more easily than learn the various idiosyncrasies/dealbreakers/errata of whatever industry standard language I'm supposed to use. I find major problems with most any framework in the first 5 minutes, and then spend most of my time after that figuring out how to use tricks with inheritance or pointing the package manager to a forked version of the repo with fixes so that I can extend the framework to do very first principles kind of things. I think what it comes down to, is that I see programming as this giant spreadsheet where data reacts to other data changing, constraints get satisfied or exceptional situations happen. But unfortunately, the most overly hyped languages (like Ruby for example, or Java, not to pick on them) seem to go out of their way to block the developer from staying in a functional paradigm. Almost every codebase I've seen has descended into spaghetti code hell. And unfortunately, that nebulous ball of cruft is where the money is in software development. I've spent the last 20 years knee deep in code so ugly (from assembly code up through SQL) that I feel like a plumber who sees code as.. sewage. There is just so much code, filling every crack where declarative and data-driven solutions would accomplish the exact same thing but with no side effects. But new devs don't seem to care to learn where I'm coming from or why my code might be better in fundamental ways even though it looks a little strange to them. Sometimes in a conversation I'll see myself and think "wow, I really do resemble a crazy person". I just feel too old to begin the training, but too young to be this burned out. I fantasize often about giving up all worldly possessions and moving to an artist compound in the woods. I worry I've just reached the point where I'm a fish trying to ride a bicycle but I don't know of an ecosystem that would value my natural and hard-earned talents for making the world a better place. There's just an endless stream of soul-sucking contracts, each more punishing than the one before. All of the money is tied up in the establishment now. No room for creative daydreaming along implausible trains of thought in the universe of possibilities. Just the grind. Always the grind. If I'm depressed then it's environmental, and I feel stuck with it because I can't change the world. But that's why I learned to code in the first place 30 years ago. So now what? I guess I'm just curious if any older devs here have reached similar conclusions. And like, were you able to rise above it? Were you lucky enough to start 5 years earlier than me and capitalize on the booms to the point where you're independently wealthy now? Or is that a widespread fallacy, that "if I was just a little older" maybe I could have ridden a bubble? Or do you fantasize about being 20 years younger, starting in the world today where you have access to all the secrets of entrepreneurship online and still have a beginner's optimism? I think the gist of my melancholy is that I have a knack for solving very difficult problems handily (nobody seems to need that skill anymore) but my short game stinks and I struggle to summon the motivation to do the mundane things (that are in demand). I'm tired of learning new languages and frameworks because they are each terrible in their own way but collectively the software engineering industry can't see the flaws so they inevitably remain. Sorry this was a bit of an overshare but hey it's Friday.
- maerF0x0 7y agoWe should have a HN thread "Who's hiring over 40?" or maybe a tag like "VISA" maybee "Geezers" ?
- deleted 7y ago[deleted]
- nibblerbro 7y agoMy plan B is literally bomb a mosque and the kill myself
- waynecochran 7y agoThat's why I told my students when I was a professor -- don't become a "programmer" become a "computer scientist." Could Alan Turing get a job if he was still alive?
- theflyinghorse 7y agoDepends, what's his experience with Kubernetes, go, and graphql?
- pjungwir 7y agoI'm 42 and still coding. I have a lot of rambly thoughts. . . . I love programming and don't want to go into management, but it becomes really hard to keep upping your salary after the first 5-8 years or so. (And isn't it silly how many job ads for "senior engineers" ask for 3-5 years of experience?) I could join a FAANG but I don't really want to. You do keep getting better, even when you keep changing the tech. It feels almost unfair that I started on the web in the early 90s (and was coding long before that) so I got to progress along with today's complexity, starting with early HTML, CGIs, debugging HTTP & SMTP with telnet, supporting IE 5 Javascript & CSS, building websites with Perl & Python run from an in-house app server we built in C, on & on. You can go way down the stack and debug things quickly. You know all the junction points to do a binary search on where a bug is happening. Your intuition is well-honed. You have lots of perspective and good judgment. You get better at seeing the big picture, including crossing from the tech stuff to the business. Back around 2005 I started doing freelance development ("and consulting"), and that has been a great path for me. I earn more, I work from home, I don't live in the Bay Area, I get more responsibility and respect and variety and control. I've neglected to follow most of the patio11 and tptacek best practices, at least most of the time, but I'm still happy with how I'm doing. I've raised my rates a lot, and should probably raise them again. (At the moment I have four customers who all wish I'd give them 40+ hrs/wk. . . .) I'd like to experiment with value consulting. I'm much better at estimating than other devs will admit to. My Plan A has been to start my own dev partnership, although it's been hard to find the right people to get it off the ground. I really like Managing the Professional Service Firm by David Maister, and I think the partner/associates model has great potential for making programming viable as a life-long career. I haven't tried hiring any people (full time or as contractors), except occasionally designers. Maybe I will soon but then you bill less yourself, you have to sell more, you have to manage them and their work, and of course you have to find people willing to charge less than you. (Tech is obviously supply-constrained right now, so getting good workers at a low cost is the #1 competitive advantage. Like everyone else, I believe I can recognize good developers when I meet them, but I don't really have any great process or insights to make that part of a business plan.) The longer you do it the more T-shaped you become. Eventually your T has more than one vertical line. :-) But still you kind of have to pick one focus to advertise, if only for credibility reasons. I say my specialties are Rails, relational databases, and devops. But then I also do lots of Python, Angular, and React, and I'm happy doing Java or C, even Android & iOS. Right now I'm almost full-time with C#. :-/ I've enjoyed finding researchy outlets for my spare time. In my case it's temporal databases, but there are so many other cool things happening. I wish I had forty lifetimes to explore them all. I'm glad I've fended off management so far. I've still had to learn lots about sales, finances, project management, contracts, collaborating, leadership, etc. I already spend plenty of time in Jira, customer meetings, and code reviews. Probably ageism matters less when you're independent. For one thing there are no 8-hour on-site interviews (even though you cost more!). Anyway, I'm 42 and coding all day, and I'm very happy. I feel totally lucky to be in this career. I feel tremendous gratitude to our community. HN, Open Source, Linux, bloggers, O'Reilly, Stack Overflow, tech meetups, tech companies, friends & colleagues: all have given me so much.
- rossdavidh 7y agoI started working as a programmer, and for all practical purposes started programming, at age 37. I'm over 50 now. The vast majority of my professional career has been spent in violation of this article's thesis. https://www.rosshartshorn.net/RossHartshornResume.pdf https://www.rosshartshorn.net/RossHartshornResume.pdf A better take on it would be, "don't expect to be able to avoid learning new stuff every few years, just like younger devs".
- blub 7y agoI love learning new stuff that builds on what I know and increases my understanding of the world, but this is not what's usually happening in SW, where it's common to have to learn a different version of the old stuff because the market shifted.
- dudul 7y agoFirst rule: Don't call yourself a "programmer". https://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer https://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-pr... I read this post a few years after it was published. I was lucky to read it early enough in my career. It was eye opening.
- tempsolution 7y agoThe article is a bit ironic. It apparently talks about people who don't learn and don't change but suggests to them to just go and "find a new profession"... A new grad, compared to a 10 year veteran :D. Yes sure, it levels the playing field, totally. As if language and frameworks would mean anything. I don't even want to know what kind of "veterans" would compare to a new grad. If you are worth anything at what you are doing, you would kick any smaller team of new grads out of the park, even when working alone, in a language you don't know and with a framework you don't know. New grads essentially know nothing about software engineering, nada... It's baffling to me how any company would think otherwise. Perhaps they should review their hiring policies then.
- bluewavescrash 7y agoHaha, I'll take Management if it comes down to that.
- bobloblaw45 7y agoSo I'm guessing if you're approaching 40 and want to become a developer you should seriously consider other options. I've actually seen this talked about a lot. The arguments against it is usually anecdotal but the arguments for it is usually statistical. It's a tough thing for people to accept I think. Is there any statistics out there that actually disputes this claim? Not arguing for or against it just out of curiosity.
- gonza 7y agoWhy just not to enjoy the moment we're living right now, and trying to appreciate it every second, gratefully accepting the decisions of the fortune and trying to do what we like!
- brbrodude 7y agoSo you mean not working at all?
- pelemele 7y agoThe current generation of 50+ years old developers came from a way smaller pool of developers when they all started 30+ years ago and that's the reason that only a minuscule of them still codes. The percentage of current younger developers still coding in their 50% will be more closer to other engineering fields based on amount of developers entering the field every year last 20 years (even considering how many will simply abandon doing development once hitting 30 or 40) - not everybody will become managers or start their own businesses.
- cleandreams 7y agoAt forty I was just getting started. I'm 63 and I have done lots of super hard projects and I keep learning more and I have advanced up the tech ladder. And, the problems are harder than ever. For me the key is going after the hardest problems because that is what I like the most. Think system software, compilers, AI. It just seems to have been a good career move though that was never my intention. I've worked in areas of the software field that are thought of as difficult, and that has helped me.
- brucehoult 7y agoYup. I moved into compilers and related things by starting to contribute to an open source compiler project in 1999 when I was 36 and got my first full-time compiler job when I was 43. Now I'm 56 and in the last couple of years started moving into designing new CPU instructions as well as the software to use them.
- haolez 7y agoI enjoyed this article. The three main "plan B"s are: - be an entrepreneur - be a manager - be a legacy tech wizard It oversimplifies some points, but this is generally good advice and I can't think of any other plan B rather than those 3.
- WaitWaitWha 7y agoI want to say thank you for all the "youngsters'" posts. As someone who been in the industry for over four decades, I do get lost in some of the newfangled things. Turns out, most of the time it is a language change, not a dramatic world-view change. Of the three points of the article, the last two (10 years major shift, ; shift creates leveling playing field) I disagree with. I have seen some things that felt like major shifts, but once under the hood, they tend to be re-shaping and combining existing technologies. This often put me ahead of new-comers. I had not only the current technology, but I also understood the underlying historical technology. There is no such thing as "irrelevant experience" in my opinion. For example - it is unlikely that Algol, SNOBOL or Fortan will make a new revival. But, all that experience gave me the edge to be able to recognize short-comings or advantages of newer programming languages. So thanks for all the nice words here. It's time for me to swap my tapes in my PDP.
- cryptozeus 7y agoWould like to recommend startup of you book by Reid Hoffman. Here is the summary page https://www.thestartupofyou.com/summary/ https://www.thestartupofyou.com/summary/
- markbnj 7y agoSoftware engineers don't depreciate as they get older. Software engineers who stop learning depreciate whenever, at any age. I'm 58 and I've seen it over and over again: the people who find it hardest to stay employed are the ones who are least eager to grapple with new ideas and approaches. It's so easy to grow comfortable with that thing you're already good at (I'm a Powerbuilder developer and everyone needs Powerbuilder developers!). I don't know, do people think engineers in other disciplines just get to stop learning and cruise through the last twenty years of their careers? I'm not one, so I can't say, but I would guess civil engineers and mechanical engineers and aeronautical engineers and chemical engineers all have, like, disciplines they have to keep up with :). I know our family doctor isn't working with 20 year-old ideas and tools either.
- deleted 7y ago[deleted]
- Kenji 7y agoFrankly, I think this is a bunch of complete nonsense. Skilled, intelligent greybeards are worth a lot because those decades worth of knowledge transform directly into superior architecture, tooling and code cleanliness. I think the problem is that the enthusiasm of most devs that are 40+ is dead and they're unwilling to learn new things. Obviously such an employee is worthless. But it has nothing to do with age, it has to do with will to learn. The two seem to be correlated but if you hire a 50 year old guy with the drive and the will to learn, you lucked out big time.
- patientplatypus 7y agoFear is the mind killer
- brucehoult 7y agoWalk without rhythm and you won't attract the worm.
- vfc1 7y agoI think the entrepreneurial route is the most realistic route in the long term. The idea is to use your experience and knowledge to build a software product that a niche market needs, and sell it. If you live outside the main city centers like Silicon Valley, New York, Los Angeles etc. its not hard to make a full-time income online. A key thing to understand is that, as an employee working for someone else, your revenue will always be capped to the rate associated to the job market of that profession. There might be a 10% difference between jobs, but that's it. While if working as an entrepreneur, your revenue cap is the one of the market you are on, whatever that is.
- cheeky78 7y agoI completely agree with this. I'm nearing 40 and have been consulting remotely for the past 5 years and have a side business, that will eventually be my full-time income. The problem is that it's impossible to rely on any one company until you retire. Although I've been keeping my skills updated to the latest technology and trends, if I suddenly lose my job at 50, it's going to be really tough to find another one.
- bishnu 7y agoAll these commenters with heartwarming anecdotes about older programmers need to familiarize themselves with the concept of survivorship bias.
- steelframe 7y agoMaybe some folks here will find my perspective informative, speaking as someone who made the transition from individual contributor to engineering manager around the age of 40. I've worked at big companies since I graduated college. As a software engineer, I remained hyper-focused on specializing in pretty much one specific thing. I've never considered myself particularly brilliant in comparison with some of my peers, but the thing I chose to specialize in just so happened to become super-important to the technology sector about five to seven years ago. I was in the right place at the right time. I cleared my calendar for about half a year, shut out the world, and focused entirely on embodying all the expertise I had accumulated up until then into a new feature. Now the thing I created is a critical feature in the phone you probably have in your pocket right now. As in, if I hadn't created the feature, it's very likely that a team would have been spun up in a company like Google or Samsung to create it instead. This catapulted me into a relatively senior position, and then I found that my hyper-specialization couldn't keep me competitive among my more capable and more generalist individual contributor peers. I got to my position by pulling a rabbit out of a hat at a critical point in time, and then I (proverbially) got promoted to my level of incompetence. I can't possibly keep delivering the same super-high impact on a continual basis. Shortly after I got promoted, my organization started to grow very quickly. Upper management was scrambling to build levels of hierarchy to absorb the growth, and they pretty much pushed me into managing a team in addition to working on some of the residuals of the technology I had built. I soon realized that I didn't have the capacity to continue designing systems and writing code while effectively managing people at the same time. I felt that I had to make a choice: Either give up management and focus on individual contributor work, or make the switch entirely into management. Of course I had formed for myself a false dichotomy. I could always go into consulting, switch career ladders to sales or product management, or something else along those lines. But getting a taste, I was finding that I liked management. Politics started becoming less of a dirty word for me, and I felt fulfilled and useful when I successfully negotiated a mutually beneficial compromise among parties in the organization. I loved figuring out what my reports needed and helping them to achieve their goals. I loved that I could hack some code here and there and not worry at all about whether it ended up shipping in the near future, since my impact was not being evaluated by that metric any more. And so now, a little bit past 40, I am 100% an engineering manager. It's something that I just sort of grew into, but at the same time it feels sort of inevitable if I am to stay at my current company. At my level of seniority, upper management would only be happy with me going back to an individual contributor role if I were to pull more rabbits out of hats. I suppose I've accepted that those days are probably behind me, and I'm ready for the next set of challenges.
- bing111 7y agoI moved from Bay Area to LA about 7 years ago. In Bay Area, they treated software engineers like a king but here in LA, I worked at 3 companies so far and engineers aren't treated that well. LA is still very much old fashioned corporate style(unless you work for a Bay Area company who has an office in LA or somewhere like Snap). Managers get the respect and micromanage engineers. One engineering manager in a big entertainment company in LA told me once - "oh engineers are just commodities." I sometimes miss the Bay Area vibe of engineers being treated like celebrities.
- shados 7y agoSoftware engineering is a field that evolves and you need to stay up to date. It's far from the only field like that. When you get out of school (or whatever path you took), you are knowledgeable about the current state of things. If you're an entry level engineer, chances are you'll have people teaching you what you don't know, mentoring you, and generally expect you to learn with them. Of course, as high as software salaries are these days, your expectations then are still lower than the older folks. Chances are you have less things to pay for outside of student loans in the US. As you get older, you can do 2 things: you can passively coast as long as you can, or you can actively keep yourself up to date. If you choose the later, your knowledge stays current and you keep adding experience, making you more and more valuable. Short of health issues getting in the way, that will never stop. You just keep getting better. If you passively coast though, what you know becomes less and less relevant. For the first couple of years, experience gain >> the part of your knowledge that is outdated, so you still go upward. There's a limit to that. That 35-40 yo line, assuming you started in your early to mid 20s, sound about right for when you lost more than you gained. And thus you're no longer worth the price of admission you're likely expecting to pay for your kids/mortgage/401k/whatever. And that's when things get rough. But if you play your cards right? There's no problem.
- ilaksh 7y agoPeople here hinting at outdated technologies are mentioning things like Fortran. I'm 41 and some of those things are technologies my dad used. So it seems that people are off by one of two generations. I went through phases with PHP, C#, SQL, and then many years mainly focused on JavaScript and Node. I did some Angular and a little React with recently C++ and Lua on the side. I built about 90% of a Docker orchestration system. The front end stuff I am most familiar with at this point is Vue. I have been looking into decentralized technologies in the last few years like IPFS and dat etc. It might be nice to have more experience with Kubernetes or Go, but the experience I do have is still relevant. And if I needed to pick that stuff up for a job I could learn it. But anyway I think that the idea that older developers don't have relevant skills is false.
- Merrill 7y agoSuppose that it is true that it takes 10,000 hours to become expert at software development, just like for other arts and skills. Then, if the half life of IT is 10 years, you have to accumulate 5,000 hours of new learning every 10 years. Consequently, you have to devote about 10 hours/week to learning new stuff in order to keep current. If you are lucky in managing your career much of this can be done on the job. Otherwise it must be done on your own time. It is the inability or unwillingness of software developers to devote this much time to continuing learning that accounts for their early obsolescence.
- dragonwriter 7y ago> Suppose that it is true that it takes 10,000 hours to become expert at software development, just like for other arts and skills. The 10,000 hour rule is just something Gladwell made up on the back of a study which found that people at a certain level in certain fields (classical violin and classical piano) averaged that much experience (EDIT: actually, deliberate practice), while people at lower levels averaged less. It isn't a threshold.
- rootusrootus 7y agoAlso, it isn't just 10000 hours of experience, it's 10000 hours of deliberate practice.
- hootbootscoot 7y agoThis entire concept is absurd. Technology doesn't follow some "natural" trajectory, but is political, like any other human activity.
- wolfspider 7y agoWell I’m already a few years into my plan B which became working for gov. This article assumes that government tech is static but it is changing rather quickly. I’m knocking on the door of 40 and regarded as one of the younger leads. My commute is a 6 minute walk home and the high quality projects sometimes get scheduled out for completion in between 3-6 months or even a year if it’s a big one. Medical care and family time for all devs is a huge priority for management. Lots of vacation time, amazing benefits, and employer matched savings (or pension if you go that route). I’ve worked for a startup before and for a big corp as well but feel more secure now. Also, there is a tech allowance fund for equipment for home use and if you want to take classes part time they pay for some of the tuition. They pay for training and events (room and board, food, transportation). I’ve nearly doubled my salary since I started. I also get to mentor recent grads at times one of whom just got a position with Mozilla. So there ya go- with all the negativity this topic invokes there CAN be a silver lining (just like silver hairs beginning to appear on my head). For the younger devs: whenever you get tired of the ‘culture fit’ shenanigans or feel like you are more playing a role like an actor than solving real problems you may find yourself in my shoes. Whenever you get tired of practically living with ‘the team’ knowing that your reward for good work is even more caffeine you may find yourself wanting to get off the tilt-a-whirl just like I did. That day may come where you actually want to have your own uninterrupted thoughts as you work— then it’s time for Plan B.
- arwhatever 7y agoTotally anecdotal, but I have long thought distribution of programmer skill becomes increasingly bimodal as they/we age, with them/us either becoming particularly skilled or particularly unskilled. Either the one language/framework/paradigm that the aging developer is locked into becomes ever more aged and irrelevant, or else if the programmer has made good use of their time and experience, becomes particularly skillful and insightful and valuable with time. I've known some amazingly sharp older developers, and I've also known some particularly poor ones. Just a theory.
- dougdonohoe 7y ago50 yrs old, just started a new job as a Sr. Software Engineer, and now learning go, kubernetes and google cloud platform. Been in management in the past, but grew tired of that route. I do find that my experience (C++ -> Java -> Scala) with healthy doses of (Ruby, Groovy, Python, Perl) is a good foundation to work from. This job is my plan B, and it's OK.
- jmartrican 7y agoPlan A was to get good at programming. Plan B was to get even better.
- WheelsAtLarge 7y agoThis type of article keeps on being posted in HW and immediately someone posts something about how it can't be true since he/she sees elder techs all over the place. They don't realize that they are seeing the Survivorship bias in full force. To all those that doubt the validity of the article, keep in mind that eventually, statistics will prove you wrong. Good Luck!
- anecdotalShit 7y agoGeetting into these threads is always depressingbsimce they're filled with people with 0npassion for programming but dragging on, hating their work
- gargalatas 7y agoMost graduates think they are programmers. Then they fail misserably. Just get over it: its very rare to become a good proframmer when you start coding at 20yo. Unfoetunately only nerds survive and only nerds drive the real technology.
- smsm42 7y ago> Software engineering reliably undergoes a major technology shift at least every 10 years. Maybe that was true in the 90s, but I don't think it is true anymore.