Ask HN: Is age an issue?

17 points by clueless123 ↗ HN
I am an old coder. I've being coding since the TRS80 model 1.. bla bla bla..

My question is: Honestly, in today's "hackers news" world, is age an issue when hiring developers ?

I ask not because I have trouble getting jobs (For years I've been a contractor at various Fortune 100's and I'am doing good), but because I keep getting asked crazy stuff at interviews.. like: "what is my favorite Java class" or What is the signature of XYZ class or the kind of stuff that my IDE does for me..

I might be suffering from early ICRS disease.. but don't see the value of memorizing ever changing API's (strut,spring,hibernate,ibatis, etc ) when google is one click away.!

Anyway.. be brutal, give me your thoughts...

26 comments

[ 3.4 ms ] story [ 54.7 ms ] thread
Without blathering on too much...

Yes, age is an issue.

If you are too young, there is a worry that you will be some combination of immature, inexperienced, difficult, unreliable.

If you are too old, there is a worry that you will be some combination of less productive, untrainable, unreliable, demotivated, coasting.

When dealing at either of these extremes, you may find it helpful to adjust your resume to be short with an entry at the end "further detailed experience available on request" (ie: to hide your 20 year work history, or your 5 year work history), and/or do a phone interview first (so that your apparent age is less obvious) to build interest.

YMMV

Actually, I am not asking for "getting a job" purposes.. I am asking for more practical reasons. like in: what is your opinion/experience about old coders continuing to code after 50 :)
The problem can be that when your hair starts to go grey people either expect you to be some sort of certified genius or completely out of touch (granddad).

Of course in the world of blue chip consulting this can be seen as good thing. The mature / older consultant talking to the mature / older client can work wonders for a business relationship.

Small startups unfortunately can either assume that the older you are the less 'up to date' you are and that your skills and experience somehow don't translate to the hip world of the startup.

Also smaller companies expect that they will have to pay older people more than a younger person, and the truth is younger people will work for less as they have less commitments.

I am 48 and joined a small company this year. It's a relaxed place and the fact that I an nearly 20 years older than my manager is not a problem.

So it can work out.

YMMV

Some companies want someone who is already an expert at a particular tool. Some have good reasons for this, some bad.

Also, you'll find that a bunch of programmers these days basically consider Java to be the entire programming universe. Many of them have gone through university and several jobs without being exposed to anything else. They don't really consider the fact that could be experienced programmers who have no Java knowledge, and they don't consider it a fad or a passing thing. I suggest seeking out companies that are working with Python, Ruby, Perl, Scala, etc. - not because of the tools themselves, but because they tend to expect that candidates will be learning new tools and languages all the time.

Yes, you will probably be discriminated against by some companies. Fortunately, there are companies out there that don't. I expect the latter category will grow as the overall developer population ages. (Remember, our entire industry has grown from almost nothing in just 30-40 years.) At my current company, at least one engineer is a grandfather and several people have children near my age (and I'm a parent myself).

(warning: some pretty broad generalizations ahead)

From what I've seen, it depends on the area in which you want to program. The areas that fetishize the new (for being new) have a tendency to dislike experienced/older people. Particularly noticeable amongst web frontend people I've worked with. In places with deep domain voodoo or that fetishize the better (systems, networking, and so on) old is not a barrier, and experience is valued.

As for ridiculous questions about apis... I have done well for myself by answering those types of questions with things like: "my ide does that, so I don't know" and "who cares?" -- sure I've "lost out" on a few code monkey jobs, but instead I've had some pretty cool stuff to work on.

I'll say "sort of."

If I'm a good manager, I'll take you for who you are and evaluate you individually. I know a handful of awesome coders over 50 who are awesome primarily because they a) work really hard, b) learn new stuff all the time, and c) have a ton of valuable experience.

However, most of the programmers over 50 I know aren't good because they occasionally lack a), but nearly always lack b).

If I'm a bad manager, I'll likely lump you in with the majority of codgers I know and not give you a fair shake. I'm sorry, but I think most managers are bad managers, and most of the time people are going to judge you before they know you.

Regarding the detailed questions about APIs, I think that can sometimes indicate an interviewer that hasn't really given much thought to the type of skills that are needed to do the job. I've been guilty of this myself. Asking quiz type questions that really only test the candidates ability to memorize and don't reveal anything about how they think about problems.

As I've grown in my abilities and experience it's become obvious to me that how people solve problems and if they write maintainable code is much more important than if they know some minutia about the development platform. I've worked with people that could answer all the quiz type questions, but just didn't really have the mental ability to reason about and implement an elegant solution to a complex problem.

