Ask HN: Is "At which age did you start coding?” a good data point for hiring?

29 points by akhayam ↗ HN
Was talking to someone I trust who told me this is a question that gives a solid data point on a candidate developer's hire-ability, with two qualifiers: 1/ Asked from young-ish developers, so the expected answer is always less than 18. 2/ Asked in addition to coding/system-design questions.

Has anyone seen a study or even an anecdote on correlation between success of a developer if they started coding earlier (say 11yr), rather than later (say 15yr or 16yr) in their youth?

89 comments

[ 2.4 ms ] story [ 197 ms ] thread
It's my guess that in the U.S. and much of the Western world that this question would tend to select for males. For my sample size of three children (2 boys 1 girl), only one, a boy, started coding very young.
I personally wouldn't put too much stock in this.

Just because you wrote a ruby script at 19 doesn't mean you actually started programing then.

Exactly, I wrote a visual basic program preteen, a little perl a bit later which made me give up.

Later in college I discovered programming and have been since

It is not a solid data point because it assumes that everyone has equal access to computing hardware and knowledge.

People from a more rural or economically poorer background would be discriminated against just because they did not have access to computers early in life.

Having earlier access to a computer and 'coding earlier' is no indicator of superior talent or current coding ability.

I've seen solid evidence that this helps support gender bias. In "the West", disproportionately more boys than girls start to learn to program in the age range you mentioned. [1] A selection method which gives preferences for a younger start year will therefore also be biased in favor of males.

If two candidates are equally competent at the coding/system-design questions, then I don't see what difference it makes if one candidate started at 11 and the other at 16. You'll also want to know how much time they spent programming - 1 hour per month? 1 hour per day? did they stop for a few years? Also, what was the actual programming? Because entering BASIC games from a book, as I did in the 1980s, vs. hacking Spice Lisp at CMU (as jwz did at age 16) are both "programming", but I know who you should have hired as an employee, and it wasn't me.

[1] I'll quote https://dl.acm.org/doi/pdf/10.1145/3196839.3196867 as the first paper I found which discusses the underlying issue, and with supporting evidence:

> Computing education has experienced a falling popularity over the last decades, in particular among girls [15, 18, 29]. The situation does not seem to be improving, either in Norway or in other Western countries. We even see a drop in the number of women in computing studies in the humanities that used to attract more women [30].

> In contrast to the Western picture, certain Asian and Eastern European countries have not followed this trend and can boast a higher proportion of women in computer science [8, 50]. This leads us to conclude that there is no obvious, natural or biological reason for women being a minority in computing or for computing being associated with masculinity.

> Such associations are rather results of social structures and specific cultural constructions that have made it less likely for women to choose computing across most of the Western world [8, 52].

> Cultural images and stereotypes have been documented as being vital in creating barriers for girls’ and women's engagement in IT [5, 10], also in Norway [18].

I don't like the idea that you have to start early to be competent. I've met people in the industry who only got into software development in their late twenties, and were very good at their jobs.
There's roughly four main parts to programming: "getting it", creativity, experience and working hard.

Some people are better at some of these aspects than others, and vice versa. Only experience requires having programmed a lot. However perhaps those who start young are more likely to "get it", making it fun for them, though I think it's a poor proxy since you can't control for who had exposure at an early age.

I started programming at age 12, quite by chance. I stumbled over some code one day, and my buddy could tell me it looked like Basic and I could try QBasic on my machine. I was quite fascinated, and really wanted to learn more. However I didn't know anyone who could program, and we didn't have internet nor BBS access. So until I was 16 and we got our first modem, I spent a lot of time bumbling around alone.

On the bright side I think it made me good at reading documentation. On the other hand, I could probably have done a lot more actual programming if hadn't had to spend a full week trying to find the one keyword I was looking for... Of course it didn't help that QBasic's built-in help was in English, and I had only started learning English that same year.

At 12? Well, that is a little older than we usually expect, but I’d probably still interview you.

I started at 10 with my subscription to Home Computing Magazine and my uncle was teaching me to make juke boxes.

> I started programming at age 12, quite by chance

Most of your luck came from being born in a family that could afford a computer and let you spend time on it...

That's still by chance.
Sure, and that was part of my point.

Not everyone will have the same circumstances growing up. And the only thing it'll really affect is how much experience you have at say age 20. And as I said, experience is only part of what makes a productive programmer.

