Hacker News new | ask | show | jobs
Do middle-aged non-ninja developers belong?
12 points by redmand 4823 days ago
I am a developer and currently work for a large American organization that is to remain nameless. I am passing my prime (in the scale of software developers), approaching middle age. Software development is something I love and have loved since I was a kid. However, I've never had a natural talent for it; I would never use the term "ninja" when describing myself (partly because I don't have the skill and partly because I'm too old to use ridiculous terms like that).

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?

12 comments

I think you need to dismiss the myth that your 'forming' years are behind you.

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.

I guess what I meant is I see a lot of guys in the group who are younger (20-25) with more senior guys trying to "form" them into what they feel is a "good" developer. I've been around long enough to have developed my own ideas, and while I'm always open to having my views influenced and changed over time, I'm not going to sit down and have someone tell me "this is what you need to do to be good like me".

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.

> The Age Discrimination in Employment Act of 1967 (ADEA) protects individuals who are 40 years of age or older from employment discrimination based on age http://www.eeoc.gov/facts/age.html

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.

>It may seem that "rock star ninja developers" are a young person's game and to some extent it is.

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.

> is there a job market for a middle-aged developer

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

What if you're not entrepreneur material? Not everyone has the spark or drive on that level.

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 you answered your own question. There is no job security any more, unless you make it yourself. Building a business is the ultimate safety net for everyone. No it's not easy, but it's easier for programmers (people that can create value) than for people with no skills.
I disagree with that advice as there's a whole plethora of people creating startups in the name of "entrepreneurship" who lose thousands.

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.

you clearly did not visit any of the links i posted. but thanks for sharing
Everyone makes it sound like it is so easy. Making money off a product is incredibly hard. I've released 4 or 5 now with no returns. I keep trying, but it's not easy.
37yo here. Like you, I have met ridiculously smart, knowledgeable and young people and came to the conclusion that I am never ever going to be able to be like them. Heck!!! If I had not met them first hand, I would not have an idea how far the gap in front of me is.

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.

I'm not one to put stock into the myriad of psychological conditions that people seem to carry around like badges ("Look at me, I'm ADD!"), so I followed your link with a dismissal at the ready. Then I read something in there that was close to my own words..."Proof of success is dismissed as luck"...I about choked!

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.

Imposter syndrome is incredibly common among very successful people, which as much as we might hate to admit it, most developers are.
I'm 26 so I can't speak at all to what a 40ish developer needs to do to get a job. My advice is what I'd give to anyone asking what I think you're asking regardless of age. I'm also assuming you have no desire for entrepreneurship or management.

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.

A desire for entrepreneurship? Definitely. But I don't have any side projects or ideas that I feel would be unique enough or adopted well enough in an open market. They're great toys for me, but my girlfriend just doesn't understand them. :)

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.

I'm the same way in a lot of respects. I'd love to wake up every morning to tweak a product or SaaS business that I live off of but I haven't gotten that spark from anything yet.

What language(s) do you work with?

Work with or are competent at? :)

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.

I've been doing PHP since I started programming in middle school but have been gradually shifting to .Net (VB at my employer). Never had any interest in Ruby for whatever reason.

Best of luck in your search.

You said that you do not have a natural talent for developing, so your issue is about raw skill rather than age. Maybe you should specialize further in a subject area that you know well. Carrying one big "weapon" that you are skilled at would be better than carrying 50 like a "ninja".
From what I've seen, the middle-aged men like yourself tend to end up as managers rather than "code monkeys". The pay is often higher and the demands of keeping up to date with technology is less critical. But that just my personal anecdotal evidence from the companies I've worked in.

I 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

Redmand was 22 years old when he decided to become a successful programmer. He was 40 when it occurred to him for the first time that being a star developer was a young man's game and that people might object. To hell with that, he thought, and never worried about it again.

--"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.

Yes. But, IMO, you're going to find it in more 'mature' verticals; places where reliability and commitment are valued and lived out daily. IMO, that's going to be in the embedded space or in a larger company that quite possibly doesn't 'sell software'.
I feared that that may be the fact of the matter. Not that I need sexy in my daily life, but something that offered the chance to grow would be nice. That's not been an easy find in the larger companies.
You can easily become a rockstar ninja sith lord developers. The best way to achieve this is half your salary by 50%.

This rockstar vibe is a great trick. Call someone great but pay them as low as possible.

I don't think age is relevant to be valued and compensated for your ability to be productive and creative.

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.

I just turned 36, and while I often worry about the perception that programming is a young man's game, I've honestly been learning more and more the past few years, to the point that I feel I've never been more competently able to build whatever is asked of me.

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.