I don't require applicants to have memorized frameworks, APIs, and other implementation-specific details in my interviews. I ask general programming/computer science questions that get to their level of knowledge. I also have them do a programming test before they come to the interview, and allow them to do it in the language they prefer. Age generally hasn't been an issue, but most applicants are younger.

I think this will become a bigger and bigger issue as the programming industry really starts to mature and you have a large number of developers that never wanted to move into management.

(comment deleted)
Yep, I am having a ball... specially because I work because I want to, not because I have to :)

I just felt weird being filtered out because of "trivial pursuit" type of questioning.. (to be fair my memory for technical minutia is no where what it used to be..)

Yes, age is an issue but only at some organizations and you are probably better off staying away.

A couple of observations on interviews focussed on api's -

I do not have a problem with being asked a question on specific api if I have listed it in my skill sets. I would not expect to answer an api question on struts FrontRequestProcessor just because I have MVC listed on my resume.

Usually when I have been asked such questions, it has been when interviewing with junior to mid level programmers, all of them significantly 'younger' than me.

The older folks have all transitioned into managerial function, some of them know the engineering terms obtained from reading technical publications but have not written code in a while.

Organizations with an emphasis on such questions tend to more often than not lack an "engineering culture". Emphasis is placed on delivering requirements from a backlog rather then innovating on behalf of customers and I would stay away from them.

Age is an issue, but not at the ones that matter (to me at least)

Memorizing was important when you have no other way to document information. But I doubt it to be important when you know how to search and judge/experiment the information recently. Sometime people ask for apis just to see whether the person had experience with the technology.

At the other hand, remember important facts, theorems, plus good analytical thinking saving a lot of troubles.

What I find annoying is the education systems make most people misunderstanding 'good memory' as 'smart'. At the other hand, I see good problem solving ability as smartness. Not so many educators are as wise as Richard Feynman's father is in teaching Richard Feynman memorization is not understanding how a bird's behaviors. It is hard to teach problem solving.

I think this is a "is it a bug or a feature?" type of conversation. Some folks will see age as a bug, some as a feature.

I'm in my 40s, so I'm closer to you than the younger crowd. I've also had quite a bit of experience hiring folks, and it's never been an issue for me.

I once had a contract with a company where the average age was 24 -- and I was 32. During the interview they asked "so do you think age will be an issue?" to which I replied "Why should it? I love working with people of all ages."

I think as you get older you realize that good programming is in knowledge of general heuristics and systems, not api calls. But when you're young, everything new and shiny must be mastered to the fullest extent.

Be aware of this. Always be learning "just enough" of what is new and flashy in order to be able to develop with it (or look it up and develop with it) quickly if need be." If you stop learning at the deeper-than-superficial-but-not-guru level, it's not going to work.

Having said all of that, I think age, as long as you are self-motivated, is a feature and not a bug. If your head is still in the game, you're going to bring a lot to the table in terms of tacit knowledge. Having somebody who has been-there, done-that can be a great boon to a team working in tough situations.

I'm just a college student that codes, so I don't know much about if age is an issue.

However your backing seems to be because of one specific case. Memorizing ever changing APIs. Just wanted to say I have the exact same thoughts and I'm young. I have been asked this type question. My response is usually well I'm that that familiar with this API since I don't use it, but if I where to do this with Cocoa (something I am more experienced with) I would do etc.

It shouldn't be, but it absolutely is.

There's a stereotype of what a "good developer" looks like and it isn't someone over 40. I also think lots of people would feel uncomfortable supervising someone much older than themselves.

If you're looking for a job as a Java programmer, then I think it's reasonable for the interviewer to expect you to be able to give some sort of answer to "what is your favorite Java class". Being asked the signature of a specific method is pretty bogus, though. If you're getting a lot of questions like that, then you probably don't want the job whether you're 60 or 20.
I'm 28. I've been working fulltime for 11 years now and make great money in the environments you describe.

I would kill to be starting out now: not for the sake of youth, but for:

* top-tier CS courses using dynamically typed langiages.

* English-like languages being considered a 'grown up' solution

* Microsoft not being seen as the solution to everything

* The end of the packaging dependency hell that a lot of Linux distros had

* Element trees for XML

* Not having to repeat the logic in my database and app,

and more.

You might not get the jobs you're applying for, but consider: do you really want to work at these places? Thousands of people in their early 20s are working at newer, large-but-rainmaker places like Google and Facebook, or starting their own great efforts, taking advantage of today's technology not yesterday's.

There's advantages and disadvantages to older coders. The biggest disadvantages are that you have a family and responsibilities, and your health insurance is a lot more expensive.

If you're a great programmer, who's interested in learning new technologies, that's not such a big deal. But honestly, your "when google is one click away" comment is not signaling those qualities.

