

Do middle-aged non-ninja developers belong? - redmand

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).<p>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).<p>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?
======
caraboga
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.

~~~
redmand
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.

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

~~~
SomeCallMeTim
>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.

------
dylanhassinger
> 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>

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

~~~
dylanhassinger
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.

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

~~~
redmand
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.

~~~
pc86
Imposter syndrome is incredibly common among very successful people, which as
much as we might hate to admit it, most developers are.

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

~~~
redmand
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.

~~~
pc86
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?

~~~
redmand
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.

~~~
pc86
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.

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

------
laumars
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

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

------
pnathan
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'.

~~~
redmand
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.

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

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

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

