Do middle-aged non-ninja developers belong?
It's hard work to gain the understanding that others around me easily have, but I don't and won't stop trying. It's been a journey of education and the education is something I've quite enjoyed. The group in which I work was guided towards learning better design principles and while I did not stand out in the group, I came away with a better understanding and better ability. The group has since gone in a different direction, thus removing my motivation for remaining within it -- the pursuit of mastery (other than the obvious requisite paycheck).
Being 40ish, my "forming" years are behind me, so I'm not one to be "shaped" in the image of another. I've been lucky enough to have fallen into jobs or have "known someone" for most of my professional track. But now I'm wanting to leave a stable job that pays adequately with the goal of finding a position that provides more job and life satisfaction. So I am wondering...is there a job market for a middle-aged developer who isn't among the best, but brings a desire to learn; a constant effort to become better and gain a more thorough understanding? Or is this is a young man's game in which only the elite need apply and I need to consider an exit strategy before it's too late?
26 comments
[ 3.0 ms ] story [ 64.3 ms ] threadI think as long as you can code (you said you're not a natural, but I trust you're still at least average at it) and you have a desire to push yourself (which does come across), then there's no reason to stop coding. After all, who wants to conform to trends ;)
My main bit of advice (and something which I'm sure doesn't need to be said), is make sure you have a back up plan in case your passion doesn't translate into a profession
Yes, it's called entrepreneurship.
You are a programmer. You can make value by wiggling your fingers.
The solution: Build a micro product, turn it into a freedom business, and fire your boss.
http://fourhourworkweek.com
http://lifestylebusinesspodcast.com
http://startupbook.net
I am ferociously dedicated - to an almost quixotic level - to programming, but in general I find that I literally have no compulsion to do any coding for myself outside of work hours.
I'm almost in my mid-thirties and I took worry about the future where the need for codehorses like myself is thoroughly outweighed by the need for "Rock Star Ninjas".
I think the golden rule for starting a business is "don't; unless your idea is really special". Too many people rush into business with half-baked ideas and a romanised vision of being their own boss, only to discover that their ideas were garbage to begin with. So I'd rather have a boss than start a business just for the sake of firing my boss.
Your mindset is everything and don't let irrelevant thinking to cripple in.
There are plenty of posts on HN from bright ninjas feeling depressed about their 20-something "old" ages and "lost" opportunities.
Age is irrelevant, mindset and attitude (is it the same thing?) is everything.
Sure, there's the manager strategy, where you'll trade one set of concerns for another, and that's probably an easy way out. You might also consider something like a 'business analyst', or a position which sits between developers and non-developers, translating non-technical requirements into specifications for developers to work on.
In short, there are options for 'very technical' people (which developers tend to be) to transition into less technical areas of the same field, and they are necessary jobs as well. You might talk to your manager, boss or (if you have access) a CTO to see what kinds of opportunities are available. You might even try 'interning' for a week or so in those various positions if you can be allowed to and see how they actually interest you.
Regardless, programming might be a young man's game, but there are a myriad of things that I bring to the table that it's hard for youngsters to match. I am proficient in a variety of languages, frameworks, etc. I can build an application from the ground up. I can administer the database, I can build the frontend with HTML and Javascript, I can use Backbone, Ember or Angular to make it super interactive, and I can of course build the backend in Django, Python, .Net, Java, etc., etc. The years of experience you have make you ideally suited for speccing things out too - it's often easier for someone who's worked with a lot of systems to look at a given pair of systems and see where things overlap, where they might fit together, and what an integration effort might look like.
There's a job for this too, called IT Architect. Again, you might find that you love it, or you might hate it, but it's a real thing that demands technicality and expertise.
I work for a few research groups at a large, prominent southern university. There are people who get engineering phds in their 30s and 40s. You have coded a large chunk of your life and have an excellent framework to bolt stuff on to.
There is always a job market for an enthused developer that doesn't believe in his own hype. You don't have to announce you are not among the best, I don't think a lot of people who think they are the best are anywhere close. I write much better code now when I am in my 30s than when I was in my 20s. If you stay in touch with technologies and you build stuff for yourself that you are willing to show people, then your prospects should look pretty good.
Best of luck.
Your note about building stuff on your own is something I constantly do. I try to keep at least a couple projects going at home for the purpose of practice and incorporation of advancing technology. I don't have my finger on the pulse of everything, but I'm by no means being left behind.
Since you have a steady and mostly happy job, focus on differentiating yourself after hours. Build out your github profile (my current focus since it's entirely private projects right now), find a programming niche that is financially rewarding and put your emphasis there. Specialist programmers in under-served sectors can earn significantly more than the management supervising them. You don't get to that point by "doing .NET" or building WordPress plugins (not to sound condescending, I've done both for a living), but it can be incredibly lucrative.
And a big NO to management. I love coding. I want to die while refactoring. Or die while coding, then come back from the grave to refactor later.
What language(s) do you work with?
For the last 8 or so years, the jobs have been C#/.Net. Before that, Delphi. Before that, C and C++ (quite a while ago). There's also been a touch of Ruby, a couple days of PHP, and an odd smattering of x86 assembly.
Best of luck in your search.
It may seem that "rock star ninja developers" are a young person's game and to some extent it is. Many people find that their life priorities change as they age. Many younger developers may value making a name for themselves and devote a lot of time outside of 40 hours a week to coding and upping their game. So even if younger developers may have less on the job experience, they may be far more active in the development community than career developers. Those factors may be just as or even more important to some companies than tenure. Other companies may place more value in stability and tenure than having a bunch of rock stars. As you age and your life priorities shift (such as having kids with lots of extracurricular activities that you want to focus on), the type of position that suits you best may change.
To grossly oversimplify, startups will gravitate towards rock stars - cheaper and and flashier with a lot of drive, while enterprises will go for reliable, tenured developers who consistently get the job done even if they are just average. I've seen no shortage of middle ages .net and Java developers. Might not be the sexiest languages, but they are very popular with enterprises. Any company should be interested in a developer that is an accomplished learner and stable developer. But if your priorities in life don't include spending a significant amount of non-work hours diving into the hot language/technology du jour, you won't be able to compete with younger developers who can.
So yes, there is a job market for average middle-aged developers, it's the same job market for all developers. But if you're suited to an enterprise position you'll have a hard time finding one that lives on the bleeding edge of technology of which you might be wanting to get into.
I was an awesome developer at 22, and I'm a much more awesome developer at 45. I'm a bit more methodical now -- I could crank out (crappy) code really quickly when I was 22, and now it might take me twice as long to get things running but when they're running they're mostly DONE, solid, and reasonably documented. Also, at this point I tend to work ~30-40 hours a week instead of 60+, which could be why it takes me longer. ;)
Just saying that it's not really a "young person's game" to be a "rock star", unless you mean the "being underpaid" part, which I certainly was for years compared to my relative contribution almost everywhere I've worked. (I'm also not claiming to be famous, except for in one particular niche, but that's another story...)
But OP sounds like he was never an awesome developer, so yes, I agree that enterprise is likely the place for him to look.
But it seems that you do not seem to realize how far the gap behind yourself really is. If there is one capital sin in programmers, it has to be our hubris... and you seem rather humble to me. Of course it is possible that your self esteem is accurate, in which case you would be rather incompetent or at least mediocre. But if that was the case, how did you make it this far into the craft?
No, in my experience mediocre programmers don't go around thinking about "the pursuit of mastery". You really have to consider the possibility that you have a severe case of http://en.wikipedia.org/wiki/Impostor_syndrome! If that's the case I can only advice to keep going, do the best you can and not worry too much about comparing yourself with others.
Not that I'm ready to go around saying "I have a disorder, yay!", but it was certainly an interesting concept to be introduced to.
And before I get angry comments about my ADD comment, my son has been diagnosed ADD, so I make that snide remark knowing full-well what his life is like.
This rockstar vibe is a great trick. Call someone great but pay them as low as possible.
--"She was twelve years old when she told Eddie Willers that she would run the railroad when they grew up. She was fifteen when it occurred to her for the first time that women did not run railroads and that people might object. To hell with that, she thought—and never worried about it again." -Atlas Shrugged
I think if you just be you and do what you do with a little more confidence you'll find your way just fine.