Poll: Where are you in your programming career ?

6 points by jacquesm ↗ HN
Career programmers, I think, like athletes start off as babes in the woods, then become experts, peak and then slowly find that they're no longer the fastest kid on the block. Where on this trajectory are you, if you consider yourself to be a career programmer (as in programming is your 'thing', that which you do best)?

12 comments

[ 3.3 ms ] story [ 44.4 ms ] thread
What does your skill level have to do with your career status?
That, just like athletes and mathematicians there seems to be a relationship between the two for programmers.

Somewhere (I'm guessing early thirties, but it could be a bit later) there is this pinnacle of capability (as a programmer), and that seems to coincide with your peak in your career (as a programmer). After that I guess you have some choices, go into management, maybe slowly ride the slope down while holding your own against the 'new kids on the block' because of your longer experience.

It seems to be a pattern, but if you think that that is a wrong assumption then I'm all ears to hear about it.

Last I looked the sharpest cookies where all well under 45, and most programmers that are over 50 are really on the way out. Exceptions would be nice to hear about.

I'm 45 myself, I used to have near perfect memory, being able to hold just about everything I had written in my head, you could wake me up in the middle of the night and tell me some symptom of a bug in 'e' (an editor I once wrote) and I would probably be able to give you a rough idea (as in function name + associated variable names) of where the problem would be. I can't do that anymore.

But that doesn't mean I'm 'done' as a coder, I still enjoy it tremendously and I'm forcing myself to learn new stuff all the time because I think that is what will somehow stave off the inevitable. But that may be an illusion, I don't know that for sure.

If you know of lots of examples that show that careers of programmers and their skill levels are not related then I'm all ears, it certainly hasn't been my experience.

I think all programmers that don't program for a living are by definition examples of unrelated skill and career.
Ok, sure. But I meant that in the context of 'being a career programmer'.

It wouldn't make much sense to ask non-career-cyclists about their cycling careers.

Let me see if I can come up with a wording to more properly reflect that.

edit: better like that ?

I don't think the wording was the issue. There are career programmers that never make any effort to improve, but they'll still likely move up in rank simply by virtue of being there longer. Similarly, there are excellent programmers that don't get much career success.
Well not everyone here is a programmer.

A lot of people are middling programmers but have a great career.

Some awesome programmers work in only vaguely related fields.

I dont think the 2 really equate in any meaningful way.

> Well not everyone here is a programmer.

I'm sorry, that was a bad assumption on my part, it is just that I wonder why you'd be a member of a Hacker community when you're not a hacker...

> A lot of people are middling programmers but have a great career.

Ok.

it is just that I wonder why you'd be a member of a Hacker community when you're not a hacker...

Uh..... well it's technically a start-up community. plus hacker !== programmer. I know plenty of hackers who would be shocked by that statement :P

> well it's technically a start-up community.

That's true, I think subconsciously I've taken the 'hacker news' a bit too literal.

Somewhere (I'm guessing early thirties, but it could be a bit later) there is this pinnacle of capability (as a programmer), and that seems to coincide with your peak in your career (as a programmer).

Wow. jacquesm, I have really enjoyed many of your comments and felt like we have like minds in many ways. Now I see that we are fairly close in age, too.

But I couldn't disagree more with the idea that we peak and decline. I am so glad that I became a programmer for many reasons, but the newest reason is that I'm still really just a kid. It's still fun (maybe more than ever), I can make a good living, and be a the leading edge of technology. I know my skill and performance is better than ever. I just can't imagining peaking and declining for a long, long time.

Last I looked the sharpest cookies where all well under 45, and most programmers that are over 50 are really on the way out. Exceptions would be nice to hear about.

I can only guess about what you have observed. Could it be that the best programmers over 45 are in places where you wouldn't normally see them? Or they've done so well that they've taken early retirement to pursue other things? Or maybe they didn't take care of themselves and their minds have deteriorated along with their bodies? I don't know. Maybe I'm an outlier, but I'm as fresh as ever. (Do outliers know they're outliers?)

I can't do that anymore.

Not my experience, either. My memory and ability to develop are as fresh as ever. Not sure why. Maybe health, maybe genetics. Who knows, maybe you just need something fresh and cool to work on and you're memory will be just like it always was.

I've looked around me at the people that were 'great' programmers (and I mean that in the sense of being able to tackle large projects, organize things well, ability to learn new stuff).

I have a very limited sample to look at, which is probably a good part of the 'bias'.

It's great to see at least one (you) exception to the empirical rule that I've found to date, which is that old programmers don't. They retire, not because they can't code any more, simply because the rate at which new stuff is generated outpaces their ability to internalize it.

To some extent I feel that programming is more and more about APIs and less about algorithms, which is where I thought the real fun was in designing software.

If I look at the guts of a piece of code written in the last decade or so, say a large framework, I see nothing but 'glue', the 'real' stuff is hidden so far underneath that people are almost unaware of it.

When you're building a web application in Django, for instance, then you have the following layers to go through in order to get some records from a database on to the screen of the end user:

- HTML

- template

- view code

- ORM

- python

- sql

- some database engine

- storage engine

- operating system

- device driver

- finally the hardware this all runs on

I call it the 'layercake', it's the closest analogy in the real world that I can find to how software is structured.

My 'comfort zone' is the one at which I can understand all of what I'm doing. There is no way to go and know all that is going on in a modern computer, there simply is too much code, and clock speeds are so high now that three seconds of computer time are more than you could possibly step through in a lifetime.

So, I'm operating on 'faith' most of the time now. And I find that hard. I have a strong tendency to 'reboot' my career every decade or so, to keep things fresh, strike out in to a path that I'm still completely clueless about to keep things interesting.

Whenever I do that the old stuff starts to look like 'new' again and I find that I can fan the fires for another decade or maybe a bit longer. I hope to keep this process going, but the programmers around me that were absolute aces in the 80's are now no longer able to keep up, one by one they fall back, lose interest and quit. Some go in to different fields (music seems to be popular, funny enough, in the 'coders at work' book there is L Peter Deutsch who became a full time composer), some just burn out completely and stop.

I wonder what is in my future. I've always been like a little child when it comes to programming, it gives me endless fascination to figure out stuff and to see what makes it tick. When I was three years old my father gave me a screwdriver and a typewriter he found at the garbage to take apart. I never stopped taking stuff apart (it took a while before I learned how to put stuff back together).

As for the memory thing, that's been a pretty scary experience, I don't know when I first became aware of it, it must have been last year or so, when I realized that there was stuff that I'd forgotten. Not that before I wouldn't forget stuff, but that only happened to things that I didn't want to remember, anything that I wanted to remember stayed put. It seems that that is no longer the case. If this goes on I may even have to start using stuff like address books and agendas!

...peak and then slowly find that they're no longer the fastest kid on the block.

Not my experience. Not even close.

30 years of programming and my best code has always been my most recent. I just keep getting better and better with no end in sight. And I love it.

AFAIC, there's absolutely positively no reason to believe OP's hypothesis of "peaking" and "declining". I wonder what data he bases this upon. Not me, that's for sure, and not most of the people I know in their 40's and 50's.

In this way, we are not like athletes at all. I remember watching Michael Jordan when he played for the Wizards, riding the staionary bike to keep loose during timeouts. What a pity, I thought, to be at the top of your game, then a shadow of yourself just 5 years later.

We programmers are not like that. Just take care of yourself and you don't have to level off until you would have anyway. All the new technology and opportunities keep the field fresh. And the people, too.