Career planningWhere do old devs go to?
We are pretty much always looking for new people, what is holding us back from expanding even more rapidly is the time that it takes to get to grips with our codebases and what we do here. But that also means that we usually have at least one outstanding job offer available, because it takes a long time to fill it. But that isn’t the topic for this post.
I started programming in school, I was around 14 / 15 at the time, and I picked up a copy of VB 3.0 and did some fairly unimpressive stuff with it. I count my time as a professional since around 1999 or so. That is the time when I started actually dedicating myself to learning programming as something beyond a hobby. That was 15 years ago.
When we started doing a lot of interviews, I noticed that we had the following pattern regarding developers’ availabilities:
That sort of made sense, some people got into software development for the money and left because it didn’t interest them. From the history of Hibernating Rhinos, one of our developers left and is now co-owner in a restaurant, another is a salesman for lasers and other lab stuff.
However, what doesn’t make sense is the ratio that I’m seeing. Where are the people who have been doing software development for decades?
Out of the hundreds of CVs that I have seen, there has been less than 10 that had people over the age of 40. I don’t recall anyone over the age of 50. Note that I’m somewhat biased to hire people with longer experience, because that often means that they don’t need to learn what goes under the hood, they already know.
In fact, looking at the salary tables, there actually isn’t a level of higher than 5 years. After that, you have a team leader position, and then you move into middle management, and then you are basically gone as a developer, I’m guessing.
What is the career path you have as a developer? And note that I’m explicitly throwing out management positions. It seems that those are very rare in our industry.
Microsoft has the notion of Distinguished Engineer and Technical Fellow, for people who actually have decades of experience. In my head, I have this image of a SWAT team that you throw at the hard problems .
Outside of very big companies, those seem to be very rare. And that is kind of sad.
In Hibernating Rhinos, we plan to actually have those kind of long career paths, but you’ll need to ask me in 10 – 20 years how that turned out to be.
More posts in "Career planning" series:
- (24 Jul 2015) The immortal choices aren't
- (22 Jul 2015) The age of least resistance
- (27 Oct 2014) Mine
- (23 Oct 2014) Disaster recovery
- (22 Oct 2014) What is your path?
- (20 Oct 2014) Where do old devs go to?
Comments
Uncle Bob has been talking about the same topic, and summed up some of it in a blog post: http://blog.cleancoder.com/uncle-bob/2014/06/20/MyLawn.html
Sommary: The number of programmers are doubling every 5 years. Many experienced people are still here, they're just vastly outnumbered by the newcomers.
In the UK at least, a lot become contractors since it's the only way to avoid becoming a manager whilst still obtaining a decent income and staying technical.
You could count my career since I left university in 1988, but it was a thin sandwich degree so I'd was working 6 month a year since 1984, and my first commercial project was at the local computer shop in 1982 - a pidgeon racing timer written in SharpBasic :-)
In the UK at least, it is partly down to a lack of salary increases beyond a certain experience level, and partly down to the lack of interesting jobs. Also salaries in the industry have stagnated anyway which doesn't help retention. The absolute salaries for all levels of experience are the same as when I left Uni 20 years ago, and that is a lot of inflation in between to eat away at that! For either reason, or both, a lot of people just don't seem to last in a pure dev role much beyond 40. Short-term contracting offers a bit more income (although not as much of a difference as it used to), but is usually deathly dull stuff that no one else wants to do.
Even a varied development job can get a bit samey after a few years, and it is quite rare that you get to input into the overall strategy of a company or project, so if you are all interested in an intellectual challenge you look elsewhere. Quite a lot of people I know have gone on to change career or do PhDs etc. Otherwise it seems to be the management route!
All that sound a bit negative, so in balance I'd suggest that recognition of experience in terms of giving more experienced developers mentoring, consulting, a voice in decision making (not just coding decisions!), or training aspects might help in retention (?). Some organisations do this, and in general their employee base is a little older.
I'm 46 and still programming and this point has been troubling me a lot recently. I know one programmer aged 55+ still working as an engineer. I was asking my wife about accounting, I assumed that it would be different. But it isn't. She didn't know anybody 55+ still working as an accountant. So, I don't think the problem is specific to programming. Where do the older workers go? I really don't know because, now I'm approaching my 50s I look at different workplaces trying to find the older workers and have to say that I can't find them. They seem to be invisible.
Also, you're not the only one biased against older devs. Pretty well everybody is. That's why there aren't many around. As an older dev, try turning up at a "hipster" language user group in your locale. The result will be very interesting and probably explains why older devs are a rarity.
Jack, I'm not biased against older devs. I'm biased toward older dev. More experience means better code.
You may be biased towards older devs Ayende but unfortunately it seems most managers do not think that way. As a dev you're generally stuck when it comes to being paid or when it comes to responsibilities and challenges. When you want to change either of those you have to move into a different field, become a freelancer or move into management. At least that's my experience over here in central Europe.
I'm still here and I'll be here forever. I'm 53 years old, I make programs since 1980 and I'll be doing software until I die. I don't like management, I like software development and IT.
These are very interesting questions... where are the old programmers? What are they doing right now?
Well, I'm not so old school, I'm 35 and used some COBOL, Clipper, and now I use Delphi, .NET and some mobile development with PhoneGap + Ionic framework. I live in Brazil, in a São Paulo inner country city. I work in a stable company - for the last 14 years - where, in practice, we (me and other 6) made it successful (because it started with 8 people and today this company is 100 employees). But we don't see in our path a management area job, even we do know all processes, from customers relations, software delivery, users training, users support to team management. It's because they prefer, here at least, get new people for that. Maybe, they're afraid of losing the software quality when moving us to some next position. When you face situation like mine, you start thinking about "work for yourself" things, like finding a market niche and, in some day, shout a "freedom", because you get tired of doing the same work over the years with no growing in the sight. Finding a new company isn't easy, because they wanna pay you not based on your experience, but an average value, lower then your actual income.... so, it's not easy... I believe that's why some experienced, good developers, change completely to something else business. I've tried, but with no success yet, to move to academic area, I've got an approved PhD project in Wales, but I could not get the scholarship for it....
I've been asking myself the same questions for a while. I'm 33, I'm a developer and I don't want to do anything else; I especially don't want to move into management. But in France (and apparently not just there), development is often considered a low level job; developers are viewed as a cost rather than a resource, so most companies don't hire developers with a long experience, because they're expensive. That makes it difficult to have a long career in development; if I want to keep being a developer, I'll probably have to move to another country, or work as a contractor. I hope that mentalities will change and that more companies will eventually recognize the value of an experienced developer...
1: In my opinion coding is a skill, its something you can teach anyone.
2: If you are good developer with the right mentor ship at the right time your real value will be in mentoring people and helping new ones with technical challenges
3: This means that sooner or later you will be brainwashed into being an Architect or a Junior manager...
Architect = see the big technical picture Manager = You are technically good but you need to learn people management
Unfortunately if you have been a developer too long, its gonna be hard life, it would indicate that you mixed hobby / passion with money making.
In corporation move up the ladders. As an independent contributor I would say apart from programming learn some new skill about domain or a challenging problem and use the skill to solve that problem... otherwise its really a tough world out there
new developer : cheaper > experience developer : expensive, in an extensively lean world.
*assumption : not everyone is looking for hot shot programmers AND not everyone is doing rocket science.
At 0x30 I'm one of the greybeards-to be and I think you ask the wrong question.
At an age approaching 50, I find that my friends and I have found places we like to be in life and we're generally fine and not that interested in all-nighters any more.
For one thing it would interfere with our bridge-club, dog-training, sailboat-tutoring and so on.
Because, you see, we have had kids for many years now, finally starting to get rid of them again actually, and through our kids we've been roped into all sorts of interesting activities.
We have also had our midlife crisis and we got the 8" telescope, boat, car, mountain-top pebble or whatever to prove it. We're now at the point of life where we try harder to throw stuff out of our house than to get more junk in there.
Some have gone into management, some have left IT, but most of us are sitting in a comfy corner, hacking away at code, just like we always did - and yes - we've become a whole lot better at it with time, so there's much less overtime now.
We are, in other words, a slightly younger version of your own dad: We tell you sagas of youthful exploits, but there ain't gonna be many new stories added to the library.
So asking where we are is the wrong question.
You should be asking what it would take for us to become fired up about your company?
For one thing, you'd have to be within commuting distance, because we're not going to uproot our family and ditch our real-estate investments for some random job anymore, in particular not now that the lawn and roses are finally starting to look nice.
Telecommuting is fine, but it wouldn't be the same for your company, would it ? You wouldn't have a genuine graybeard to berate and lecture all the young ones around the office.
And I doubt you can muster at set of "benefits" which can motivate us, what we'd probably like most of all would be to work fewer hours not more.
Startups is a young mans game, and in due time you'll see the first grey hairs in your mirror while you worry about college educations for your kids, root canals and the cardiovascular consequences from your monthly old-boys dinner.
If you then get an email from some young kid you've never heard about who wants you to join his company, all you can muster is problem a curt "no thanks" reply -- if you reply at all.
It's all down to this damn "older -> wiser" correlation.
Poul-Henning
I am quite old, or at least I am if I think about the numbers involved. I love developing and am quite happy where I am. Older developers may have just found their niche and are happy there - you won't see their CV because they aren't moving.
Well as you get older it is assumed that you move into a more 'managerial' role. Helping the younger people with your experience etc etc. At one company I had a manager apologise to me for being my manager because I was older than him.
He was concerned that the management position /should/ have been mine simply because of seniority (both in age and length of service). Despite him being much better at managing people than myself.
Perhaps he was viewing management as a reward rather than a job.
The only problem I currently have is that my notice period is longer (because I am a manager) which makes job hunting rather difficult.
Programming since 1976 and still going strong :)
I work with a team of various ranges and ability. We most certainly have a group of developers that have been coding for the company since the '80's thats right 30+ years of experience as a developer for the same company. The are part of our mainframe team. A good number of client server developers have close to 10 or more years of experience. I think what you see in hiring is once a developer who is with a good company with good benefits starts hitting the 7+ year mark at that company there are 2 things that take place. The benefits lost by moving companies increases, additional weeks of vacation, recognized ability and SME status either in a technical or business knowledge base is lost and has to be re-earned. Most of our long term dev's are comfortable where they are. They don't have a desire to move into management and they are comfortable where they are.
I am 51. I wrote a barely functional adventure game in BASIC on a TRS80 in school. I entered my career programming COBOL and DB2. I did some automation projects in REXX then in Visual Basic, moved on to UNIX doing C and Korn Shell. Since entering the *NIX world I can't do enough automation and am now doing build automation with Anthill Pro and Puppet and supporting my enterprise monitoring app written in Python. There are too many cool technologies and tools not to keep me interested in development.
Poul-Henning for the win. I've been coding before most of my coworkers were born goddammit, and I'd much rather spend evenings with my wife and kids rather than coding alone all night. Plus, I get all kind of weird aches if I try to pull even half an all-nighter - and medical conditions accumulated enough that it can litterally kill me if I do too many.
On the plus side, one of those half-nighters and I have more results to show than a week or sometimes a month of one of my colleagues' time. Both because I know what a result is (vs. younger guns's chaotic effort repartition), and because experience (i.e. paves the way to more results with less work, rather than paving the way for a rework crunch).
Another aspect that hasn't been touched upon yet: those of us who made it to management full-time, won't be spending any time on technical forums (or any forum at all). If that's where we are then we're only marginally interested in learning the latest technical fad, and in management, most of the things we deal with daily are just better left unsaid.
So what would atttract me to a startup? Reasonable guarantee the company will be alive for the next 5 years, respect for my decisions (otherwise please just don't ask my opinion), salary enough to reasonably take care of my whole family, and reasonable time to spend with them. Shares, options and the concept of a golden retirement... I just don't believe in Santa any more. ;)
After a while you get tired of working on small problems managers want you to work on, and you want to choose your own problems and make sure that they're important ones. It's why I went back to school for a degree in bioinformatics at age 47. Hopefully these problems will keep me coding for the next several years!
Master plan for career path:
'junior' developer -> developer -> 'senior' developer.
Of course these all vary depending on point of view and experience.
I'm 61. I've been programming for 43 years. I program every day, am the lead developer on 3 open source projects and a second on a 4th project. I love to program and generally spend all day at it. Unfortunately, I'm no longer employable because "I'm not a good cultural fit" (Google's reason) or "I'm overqualified" (the last interview. Would you complain if your surgeon were "overqualified"?). I've been offered 8 management positions and I've turned them all down. Why would I move from the top of my skill set to the bottom of a career I know nothing about and would likely hate. I'm not in the workforce for the simple reason that companies don't hire old people. If you don't believe me, watch the Google talks and count the number of grey headed people in the audience. Kinda odd that their "big data" push never looks at HR, eh? But they are just following industry trends. Oh well, back to programming...
62 here and have been employed right along and am still leading commercial teams as a technical architect / lead developer. Currently leading a project with node, restify, angular, NOSQL, karma, etc with a vagrant / docker / jenkins infrastructure and dev workflow of my design. I left DEC in '87 and have been contracting ever since because I've always wanted to have time to windsurf and rock climb both of which I still do at a fairly high level. Do I get some raised eyebrows these days? Sure, I also still get good paying gigs. Also, and interestingly, I'm finding a resurgence of interest in having an 'old hand' on projects just because the kids are so young and, while up on the tooling, aren't very versed in what can go sideways during big projects and don't always have great customer skills.
I am 29. Was a programmer before I was promoted to middle management last year. Now I am confused in choosing my career path. Pay package seems to be a major concern in choosing the 'programmer' path, at least in India / smaller companies. Majority of programmers are in the services industry here rather than a product based company and I want to keep that as the last option.
Looking at these comments and seeing people at their 40s & 50s doing programming is amazing and gives me hope! Your suggestions / career advice are welcome :-)
I also think that many developers in their 50s and 60s would rather keep work on the projects that require their existing knowledge base/skill set (aka legacy systems) rather than keeping up with the latest technologies all the time. So Hibernating Rhinos would not be a good fit for them.
A position for a COBOL developer or an Oracle DBA would probably bring in a very different demographic.
I'm also in the minority at 61 still creating applications (desktop, web, phone). A while back I was offered and accepted a management position in IT but quickly found out that I hated it: too much paperwork, meetings, and more responsibility with longer hours. I'm happy writing code and plan to continue doing it until I'm not.
Echoing Poul-Henning Kamp. Companies, such as HR, that only have a policy of recruiting locally and / or expecting relocation are cutting themselves out of the market for the older, experienced professional engineers.
I am one of those almost 40 15+ years programmers. It could just be you are not offering enough money or benefits. I don't bother even applying for jobs under what I see as far for my experience and jobs that don't post the salary range have offer me half what I am making now. If you want us you have to pay as well as have good perks like unlimited vacation and/or great profit sharing to get me to move. Another way to get us would be to switch to something newer then .Net, like node.js. No programmer wants to be stuck on yet another 8+ year old maintance project.
@Siriam, I have been a lead and hated it. You'd have to pay me a significantly higher salary to get me to go back down the management route (e.g. enough that I could retire in 5 years and go back to programming/other interesting work)... So, I'll give you advice that my coach gave me:
People who chase higher paychecks at the expense of their own happiness end up unhappy and bad at what they do.
I'm not a developer, but a manager. I have a number of older developer friends who are having a hard time getting any interviews. It seems like the companies where we live (Ontario, Canada), just toss any resumes over 40.
I figured that as a 54 year-old working software engineer I would have something relevant to contribute to this, but I find Poul has already said all that needed saying, above. :).
I've been programming all my professional life - I'll soon be 50, and these days I'm into mobile development. Can't deal with the hassle that comes of being a lead dev. The income's flatlined and I have to bite my tongue and count to 10 before confronting daft ideas peddled by less experienced ladder-climbers, but it's not a bad life really. I guess I'll see out my days on the contract market (I'm in the UK - I agree with Paul Hatcher!)
The only issue might be a personality mis-match (interests of a 20-something usually differ from a 40+)
I agree with Ayende, though, I know a lot more of the "bigger picture" of a project plan now than I did 10 - 20 years ago. (I am now 44).
As long as you can contribute and are excited about the work, who knows how long you can be a developer?
I'm 67, been working in computers since 1967, designing them since 1969, gone from transistors to 4G grapical language design. And I am still - apparently - hireable since I was recruited most recentlly at 61 for a comfortably paying dev gig, still there, still lerning new stuff, still riding this amazing wave. But apart from being old I am expert in a niche style that is increasingly in demand - Hard Real Time embedded systems. If I had been a rank and file production programmer I doubt I woulld have survived.
Some of us are still here.
But it gets harder and harder to be taken seriously the older you get. Which is funny because as the value of what you have to say goes up -- people's willingness to listen to it goes down.
And the pay goes down over time (I'm now making the same salary I was making 20 years ago -- and that's not adjusted for inflation). Frankly, I'm just happy to not be homeless.
I'm not sure that you can make many conclusions about the general population based on the number of resumes you get - I'm 42, and haven't submitted my resume for a "cold" position in more than 10 years. 2 of my last 3 positions came from direct referrals by friends or former coworkers. I would imagine that the better software devs are very similar - the good jobs will find them, and they don't see the need to play the corporate game to advance.
Early in my professional career, I received sage advice that I should always be moving toward my next promotion. At that time (about 20 years ago) the wisdom was that engineers eventually move down one of two paths--management or architecture. Those that don't progress often 1) float around the industry as contractors, 2) find happiness in a niche, or, as Kurtis points out, 3) find opportunities through the network they have built over the decades.
It may be sad, but I think that big companies are exactly where they end up. Small companies can be exciting and have lots of potential for growth, but when you're 40 or 50 and have a family to support, and you're already making better salary than the 90th percentile in America, you don't really want "exciting". You want stable. All of the programmers I know today who have been programming for 10 years or more have ended up at big companies.
Alternatively, they get burned out and leave the industry. I know many programmers who didn't like it, and just left. The industry is not kind to people, and so this is not surprising. It's definitely worse than it was 10 or 20 years ago. You used to be able to look forward to a private office, at least once you had a few years of experience, but I can only name one company in America that still offers that. These days companies will happily offer you all the Nerf guns and hard liquor you want, but not an office, or a whiteboard. They're optimizing for youth, and so that's exactly what they're getting. The message is clear: they don't want older people like me.
I tried #1 for a while, and I didn't care for it, so now I'm probably going to go with #2. It seems crazy that I can get better working conditions as a newbie in a different field than as an expert in software.
People want more security as they get older so they tend to stay out of the job market and stick with one company. There's no salary increase as a programmer unless you want to shuffle from company to company learning the hiring game (fizzbuzz, 3 lightbulbs etc.). I went chasing this for a few months and it gets tiring. The people hiring don't know squat but want to waste your time with trick questions and I swear your "swag" plays into it too. If you show up looking like a businessperson and expect to talk about real world technical problems... no dice.
I've done my fair share of hiring and firing. I always want a good cross section of ages and backgrounds on my team. I really don't care about Cool Game 5000 on the new XBox. I want smart people who get the job done who want to be fairly compensated. We'll celebrate once a milestone has been met.
I'm a 44 year old programmer and my experience in Canada has been that there are three things that happen to devs over 45:
You'd be surprised (or maybe you wouldn't be suprised) at how much money there is to be made in holding some large company's IT operational capabilities for ransom. Sorry, did I say that out loud? I meant to say "consulting on legacy systems support issues".
Cheers.
Warren
Maybe life expectancy of the average developer is somewhat lower than the rest of society? Sitting, bad eating habits, lack of sleep. It all adds up :P.
I don't think it's that older programmers aren't there. Or, at least, it's not solely that older programmers don't exist (as evidenced by the responses above). I think it's also that you don't see them in the wild. I have nearly 20 years programming experience, but I haven't updated my CV in 10 years. Not because I haven't changed jobs but because of how I change jobs. I don't get jobs by submitting my resume, any more--I get them by referral, or, in the last two cases, by being recruited specifically by a prospective employer. Any programmer who has been around for more than 10 years will have not just experience, but also a reputation and contact with other programmers. In the US, where the programming jobs are pretty tight (with low unemployment), that means there's a lot of pressure for companies to find not just any programmer, but programmers they know can do the work efficiently. And that generally means not bothering with the cattle-call nature of resume submission.
I'm 48 and wrote my first program 35 years ago.
The answer to the question (in my experience) is that there is rarely any place for us to go. Several years back I applied for an open entry-level management position at the BigCorp I was working for, looking for a way to grow. I was told, "It doesn't sound like you really want to be in management. So we're going to promote you to 'Made up technical title' and give you a few more dollars a year." After seeing there was no growth path for me there, I left.
Since then, I did some contracting and had another "Senior Developer" job. But I never saw any real career path, with any actual growth. So, a few years ago, I moved to a new country - a place that is starting to grow an IT infrastructure.
My plan is to do training and real consulting (not just contracting). It's been slow and difficult, but I'm happier struggling through this than I'd be sitting in another cubicle, writing another CRUD app, with a job title like "Senior Cross-Platform Application Systems Architect".
One of the reasons is that many developers sooner or later get tempted into management. For many it's not a good choice, and it may often be hard to come back to coding later. I have actually published an article about that today: http://blog.rafalb.com/3-wrong-reasons-moving-management/
Another reason to consider is that after 5 years good developers have simply made enough contacts that they don't need to go through a general application process anymore. When they are looking to switch jobs they don't apply so much as find a contact who is working at an interesting job and transition that way
I wrote about this in 2009:
http://fastchicken.co.nz/2009/08/18/architects-or-why-business-cards-need-to-be-bigger-or-have-smaller-text/
http://fastchicken.co.nz/2009/08/20/more-on-architects-and-titles/
Sadly, I never came up with a solution.
I'm 40. I've been writing software since I was 13, professionally since I was 19 or so. If I had to move into management, I'd go work in another industry.
I have, however, moved from full time to contract work, as there is a lot better pay contracting than being full time, and I can provide more value to the customer over time.
Well... I'm 69. I started in 1968 with Fortran at engineering college. Don't ask for my CV or my github because I'm very happy as a consultant in ThoughtWorks Brazil doing a lot of things especially those most directly related with innovation and agile development
US, 45, 16 years development from client-server to web.
I think the reality is 3-5 years of experience is the sweet spot right now. More experience isn't relevant to newer employers looking for the current skill sets, especially if they have one experienced person. I too would hire someone 20 years younger for 2/3 the price, where the promise of pizza and a kegerator can keep them working into the night without much pressure or compensation. After that window, I'd tell a developer to start looking at management or moving into their own business. You can move to different projects but the job is pretty much the same - a lot of exacting hard work done many hours sitting in front of a screen. That's the career path, and except for certain geographic locations, the salary path is stagnant too. If you really want to stay in development, consider becoming a recognized evangelist for some technology. It might work itself into something bigger.
I work in contracting now, for a company that mainly does government projects. Other than my own company, that's where I find older experienced people in tech. If I had to get another position in the industry, the public sector is probably what is left as acceptable.
Or I read of some local small business that just opened (coffeeshop etc) and it's owner seems to inevitably be someone who worked in tech for 10+ years, who got layed off or just "got out of it".
From my almost 10 year experience most of people suck at programming. They are doing it for money only not because it's their passion. So when they have chance to become 'a manager' and earn more they do it. And it's good if they stop programming ;) But it's bad when they try to teach good programmers how to work because they are 'a manager' now.
I see this post made it to the HackerNews front page, an additional 300+ comments here: https://news.ycombinator.com/item?id=8481487
I have been a developer for 14 years and I've been pretty grounded in my current work place. Why? We go home at 5:00 every day. This is huge. I routinely have recruiters coming my way asking me things like what I would change to advance my career. I tell them I won't talk to them for any job that expects more than 40 hours a week out of their developers. If you believe development requires more than that, your product and project management practices are immature.
Some of the anecdotes are skewed by survivor-bias. IBM has laid off a lot of employees through out the world. There has been large lay offs in government contracting in Australia years ago, and the impact is still being felt.
The market is suddenly awash with developers who have many years experience in maintaining older stacks, but new projects are built on the latest hot thing, and latest hot things can have deep bugs which then require people who know their way around these frameworks.
In particular, there are a lot of capable programmers today in outsourced localities who charge a lot less coin. I'm not even thinking about India here. Phillipines, Indonesia, - one only has to study how the clothing manufacturing industry kept moving to the lowest cost country.
As someone who sees programming as a craft - it strikes me that we may all one day be relegated to programming the way people in western countries do woodwork - as a hobby.
Perhaps a lot of them are self employed, or in a position that is stable enough that they are not applying for jobs. That's why you don't see them. The less experienced ones are all sending out resumes, so that's why you do see them. Just a conjecture.
Maybe a good developer that's been programming for 25 years has enough money to retire... Ditto accountants and other well paid jobs.
[)amien
44 here (programming since '86, professionally since '94). I graduated from uni in '94 and as far as I know (peeking at linked in) is that no-one who graduated in the same year is still writing code, except maybe 2-3, including me. Everyone else is doing something else, mostly management, leading teams, or something else entirely. The people who are still programming all do that in their own companies, and this is logical: in larger companies, a programmer starts at a young age and/or inexperienced level, and after a few years moves up the ladder to positions with more responsibility and a higher pay grade, with the consequence of moving away from code more and more.
In other words, it's damn hard to justify to stay at a programming position in larger companies as most positions are not for people with massive amounts of experience. So in general there are then 2 options: go with the flow and the careerpath away from code, or start your own firm and do what you love till the end of times: writing code.
I went to a recent job recruitment evening for startups and such in London, UK. About 7 companies were hiring full-time staff. They were all hiring only "junior developers".
I'm almost 42, and I've been a full-time developer since I graduated in 1995.
You ask "What is the career path you have as a developer?", so I'll answer. I was made redundant nearly 8 years ago, after an office closure. I've been a freelancer / contractor / freetractor ever since. I work from a rented desk in an office close to home, and sometimes I work at a client's office within an easy commute.
I love being a coder, and I like keeping up-to-date with new coding fads, and trying to predict which will stick and which will fade. This is fading a little, as I'm not quite so excited about having a free evening to spend reading about node.js as I might have been ten years ago - I'd rather go to Scrabble club now. I'm not interested in being the world's last classic ASP dev and upping my day rate to work on legacy code.
I've successfully avoided management, other than being a senior dev and helping / mentoring junior devs. Even that can bring its own problems, when the most senior, experienced member of the team doesn't get time to code because they are spending so much time answering questions from the junior devs.
I've seen so many new codebases, of various quality, that I now find it straightforward to get stuck in when I start a new contract.
Now the kids are older and my wife is back at work, I don't need to work full-time hours (although I mostly do). I'm open to any type of new work, but long hours or commute wouldn't be suitable. I don't need to do that.
Another from the UK here. A relative youngster to some - I may be 46 but inside I still think I'm 12. Anyhow, one point you haven't mentioned and may be relevant is that older devs by definition should have a huge network of contacts, unless they are particularly unsociable (which obviously, does happen!).
Having been contracting for donkeys years, then moved permie to a job in the countryside, I still keep in regular contact with a large number of previous colleagues, many who are now in management positions. I'd like to think that if all goes belly-up where I am currently I have enough contacts that I could find a decent job via people who already know me, my skills and work ethic, and would be able to put in a word with any "young-only" HR dept that would be able to vouch for me - without needing to apply blind (Of course this may be wishful thinking on my part...). Obviously keeping a reasonable skill-set up to day (or very specific if aiming for legacy work) helps.
The other thing is that I wouldn't be troubled by setting up my own business again to go it alone from home, whereby I can work to suit my own hours. Maybe that's another destination?
Yes another UK poster here....
I agree with those saying there is a ceiling for salary for programmers in {some large percentage} of companies in the UK.
The next step as you and others say is moving into middle management to get that next promotion and salary raise, but that takes you away from the code.
I wanted to stay programming and also increase the money I earn, so again, like others above, I turned to contracting.
Outsourcing has also been a large driver in the stagnation of programmer salaries and the amount of available jobs as well in the UK.
I'm 48, been at this since 1990. I got lucky in that I found a great job at a small company where I had to program and manage. Good at both as I hired people smarter than me. Problem is that most management does not like people smarter than them. If you like making things, then you'll be very unhappy at companies where HR have great say in things. You'll also be unhappy in management if you don't like to read Gartner reviews and echo whatever the talking heads say on LinkedIn. It's really scary that people get paid to do that.
Now I am self employed, trying to launch a few products. I think many of us who became dis enchanted with how companies mostly pay lip service to excellence either find something more rewarding or try a different strategy at making an impact.
I close with a quote: Two bulls, one old one young, were grazing at the top of a hill. The young one says: Hey, let's run down the hill and see if we can mate with any of those beautiful cows. The old bull replies: No - let's WALK down, and mate with the all.
I'm in my 39th year of developing and I'm 61. I wrote my first program in Sept 1975 and have been banging keypunch machines or keyboards since. I tried management for a couple of years and realized that as a manager, I was a pretty good programmer. I couldn't stand it.
The young guns pretty much ignore me, as is to be expected. They're more interested in the structures of systems. I'm more interested in the functionality. We all serve a purpose. I hope I have another five years of coding in me. I don't look forward to the day that I'm not a professional programmer anymore. I love the challenge of "keeping up". Now days I spend my weekends programming micro controllers, my pet robot, building and programming drones, and taking Pluralsight courses on whatever interests me.
If I am put out to pasture anytime soon, I can program whateverthehellIwant with the free time.
I've been professionally developing since 1999, and recently I became a consultant. The money seemed to be better, and getting stuck having to move into management again is not my idea of a good time. It's not the worst thing in the world, but I do enjoy my coding.
Q: Where do "old" devs go to? A: We're still here. In my current (UK based) team we have old dev over 60, 2 over 40s, 1 close to 40, and 4 under 30s. That is, there are as many "old" devs as "young" ones.
I'm 41, coding for about 15 years in the U.S. and about to jump into a different role. Why? See the chart in the link below (or google 'programmer salary curve experience'). Programming salaries probably grow faster out of the gate than any other profession with a 4 year degree, but then taper off at the 5 year mark and then stop growing at 15 years. I love programming and I'm good at it, but will my passion for programming prevent me from earning a better salary in the 2nd half of my career? Why should it? I'm smart enough to be a decent programmer, so why wouldn't I be smart enough to find a 'sense of accomplishment' from another job and thrive there as well?
The hard reality is that the market does not value 30 years experience any more than 15. Perhaps it's due to the way technology changes so fast which may be perceived as reducing the older programmer's value. Perhaps it's the notion that managers must make more than the developers they supervise and so they artificially cap the salary curve.
Either way, I've always been driven by 'the challenge' and one of my personal challenges has always been to make more money and secure a better life and future for my family. As for my passion, I can always code in my spare time.
http://blog.hirelite.com/developer-salary-growth-is-an-inverted-hockey
I've been programming for over 40 years now. Started out on IBM mainframes eventually doing systems programming on them. Then built one of the early micro-computers (6800/6809 processor), then started my own company which developed an implementation of the Mumps language on it, then re-engineered to Unix, then PC/Dos, then Windows 16, then Win32, then .Net etc. Sold company now still do contract work for others.
I'm 44 and still programming. I like to think of it as a percentage of my life and for me I have been working with computers for 77% of my life. I started with basic on a Commodore 64 entering programs from a Compute magazine. Now I write software for the web using .Net, middleware to import data to a 4GL application. My partner is 70 years old and worked on assembly language back in the 60s. Now he writes software in a 4GL language. Neither one of use joined corporate America because we did not want to become management we want to program.
I'm 47 writing code since 1987. Did almost every role you can imagine since then (even had my own company) but always keep coding because it is my passion. When moved to Australia (10 years ago) I decided I'd do what I do the best and enjoy the most. I was coding for a company for 1 year, then for another company for another years and now contracting but always coding.
You must love it and I do. Our profession is not easy. The speed of change is huge and you need to love it.
On the hand, I know people that is 40+ years old and they stay for years in the same company writing code in the same language than 15 years ago just because they are lazy and don't want to learn anything new.
So, yes, experience is good if you keep your skills up to dated.
One thing that will keep older programmers off the open market is that there will almost certainly be a substantial (25% or more) pay cut involved (or would involve working in the City, with consequent major loss of amenity and increased expenses) in any such move, when you transition from being a known quantity, with accumulated knowledge of how the existing code holds together, to being just another newbie, at whatever senior job title. While it is flattering to still, in my late fifties, to get approached by headhunters on a regular basis, they've never come bearing offers that would be attractive this side of being able to afford to downshift to something more intellectually stimulating than working the till in a supermarket with the other seniors.
And on the flip side, I know that where I am, I'm not going to be stuck on the "yet another CRUDdy web app" treadmill, but will be pushing some boundaries -- the grass doesn't always look greener on the other side. And if I'm still doing C++ and C# for pay like I was in the early years of the century -- well, neither of those languages are what they were back then (even if younger colleagues still code like they were, especially in the case of C++). There's always side projects and hackathons to use the different and cool tech in, after all.
UK here. I think I'm on the cusp between 'young' and 'old' in dev terms - 38.
I have recently moved to contracting. There were many factors that went into this decision, one of the main being that I like the variety that comes with contracting. But also, contracting is just seen as the' next rung' on the career ladder, and I feel that after you're past a certain age people are wondering why you're not a contractor yet.
Also from reading this, I guess the rest of the world doesn't have the age discrimination laws that the UK have - we can't even put our ages on our CVs. Of course, a manager who is dead against employing older can have a guess at someone's age from their CV, and can give whatever reason they like for not hiring someone, but I really think the laws have changed behaviour.
If a company refused someone a job because they 'weren't a cultural fit' they'd be in front of a tribunal in no time.
Having just crossed 0x28, this has been an enjoyable post + comments.
I believe the graph shows who your audience is -- especially since it's a web survey and not a random unbiased sample of developers. This comment comes from a long-time developer who still loves to create exquisite code.
I'm a 57 year old software development consultant. I work entirely by word-of-mouth, and have never failed to get the job at any interview derived from that process.
I've also had my resume in with three different headhunting companies ovr 15 years. One has never sent me an opportunity; one (after 10 years) asked for a newer resume; and the third keeps throwing me Project Management opportunities.
It seems that, if there is a bias, it's higher up the chain.
I think this is even more intriguing because there were actually MORE computer science/computer engineering graduates 12 years ago than today, 2002 was the peak year for graduates - http://m.bizjournals.com/denver/print-edition/2012/01/27/number-of-computer-grads-on-rise-after.html
I've seen a few articles that show huge jumps in enrollment the past 2 years, but it will still be below 2002 levels.
I see two main reasons for there being so few older dev resumes out there. First is they move to other roles, like dev manager, project manager, and product manager. As a dev manager myself (and a 2002 graduate) I fit in to that category, and I've worked with a lot of project managers and product managers that used to be developers.
Also the older devs get the longer they tend to stay at the same job. Younger devs move around much more. So in addition to there being more young devs, there are a lot more looking. I really think older devs not moving around hurts their careers though. I know personally every time I've changed jobs, my skills and abilities as a software developer (and lead/manager) took a HUGE leap forward.
"I've worked with a lot of project managers and product managers that used to be developers."
I've found that project/product managers that "used to be developers" were actually never very good developers. Dev managers who "used to be developers" tend to have been decent developers and now miss it [or sneak it in under their boss' nose].
After ten or so years, I've seen several phenomena happen with developers.
Of the very experienced programmers, few are likely to be available and looking for a permanent position for a long window. And they'll look to their network to land a new gig.
I am 43, 17+ years of exp. I have done mainly senior and lead developer stuff. In the last couple of years I have drifted into more and more into roles where I focus on removing the dysfunctional leadership, and replacing it with healther - more agile - ways of working. I focus a lot on both teaching how to build and manage autonomous agile software team and teaching developer how to become proficient technical leaders.
I believe one of the missing pieces in our industry is how to grow technical leaders, who can take more responsibility for more parts of the business. Mostly, this is about teaching software wisdom and constructing various types of - for lack of a better word - workout programs for the proactive muscle of developers. IMO, for our industry to mature developers need to step up and "grow up" just as much as management need to understand and adapt to 'software wisdom'.
I still enjoy writing code, and I am very good at not just that but leading or influencing software teams as outlined above. The reason I have adopted this mission is that I have come to realize that if people like me - like us - do not do it, THERE IS NOBODY ELSE. This is why things are as they are, and if nobody focus on teaching software maturity the 'abuse' and the pain that follow will perpetuate. It does not matter how good I become at leading software teams. The incongruencies in organizations will trickle down and sabotage in so many ways.
We are the first generation of seniority in a business that have had to learn how to deal with complexity on a fundamentally new scale. We may not know exactly how to teach this perfectly, but there is nobody else that are close to do it so we have to find a way there as well. I have come to realize that this is a much more important mission than just mastering software delivery.
oh yea, the talk about not finding gigs. I have no idea what you are talking about, at all. I feel damand for what I do is sky high. Full abundance, because everybody have the same problems and are desperate for multi-skilled technical 'master level' leaders who can BOTH walk the walk with all the devs and also empathetically and business orientedly deal effectively with organizational change.
Please, we need more of you to take this step into becoming change leaders. If you feel that organizations are making your software efforts hard, IT IS YOUR OWN FAULT. If you realize that you know better than 'management', then you need to forgive them, and realize that it is exactly because it is you that is realizing this that it is also YOU that need to step up and lead the change for the better. :)
Hi,
the topic is very interesting als over here in germany. Someone wrote that number of devs are doubling, hm in germany I dont think so. From universities even less people are coming, a lot quit IT studies before finishing it. A lot of my university friends are not in IT anymore due to various reasons, coding from the 30 I have still contact with only 3 (!) are doing still ( and we are between 36 and 40 only!).
Those who are still in IT are mostly it project leads, test coordinators, team leads and so on.
For me I chose the management path, I am leading a quite big Java dev team with 20 people - but I dont really like it. It is a pain to work with people from other teams which are not as logical as I am :) I would love to be a dev in my own team.
But as most of the people here said, it is the way of the money. Functional career is rarely seen.
I also had the joy to work with developers 50+. Very smart guys, very nice to work with since with a couple of words all is said and result is great. But mostly they are self employed since this is normally nearly the only way to get some profit from your skills.
Comment preview