Actually... if you do things right from the beginning, things like money, health insurance and family responsibilities are much more of a factor on your 30's than on your 50's (If you plan right..)

With reference to Googling stuff comment.. are you saying that you never use reference sources?

IMHO, When you have a large breath of knowledge that you need to use, it makes no sense to memorize it.

If I am supporting up a framework that uses spring, I refer to the docs once or twice, then it stays with me for the duration of the project.. six months later I am building an app using Python,mplayer,ffmpeg & wxPython and for the life of me there is now way I can tell you straight-off-my-head how to configure the hibernate SqlMapClient-what's his face thingy! give me 5 minutes, I'll look it up and i'll be done & tested in 20 mins.

I could go on and on on this to technologies that have not been used since before most of you where born.. (how many of you remember IRQ14 ?)

The point is: Some things are timeless (vi ?) and I know them solid.. some others, I refer to use and let go.

I am totally curious.. How about you guys? Do most people remember api specific stuff for ever ?

Regarding API docs, I'm certainly not saying I have all APIs memorized, or that you're approach is bad. Its just that the comment you posted sounds like past employers have asked you to learn things and you've resisted. I suppose its actually the "I don't see the value" part of that sentence that bothers me more. Also, I was saying that it sends a bad signal, not that it necessarily means you're not intellectually curious.

I absolutely agree that some things are timeless, and the breadth of knowledge an experienced programmer has is their primary advantage. It just seemed obvious, and you were more interested in disadvantages.

Anyway, just some constructive criticism from a 27-year old business owner. Best of luck.

Age shouldn't be an issue, but it is. I've worked with many young developers that think anyone over 30 doesn't have a clue.

The real problem is that some developers over 50 refuse to learn new things, and that gives younger folks a tainted view of all older developers.

Frankly, getting older and having the potential of getting discriminated against because of my age scares the crap out of me. No way to prove they're doing it, and never to be hired again, at least as a full timer. Yikes.

Age is not an issue[1]. Ability is an issue. Experience is an issue.

You could be 60 years old and have just started learning software development last year. The funny part? That still doesn't necessarily tell you much about the ability level. A year of development experience does tend to put an upper limit on how experienced you would say this hypothetical 60 year old newbie is, but it does definitely depend on his/her existing skills and education.

Or you could be Don Knuth, he's 71 right now.

Or, you could be a 60 year old who never got a good education and doesn't care to.

Knowing someone's age tells you how long it's been since they popped out of their mom. That's it.

[1]: Obviously there are people who judge based on age, regardless of legal, moral, or practical reasons not to. What I mean is that age, on its own, doesn't mean much.

I'm still a bit of a spring chicken compared to you, but my biggest stumbling block (at least in the relatively tiny technical job market where I live) is that interesting generalist jobs don't pay as well as older (i.e. not just out of college) employees are used to.

The high pay is restricted to employees of big, boring companies and the occasional startup that wants to hire a guru in some very specific narrow field.

That's not a problem in itself, but as one becomes accustomed to a higher salary, one's expenses tend to grow correspondingly: creature comforts have a way of turning into necessities, possessions accumulate in way that makes a smaller living space impractical, and dependents and stakeholders multiply.

So to the extent that you're competing on price with low-expenses no-family just-out-of-college folks, you're at a disadvantage. You need to make and keep yourself valuable in the other areas employers might look at.

One of my most valued mentors is in his late fifties. He was easily one of the top programmers in his field at the time. He can still carry conversations with me about LISP, Fortran, and C programming as well as PHP, MySQL, and AJAX development.

He does lack in a few areas where the industry is really nascent; but for the most part he is 'caught up'. But it isn't because he memorizes APIs, it's because he as a vested interest in undertanding the how and the why of things; that one feature of his intellect is the most inspiring for me. He picks new languages up in days, not months, because he understands the fundamentals better than anyone I know.

Focus on the how and the why and you will have all of us youngins beat. The only reason younger people may be ahead is because we aren't "set in our ways"; unset yourself and be a bit younger. It does wonders for older people to realize that they can still have dynamic lives.

One bias that might be working against you is actually your longevity in the field. Coding turns over quickly; lots of programmers move to other fields or move up the ranks. To a lot of hiring managers, staying in the same career for a long time indicates an unwillingness or inability to try new things. For a secretary position, not such a big deal. For a fast field like programming, appearing static is definitely a problem (unless you're in a niche field).
My TRS-80 had 4K, so the Basic language used one-letter abbreviations for all the commands. I tried learning Z80 on it, but it was a bit too tough for me; 6502 was a breeze in comparison. fwiw, stick with it if you enjoy it!