That being said, our first computer was paid for by ny dad's work when we had to move, so he could part time remote (no modem tho, so floppys and paper back and forth).

Would you ask a doctor at what age they started surgery?

It's irrelevant.

You might as well ask about the wealth of the candidate's parents, which is significant factor in whether a child has access to a desktop computer on which they can do serious coding.

Simply asking about starting age is trying to infer "genuine interest" based on a single data point. Which I agree is irrelevant.
Most kids had computers at home when I was a kid in the 90s/00s but they had more powerful computers than I did so they would just play games. I couldn't even play Counter Strike on mine so I learned to program instead.
I think it is a very good indicator. Some comments here try to defend people who started later on and still might be very good, but that's besides the point I think. If you have someone who started at young age, you can be pretty sure they're really good. After all, they must have done it because it was actually fun to them, because no 12yo would be like "this sucks but it will be good for me later in life".

So they don't even need to be geniuses, it's just the extra amount of time they had with programming has given them a head start and is an indicator that they love what they're doing, giving a higher probability that they'll be passionate about the job.

I started at age 4 and I am a competent but not amazing coder.
It is not about when you started learning something, but how you learned it.

It can be easy to learn the "wrong way" to do things when not classically trained, especially in engineering roles, that is hard to unlearn later.

That is, you could have an understanding of something that works for what you have seen so far, but is fundamentally flawed and it is not until much later when you have seem more complicated scenarios that you understand how it was flawed.

Someone learning later, though, from a professional, can be showed the bigger picture earlier and have a better understanding.

I agree! I was responding as an example to help disprove 'if somebody starts early, they're good.' I think there are benefits and drawbacks to each type of learning. There's also a lot of things I have some incomplete knowledge of but have never learned the appropriate way/have blind spots about and a lot of things I had to learn the hard way that would have gone way more smoothly if I'd opted for a CS education or learned differently.
I started at the age of 7, on a Sinclair ZX81, a Z80 based system. Getting it to print things to the screen. Then eventually progressed to an Acorn Archimedes at the age of 9, where I started to figure out how ARM assembly language worked, which is built in to BBC BASIC. At the age of 11 I was already fluent in assembler. Then programming C at the age of ~14 or so, and running Red Hat Linux 5.1 at the age of 16.

But then I was set back at the age of 18, where I developed severe PTSD from a family abuse related incident, sadly. That was way back in 2001.

I am strongly against this question. You're basically looking at who's parents provided an opportunity for them to learn coding early.

I'm sure you would find that most people who started programming at a young age (and are still doing it obviously) are probably better than average and also enthusiastic. However, I think it is still a disservice to anyone who didn't have support as a child.

For the record I was learning basic and programming games on my TI-83 calculator in middle school, so I would probably benefit from this question!

Exactly.

