share
Meta Stack OverflowHow old are you, and how old were you when you started coding?
[+156] [13] community_owned
[2008-11-29 20:30:13]
[ discussion research experience ]
[ http://meta.stackoverflow.com/questions/33970] [DELETED]

Note: The following paragraph is left over from when this question was closed on SO, before it was migrated.

Closed. Yes, this is an interesting question, but there is now over 1200 answers (41 pages). In terms of data (since this is tagged as "research"), there is nothing to gain from having this question remain open (there should be more than any interesting metrics to be retrieved from this many answers). Also, it is becoming a bit of a nuisance being constantly on the Stack Overflow home page - as said by Simucal in this questions comments,

"This question was initially interesting but it is such an easy "question/poll" and applicable to ~everyone~ that it is never going to leave the front page. There will always be an onslaught of new users posting data to it. It was a worthwhile experiment but should it be on the front page forever?"

I would appreciate it if you didn't just reopen/rollback this message, at least not without some discussion regarding the above points!

To reiterate - this is an interesting question, but it has run its course! Remember, closing a question doesn't mean it is deleted!


In Stack Overflow's 31st podcast, Joel asked Jeff if he knew a 53 year old programmer, or someone that has been programming for more than 25 years.

Well, here is the perfect place to ask such a survey-like question.

I suggest placing a line with two numbers, like that:
your-age-now, age-you-started-coding
so it would be easy to create a .csv file, extract histograms and have a clearer picture on ages and years of experience within the programming community.

Edit by Mark Harrison. Here's a quick and dirty Bash script that will fetch all the data that has been posted in the suggested format. Figure out some interesting stats and post them!

for x in `curl -s http://stackoverflow.com/questions/327973|
          egrep span.class..page-numbers|
          sed -e 's/.*<span class="page-numbers">//' -e 's/<.*//'|
          head -1`;do
    curl -s "http://stackoverflow.com/questions/327973?page=$x"
done|
egrep class=.post.text|
sed -e 's/.*<p>//' -e 's/<.*//' -e 's/ //g'|egrep '^[0-9,]+$'|
sort
Somebody has already done this: stackoverflow.com/questions/50094/… - Greg Hewgill
And also stackoverflow.com/questions/153163/… - Greg Hewgill
Not an exact duplicate IMO - none of those links say anything about age-you-started-coding. - community_owned
Also, what if someone doesn't remember when exactly they started programming? - community_owned
They should check out their own résumé I guess. - community_owned
yeah. this not a duplicate. or did they all start joining stackoverflow when they started coding huh? - Johannes Schaub - litb
Here's something interesting: This data can be used to figure out when kids started programming on their own. If I'm 33 and I started when I was 7, and someone else is 45 and started when they were 19, then we both learned how to program in 1982. - David
Questions don't have to be meaningful, just programming related. How old are you, and how old were you what you started ______? You don't have to fill in the blank since it's already stated. - community_owned
This is insane. 911 responses so far! I'm waiting for StackOverflow to break when it hits 1000 :) - Kyle Cronin
Can I propose this question is closed when it reaches 1000 answers? It's getting rather.. absurd, and it it pretty much stuck on the front page.. - dbr
We just hit 1000! - Kyle Cronin
I'd suggest closing this now, it's pointeless. - Omar Kooheji
I'm rather intrigued by it myself; it wouldn't be on the front page if people weren't posting to it. - community_owned
Are we going for some kind of record with this question? - Erik
I think we've broke all records a while ago... now we're just making sure that this stays the record for a good long time. - Kyle Cronin
Like some folks above, I'm tired of seeing this. I tried putting a please-vote-down tag on, but it was taken off. :) So I'll just comment one more time encouraging people to please vote this question on down as it has done its time. - skiphoppy
At first I thought this was a dumb question too. But then it was interesting to see someone who's been programming for 50 years starting when Fortran was about a year old, and astounding to someone else who started programming at age 3. - community_owned
This question was initially interesting but it is such an easy "question/poll" and applicable to ~everyone~ that it is never going to leave the front page. There will always be an onslaught of new users posting data to it. It was a worthwhile experiment but should it be on the front page forever? - Simucal
Honestly, I think this is a failure of the SO algorithm in terms of time decay factor. As time passes the amount of posts required to bring this into "Hot" should increase logarithmically like the reddit algo. - Simucal
Why not simply add some sort of "ignore question" user preference to SO rather than close or decay an obviously popular question? - community_owned
Good close imo. Good job - Simucal
I agree, Simulcal; it is a failure of the algorithm. - skiphoppy
It is a valid question. It is programming related. It has a huge community response. It's rated very highly. - community_owned
ReClosed. It was rated highly based off it's original merits but it has served its purpose and we have nothing more to learn from it. It constantly being on the top of our question stack is pointless - Simucal
Thank you, Simucal, thank you!!!! <3 - community_owned
I wonder why would 70 people favorite this? Are they returning here every day to read a few hundred new posts "I started when I was 12 with BASIC"? Or they are checking if graphs are still working after 1200 answers? - community_owned
@serg555, I wondered that too. My only guess is they want to come back at some point and time and read the graphs in the first post. - Simucal
(2) duplicate of stackoverflow.com/questions/327973/… - Aamir
Sorry, didn't find that one when I was searching. And it's just one part of my question!? - community_owned
(1) Ok, try stackoverflow.com/questions/176580/… for the other part - Paul Dixon
Man, it's hard to come up with new questions. I really did spend some time searching for questions similiar to this one :( - community_owned
Related - badp
[+172] [2008-11-30 01:37:22] Federico

30, 14

alt text

Here are some statistics:

Sample size:                         899
(1) Current age:                     avg   31.9 std.dev  9.8
(2) Age when started programming:    avg   13.4 std.dev  5.0
(3) Year when started programming:   avg 1994.6 std.dev  5.0
(4) Correlation between (1) and (2): 0.3

Althought a chi-square test should be done to check for a real dependence between the current age and the age at which people learned programming, the slightly positive correlation coefficient seems to suggest that younger people tend to learn at an earlier age than was possible for older people (this is intuitive, for availability of computers and free compilers has increased more and more in time).

The updated source code is here [1], improved with suggestions from dblack and others, and with a check for the date of last editing.


EDIT: Also it would be really interesting to normalize the age distribution against the percentage of the population who were programmers at the time each person started (or assume late teens). There seems a large drop at around 50 or so which would roughly correspond to the arrival of personal computers when these people were that age.

[1] http://www.dei.unipd.it/~rampo/stuff/ages.py

mmmmh, needs some debugging though. Work in progress :) - community_owned
I think it would be best, if all of the charts appeared in the first post (aka, The Question). - Paulius Maruška
Thanks for the charts Federico - John MacIntyre
It seems the majority of people (including me) started programming just on the outset of puberty - community_owned
It would be interesting to see a spread of reported ages by commonality , e.g, what is the most common age someone started programming, and what is the most common age for a programmer today. - community_owned
puberty? I'm still waiting for mine! - Mitch Wheat
How about a chart for years coding? - rschuler
That is amazing. I am voting you up just for showing me the beautiful soup library. - James McMahon
I second a chart for years coding. :) I'd do it myself, but I keep forgetting to check this at home. This is a client laptop I'm not supposed to mess with much. - community_owned
I think it likely that the noticeable drop at age 50 or so is because that corresponds to people then in their late teens having cheap personal computers (Apple ][, Sinclair ZX81 etc) available. Joel's lack of 53 yr olds is simply because if your older than 50 you didn't have that opportunity. - user132053
Add one more vote for the "years coding" chart. :-) - community_owned
Okay, I've added the "years coding" and "year started" to the graph (although both might be slightly redundant), but I don't have the rep to edit this one. Someone please move it from my answer to here. - community_owned
Would be cool if you updates it - Thomaschaaf
look on "page" 22 for an updated version of the graphs - community_owned
Watch out for the non-constant bucket width bug Stroboskop noticed on my version. - community_owned
i wonder why the two last bars mirror? Or should it just be labeled "Distribution of years programming" (then it would make sense to me) - Johannes Schaub - litb
oh... there's a bug. "Distribution of year when started" is "2008 - <age when started programming>", instead of "2008 - (<age now> - <age when started>)". I thought it looked like everyone was too late. :) - community_owned
Also, the graphs are misleading in that the bucket width is not constant. Stroboskop noticed this on the versions on my answer. Since 0 to 70 years for the first one has 70 years but you're only plotting 30 bins you end up with 2.33 years per bin. This means that some bins sum 2 years, some sum 3. - community_owned
dblack, oh that makes sense now :) i already thought my mind is lost - Johannes Schaub - litb
@rschuler and Claes Mogren - When I saw the number of charts change from 2 to 3, I wondered the same thing, how long before a 4th chart showing the number of years coding would appear. I'd like to see it too. - Bratch
1
[+27] [2008-12-01 17:11:51] community_owned