I wrote my first hello world program before high school (I don't know exactly what age), and I know plenty of people that started in adulthood that would be better coders than me. I'm not bad, I just recognize that plenty of people learned later and are "better" at coding.

Yeah I had non technical parents and a school that considered excell to be computer science.

I tried to learn at home but didn't get past simple scripts. I'm sure a more gifted person would have done better in my position but I think I could have done better if I'd had help.

I think it detects a couple things:

1. Are you internally motivated and excited by coding? Lots of false negative potential, but if you did code early and kept with it then that's a good sign. But with all the STEM education and stuff now, I wouldn't necessarily trust that. I.e., this signal quality is falling.

2. Were you able to progress independently? Children tend to be less supported, including less supported by their own discipline, so there's some indication that early success implies some kind of natural talent. But it only really matters if you get some sense of what they mean by "started coding". It would be classic imposter syndrome for some groups of people to set a higher bar for "starting".

3. Did you have access? Help, equipment, someone to guide you in a direction that would be fun and motivating? We'd all like to think this is a false signal, but the challenge of privilege is that it might not be: privilege is often used to nurture actual skill and talent. That is even expected of parents! But it's also a problematic metric of course.

If the question was useless then we wouldn't be having this conversation. That it's useful but problematic puts us in a jam. But it's also easy not to ask, and to put in the work to get the signals you care about with a less problematic question.

I'm against it because I would say I started programming by copying BASIC games from magazines for the C64..... and would lose more for being old than gain from starting young.
Hah, there's more than one of us! Copying from magazines and Goretek and the Microchips are how I started.
Compute!'s Gazette FTW!

I was very fortunate to have a computer in the house, available 24/7, from around the age of 10. ZX81 kit, then later a C128, then Amiga, then other variations (and a PC clone in there as well).

We were some variation of 'middle class' in a growing community, and I wasn't the only kid at school with a computer, but I'd say it was certainly less than 10% of us. You quickly made friends with the folks who had Mr Nibble and similar copying programs (I forget the big one in the Apple II world).

But it was a totally different time. Anyone born in the last 25 years has never known a time without essentially instant access to the world's information, essentially for free. I struggled with a 300 baud modem, taking hours to download anything of substance, hoping no one would pick up the phone because you forgot to turn off 'call waiting' during a big download. I remember the jump to 1200 baud, then later a 14k modem blowing my mind.

Back then, it wasn't just about 'programming' as much as ... you learned to 'think' like a computer a bit more than I think you do now. The UIs we have now are both way way way better than 40 years ago, but also still awfully confusing at times.

Probably a bad, or irrelevant, question to ask I agree, but I don't think most people who learn to code early due to parents proving an opportunity. It's more likely you have an interest in it, or that it means something to you. Merely being introduced to coding isn't necessarily going to motivate a young person to pursue it even if they're very bright. I'd actually posit that most people would be turned off by coding because it's so anal and tedious. Today there are other reasons for people wanting to learn to code: basically publicity.

Personally, I learned Basic from a RSTS/E BASIC-PLUS manual at age 9. At the time I was interested in mathematics and would go to the local library to read up on it. When my older brother came home with a printout of a simple program incrementing a variable by one and printing it I was pretty confused, since "A=A+1" doesn't make sense mathematically. When the assignment was explained to me, that you could automate mathematics, it was the most incredible thing I'd ever seen.

you are saying that those who benefited from early exposition to computers are better programmers but a company should somehow ignore it because it's unfair
Yeah that's exactly what I am saying. If you want your entire team to be have a monoculture go for it! I think diversity (in all kinds) is good and many of the very best engineers I've worked with came from non traditional backgrounds.
This pretty heavily assumes that you can't learn programming by paper or on a shared school computer (quite widely available in the UK/US for a couple of decades now), which itself reveals a bias in your mindset here, tbh.
that's true for old people, but almost anyone have access to the internet/computers today, so for younger generations the questions isn't did you have access/support, but did you prefer playing minecraft/fortnite/watching youtube or learning to code?
Did you eat cookies and sweets all day or you ignored those and ate the normal meal as a kid provided you always had access to both?

There is no kid who choose hard learning over low hanging dopamine fruits these days. If they do the opposite they are either backed by parents or REALLY strange.

I wouldn’t have a career in computer science if I didn’t take an early college computer science course my senior year of high school. I had no idea about the world of programming the same way the a classroom setting would gave me and my high school was so poor it didn’t have AP classes to introduce me earlier.

I’m in my early 20s. it’s absolutely about access/support.

You didn't have a computer until your senior year of high school?
Nothing spurred me on to do computer science until I took an actual programming course. I was like the rest of the population that had no idea or interest of the things going on underneath until it was showed for me.

And no I didn’t get a personal computer until my freshman year of college. Up until then I used my Family’s computer to write essays and did everything else on the web via my phone.

a lot of things are really about opportunity

I wouldn't ask anything age related at all in an interview.
In fact, that the answer could theoretically be over 40 and that that would count against the candidate means it's probably illegal in the US without clear evidence that it directly relates to job performance.
I first programmed a computer in high school Computer Programming 1 class, in Turbo Pascal, running on a 486. But then I stopped programming for many years until I was around 35. I took up the pursuit in earnest and landed a QA engineering job at a hardware company which turned into a software engineering position. I’m doing a majority of Programming in C and C++ currently, as well as Python for writing test scripts.
What do you think it will indicate?

Quite honestly, I think this is an incredibly bad measure to try to correlate with job performance. I know plenty of people who coded from a young age and aren't good at coding, or they are great at coding, but wouldn't make good employees.

Beyond a single course at school I took when I was 17, I only really started programming when I was 21 and started my career.

I like to think I've enjoyed some success over the past 11 years, but I would definitely fail your friend's arbitrary criteria.

Not really.

You're filtering for wealth.

Not really even for wealth. All of my friends in elementary school got 8-bit or 16-bit home computers. However, my father also got me a BASIC programming manual with it, and I also had an uncle who was already doing some basic tinkering with a ZX Spectrum. Hence, I was the only kid who learned programming in my whole group.
Yes, it's filtering for wealth; but it's not only filtering for wealth.
This feels similar to asking “do sons of blacksmiths make better blacksmiths?” and a few steps later you end up with a guild system.
Please ask this question, it makes it much easier for me to hire.
Man I remember when I was little, I always wanted to make apps for iOS but my parents couldn’t even afford to buy me an iPod touch let along a Mac…
I worked at a big tech company in a staff/principal engineering position. I always had coworkers who didn’t start coding until college, who were better engineers, communicators, and overall leaders than I was. I turned to them for mentorship.

For what it’s worth, I learned to code in grade school.

I wasn’t terrible at my job, and left in that principal role.

Not sure how conclusive my anecdote is, but I 100% do not believe there’s a strong relationship with starting to code earlier in life and being a better coder, engineer, or general employee than someone who started in college or even much later in life.

It’s a good data point in the sense that chances are, people that started doing that early are good. That doesn’t mean that the people that didn’t are bad. You’d be missing a large population of good coders if you use that data point as a high bit in decision making.
This a meta comment. Many other comments here talk about a correlation between wealth and programming early in life, which really surprised me. I started programming on a commodore 64 in the early eighties, and I don't understand mentions of needing a desktop computer or powerful/expensive hardware; on the contrary, you could learn programming on any old computer with a keyboard.

Anybody cares to explain their reasoning here about the correlation with wealth? Besides any correlation between having started early and being a good prospective hire.

A C64 in 1983 cost the equivalent of ~$900 today.
I don't think the mention of the C64 was with regards to its affordability at the time, but rather its computing power. If you find a 20 year old computer in a dumpster, yeah it may have been expensive back in the day, but its cheap as dirt now, and so long as you can get it to turn on it's still going to be perfectly adequate for hobby programming. Programming may have been an expensive hobby 40 years ago, but it's been cheap for a very long time now.
I was raised by a single mother. We couldn't afford to fix broken windows. I didn't have a bed for a year. My shoes were worn out and didn't fit. We couldn't afford a C64 in the 90s.

I eventually got a home PC but I was 16. I had a paper run and a cleaning job.

I guess I can offer a data point here. I started programming in C at around age 12. For a long period after that, I didn't know much about software engineering, I was writing really poor quality code, but I was tinkering with programming for years. Then I started learning it seriously in my late 20s and got to a senior role in a large tech company within about 3 years. It was easy for me to learn a lot quickly as I would intuitively "get" a lot of concepts.

That is the main advantage in my case over many others who didn't start so early. Programming concepts are easier to understand, I can learn codebases quicker, and similar. But I can attest to being a very, very bad programmer for about 15 years before I started learning coding seriously. You shouldn't have hired me over a fresh grad when I was 22. Now, maybe I bring more to the table than some other engineers with formal education only. But then again, the advantage is so small that things like personality have a bigger influence on coding ability, I think.

The question about when a candidate started coding can be a nice conversation starter. But starting early doesn't guarantee competency. In fact, a kid will almost definitely not follow great SWE practices for many years. So those years of experience aren't worth a lot, in my opinion.

As others have said, the age at which someone starts programming might be a better predictor for their wealth and similar. I was the only kid in my neighbourhood in the 90s with a personal computer to code on. But what good does that do in describing me today as a professional, a software engineer, or a person?

>So those years of experience aren't worth a lot, in my opinion.

That makes me feel better. :p

I didn't start until SUPER late. When I began learning it, I feel like I took to all the concepts like a fish to water and found a passion for it which endures to this day.

I have a hard time imagining what code my younger self would've written without cringing, but I always wondered whether I'd be godlike at it now or just as good plus cringeworthy memories if I started early.

(comment deleted)
This is not a good question to ask as a data point. There are lots of people in their second and third careers who bring a lot more to the table because of their experience.

The age at which you start doesn’t guarantee anything other than you can say “I’ve been writing code since X”.

(comment deleted)