35, 7

BASIC on the TI 99/4A.

Quite a bit later I moved to a PC AT with BASIC, then TrueBasic, then C, asm. Learned Pascal in high school, then everything basically exploded and I don't really think I want to bother writing it all down. :)

EDIT: Here is an updated set of graphs adding the number of years programming and the year the programmer started. The modified source is here [1]. I don't have the reputation to edit the original answer.

REQUEST: Someone with enough reputation please take this graph and the link to the modified source and add them to the original post. Feel free to re-host them if you want.

I'd tweak them a bit more, but I don't really know python or the modules used. I also sadly just don't have the time to research it further. It's a fun topic, though. Thanks to the original contributors!

plots

[1] http://www2.griffin.net/age2/age2.py

Hooray for home computers in the early 80s. I wonder about the constant change of peaks and lows in the graph though - does it mean every generation of nerds is followed by a generation of jocks? - community_owned
If they're real, then it probably corresponds to the release of certain platforms, or ad campaigns... I'd like to add a linear plot overlay year by year, as the histogram is combining years and makes things less clear. More bins just adds gaps if you've got too many bins. - community_owned
I gave it some more thought and i'm afraid - IT'S A BUG! It's probably because the bars are 2.5 years wide, i.e. one bar collects 3 years and the next 2. Better make those bars 2 years each. - community_owned
Yes, that occurred to me... but I didn't quite think it through. I had a feeling something was wrong, thus the "If they're real". Thanks for explaining my fuzzy wrongness feeling. I'll reboot into linux and play with it a little until my client shows up. - community_owned
Okay... client's almost here. Here's the best I could do in a couple minutes. I varied the number of bins per graph so that there is a constant gap of 1 between samples. That way we know there are no combined samples. - community_owned
Nice work on the graphs, thanks. Who is it that has been coding for 50 years? That's impressive! - community_owned
Much better. Now finally the last two charts mirror each other. Although i still don't buy people starting to program at age < 6. - community_owned
Interesting, shows most people started coding either as a preteen, or at uni - johnc
Okay, I intended to remove my graphs as soon as the original was updated, but that one is still somewhat buggy. So, now that the question is closed, this may never change. I will still be checking every once in a while, though. Thanks, everyone. - community_owned
2
[+2] [2009-07-23 09:32:53] community_owned

Just started C++ about a year ago. I'm 22 going on 23. I was one of those guys that played sports and whatnot, never had a real interest in computers. But, about a year ago I decided to give it a go and decided I loved it :) Now onto Delphi :o


(1) In at the deep-end then! - user133351
3
[+1] [2009-07-23 09:26:50] community_owned

Paper-BASIC at age of 8 (didn't have a computer, so I started programming on paper) and this was going on for about two year

The next year I spent trying to make my programs work in Atari BASIC on Atari 65XE...


4
[+1] [2009-07-23 09:38:08] Jeffrey Kemp

33, 16

GWBASIC, on DOS 3.3 on my dad's new 80286 as a teen in high school. I still remember the lights going on when it twigged how to write a basic event flow, i.e. (I've forgotten the syntax though):

10 PRINT ">"
20 getinput
30 IF input = "GO NORTH" THEN GOTO 100
40 IF input = "GO SOUTH" THEN GOTO 200
.. etc.
50 IF input = "QUIT" THEN GOTO 70
60 GOTO 10
70 EXIT
..

We all had to start somewhere...


Ha, neat. I remember learning this stuff on GWBASIC, and how long it took me to learn the difference between GOTO and GOSUB. A small stack might have helped in that case! - community_owned
5
[0] [2009-12-29 17:35:07] Johannes Rudolph

18, 14

C++ ftw!


6
[0] [2010-07-19 04:23:43] Maxim Zaslavsky

I just turned 13, started when I was 7.


7
[0] [2009-07-23 09:27:07] user133351

BBC BASIC on an Acorn BBC Model B at the age of 10. 6502 assembler at age 11 then my brother told me I'd get beaten up at secondary school if "you are a nerd", so I started smoking instead! Bad move. Took me years to catch up in my twenties!


Hahaha! Yeah, pretty much the same for me! - community_owned
8
[0] [2009-07-23 09:33:38] community_owned

I must have been a slow starter, started out with Commodore Basic (Amiga) and shortly after Turbo Pascal, at the age of 14-15


9
[0] [2009-07-23 09:34:59] community_owned

MSX BASIC, at age 6, I think. (I'm 28 now.)

It was actually my grandmother who taught me! Now the roles have been reversed.


10
[0] [2009-07-23 09:35:33] dfa

I started with Basic at 8 (with an Olivetti, a commodor-like machine), then I moved to gwbasic on a 486, then Turbo Pascal...


11
[0] [2009-07-23 09:24:33] SpoonMeiser

Commodore BASIC on the Vic 20, age 5, I think.


12
[0] [2009-07-23 09:26:08] pzycoman

6, with prolog and basic (then visual basic) at the same time (Do bear in mind, im 25)


13