This post is about the strange idea in the programming/computer science community to brag about have taught yourself programming at a young age. It is a long post! The tl;dr is the title 🙂
The craziness of the self taught 10 year old
Before I will explain why this strange myth can be harmful and often only half true, let’s first have a look at it in more detail. For example, imagine other professions with it:
- Lizzy wanted to be a brain surgeon so bad that she taught herself lobotomy on the family’s pet hamsters
- Gary wanted to be an accountant so bad that he learned double entry bookkeeping at age 12 and did his high schools books until senior year
- Chermaine wanted to be a lawyer so bad that she studied four different judicial systems before age 16
Kinda funny huh? Somehow, for brain surgeons, accountants and lawyers, this sounds a bit absurd. If I read this, I get that sense of: let kids be kids! They can study a topic when they are old enough to know what they want to be. Imagine something along those lines in a *job ad* “You are so drawn to surgery you taught it to yourself at a young age”. Creeepy! Yet, I regularly see this in programming ads.
Why do we love this story so much?
Although they are clearly related, there are two parts to this. Firstly the young age. Somehow, doing something at a early age is a worthwhile thing, it shows we ‘naturally’ love a topic, and it places us right there with glamorous soccer players, brilliant ballerinas and extraordinary musicians. Those often start at an early age. But there is an interesting difference. Soccer players, ballerinas, musicians, they are hardly ever self taught. They have a talent sure, but that is nurtured somehow, and their parents let them join a sports, dance or music club. There they meet a teacher or mentor, and a group of like minded people, who they learn from, and with. See how these related myths only cover half of ours?
So I kind of see the young aspect of it, but why do we think the self taught is so cool?
I have no clue either. But, it does seem to fit into the narrative of the lone programmer in the basement that, you know, is legendary for hating light and talking to humans. By propagating stories of how we are self taught, I think we continue a storyline that is harmful and not realistic!
Why is it harmful?
Well, for starters, realize not everyone has a freaking computer, a library near or an internet connection. If you are interested, here is some data for the US. In 2013, 83% of the population had a computer, but only 56% for families where the householder had no high school degree, and 62% for low income families. The respective numbers for internet are 74% in total, but 44% and 44% for low education and low income households. This surprised me! Wow, less than half of low “opportunity” households has internet in the US!!
So, some people just don’t have the opportunity to learn, even today, and these are of course often, surprise, underprivileged kids. Secondly, some kids with means have the interest but are put down at an early age. Remember the Israeli study on girls and math degrees? Maybe a school starts a special match and science class for kids with high grades in math and these (equally good!) kids don’t qualify. Maybe a teacher or a parent does not offer a programming book to a girl, or a kid with a reading disability or a whatever difference from the ‘nerd norm’ a kid might have, and we lose them.
Then, due to them being ‘naturally drawn’ to the field or other reasons, they end up doing a major in cs, and we put the burden on *them* for not doing it in their teens or preteens. Hello, it is not just them, it is also society!
We need better narratives
Even the greatest individual ‘chosen ones’ of our modern beloved fantasies with all their talents did not do it by themselves. Imagine Harry without Dumbledore, Hogwarts and Ron and Hermione. Luke without the teachings of Obi-Wan and Yoda, and the comradery of Leia and Han. Neo without Morpheus.
Imagine Harry Potter saying ‘I taught myself magic at age 10’. Hell no! He would credit his teachers and friends. You know who would take all the credit? Malfoy! I want to be Harry Potter and not a mean bully. So, here goes:
I did not teach myself programming when I was 10
As of today, I am going to rewrite my own history and today I make a vow not to ever again propagate my own myth. If you catch me do it, seriously, feel free to correct me. For reference, below are my original and rewritten history into computer science. Yes, I surely did program at a young age, but there were people and opportunity all the way down. Let’s celebrate the people that helped me get into computing and put the focus on them and not me me me. People I owe the biggest of thanks to are listed at the end of this post in somewhat chronological order.
Felienne’s former love story of programming
Let me tell you how I got into programming. When I was about 6 we got a computer at home, and I was immediately drawn to it. I remember experimenting with WordPerfect and Paint, and the idea that you could write and paint with a computer amazed me. I then got a book with BASIC listings for games that I manually copied (yes, I am 100 years old), and I changed the code until I understood what it all meant. In high school I started learning Pascal and Delphi, designed a program to play Yathzee (including a simple AI to play against) on my TI-83, and my high school end project (profielwerkstuk) was a program that did machine learning (then still called regression analysis :)) on data and plotted a graph of the data and the extracted regressions, including 3D graphs in Delphi. Being naturally drawn to computing, I studied computer science, went on to get a MSc in computer science followed by a PhD in software engineering and I am faculty now.
That is a great story, yes! I love it and I told it many times. Especially the part where I manually copied Basic listing and manipulated them to learn. So oldschool! But, here’s what really happened.
Felienne’s alternative love story of programming
When I was 6 my parents had enough money to buy a computer, and enough trust in me to let me play with it. Observing my passion, my uncle so he got me some old ‘introduction into computing’ books from the school where he taught. I borrowed the BASIC books from a local library (until I ultimately bought them later in a library sale). My high school had a computer club, which I joined, and I hung out with other kids there, and we gave each other crazy challenges like rendering 3d animations on the TI-83 and the Yathzee game. I had the same math teacher in high school for six years, that often let me skip real homework, as he recognized they were sometimes too easy for me, and let me do programming instead. He actively encouraged me to do the end project in his topic. In my senior year, I still had not decided what I wanted to study. I was good at, and liked all the things and I considered Latin, philosophy and even theatre school. No one, not my parents, teachers or other friends told me computing was not for me, and despite me being only girl in all my science classes and in the computer club, I felt part of the nerd group in my school, and ultimately decided I would enjoy studying math and CS most. When in university several professors encouraged me, told me I had a knack for programming and research and motivated me to consider a PhD.
See, it was not just me!
Now. Look at all the people involved! Mid class parents with money to spend, very encouraging high school teacher and a few great university professors, plus opportunity like library, a school with a computer club and a feeling of belonging. In only now know how lucky I was. In every step of the way I could have been discouraged and dropped out, but there was social support all around. I see now that not everyone has that.
Thanks in chronological order:
My late dad for his life motto “dat maken we zelf wel uit” meaning as much as “we can decide that ourselves” He refused to let other people tell him what you should do and how you should behave so hard that he had a motto for it which he frequented all the time.
My mom for being a ‘beta’ that ended up in teachers academy, because no one could help her pick a good major. She was smart, but her parents were a carpenter and a housewife, and it was the early 70s. No one thought to send a girl to a technical major, even though she had the papers for it. Because of her experience, she always stressed that my choice was mine to make and that there was not such a thing as ‘for me’ or ‘the better
The late Peter Nabbe, my high school math teacher that spoiled me to no end with ‘get out of jail free cards’ and programming materials.
My nerd friends in school. The ones most notably for doing computer stuff with me were Pepijn Vloemans in elementary school, and in high school Ivo Delahaije, Jan Machielsen and Arno Pluk
On a topic level my university professors Tom Verhoeff, Hans Zantema and Rob Hoogerwoord, who recognized and nurtured my love for programming, puzzles and theory.
On a more personal note, finally, I cannot thank Alexander Serebrenik enough. At the end of my BSc studies, when I still wasn’t sure what I wanted to do (I still liked many things) and at a stage in my life that I felt different from the other students in my class (in our end project, I actually liked talking to our customer and understanding what it was they really needed and not just the programming) he repeated that I was good at cs, and that the other students should be so lucky to have me in their team. I might be in a very different career right now if it wasn’t for him. I have told him this, but it really cannot be said often enough.
Dear Felienne, I’m afraid I have to disagree.
I was 10 when I (I am saying “I”) started to learn programming. Yes, it was not my own computer. It was from my dad’s workplace. He took home a ZX81 for the week-end and an A4 sheet copy with three BASIC programs on it.
We were not an English speaking family but he knew English so he told me what IF … THEN means, what GOTO, LET and PRINT mean and what a variable is. But he didn’t know how those programs worked.
We typed in the first program together with him but it didn’t work. We missed a semicolon due to the bad quality of the copy. After this he left me there. Then I (I mean I) typed in the second one. It worked. Then I explained it to myself what the code does and how. And then I explained it to my dad.
Some weeks later he took home a list of a very long BASIC program called HOEHLE. I still remember it. I was reading the source code for month. Finally I shouted HEUREKA when I understood it completely.
He was a good teacher to show me what to play with. But it was my decision to go along that path. Later on, reading books about BASIC and assembly of Commodore 64 was my idea again. Then selecting the appropriate university was my idea. I decided which teachers’ advice to embrace and which one’s not. At the age of 20 I bought my first PC for myself. It’s true, it was with 30% of my mum’s help but it was a loan. I paid it back later to her. I earned that money from typing in texts for other students into Word.
I think it is our decision in our life what to learn and who to learn from, what to read and what to use our time for. It was solely my own decision to become what I am now, 33 years later.
So yes, I, I mean I, started to learn programming at the age of ten.
Luckily, everyone is free to their opinion and to crafting their own story. When I read your story, I see lots of opportunity that other kids might not have had. A computer, a patient dad that somehow obtained BASIC listings, a mom with money to spare.
I absolutely recognize your own passion and calling! I am not saying that is somehow less, or not true. It is just not the whole truth. In my story, certainly I was involved, it wasn’t people pushing me along without my influence.
But think for a minute where you would have been without your parents? Still in computing? And didn’t you have friends that learned and experimented together with you?
I wanted to point out that in most ‘I taught myself’ story, there are supporting roles for important people, and failing to recognize that is not helpful.
I recently read Outliers by Malcolm Gladwell, in which he analyses success stories of different fields (including software) to see if there is more to the “I did it all by myself” and “All you need to do is work hard” sentences that we love to use. Perfect fit for this blogpost.
Well, I think everyone has her own story.
I had enablers, like my dad buying me a basic book, my parents letting me buy a computer despite understanding what that thing does, my uncle getting me an apprenticeship.
On the other hand my current position is much described with “despite”.
I learned Basic, despite the nerd folk around me being so uncool we never got friends.
And despite my friends being ignorant about computers.
I learned C despite my Cobol trainer not letting me, to avoid “confusion”.
I then got the only C position in my company despite being a young and inexperienced programmer and improved myself despite hard project timelines that had no room for courses or further education.
This continues to go on: Me taking books and experimenting with stuff despite being discouraged by the environment which disregards those topics with all sort of bullshit, until some “consultant” comes and management switches to exactly those technologies I learned “despite”…
Shall I now praise people around me for not blocking me as hard as they could but leaving loopholes for my self teaching?
Hey Felienne,
I would have to say that the time when all the learning was done was in the hundreds, no thousands, of hours spent with just me and the computer. People are always involved in shaping who you are, in any discipline, but unless you have a tutor you are self motivated, self directed, and self taught. You don’t need an expensive computer or an internet connection to learn. You just need to find your thing. This is true of writing, drawing, making, and many other creative pursuits. It may not be true of the more tangible skills when there are more complex requirements such as brain surgery, but I’ll bet those who developed their concentration and fine motor skills building intricate models in early life found it set them up well for brain surgery later.
I don’t want to dismiss those that are credited with supporting me through my life, but I think my passion and my determination mean that it was me that developed my skills, not anyone else. I just wanted to present my thoughts into the mix as they seem to contradict yours. This is not a bad thing by any means, and I hope you don’t see it as such; we all have different experiences in life.
Great post, absolutely agree.
The myth is harmful because it’s so easy to believe that if you didn’t start until you’re in your 20s (or 30s, 40s….) then you’ll never be a really good programmer because: a) you’re starting too late and b) you haven’t got the natural ability, otherwise you would have been drawn to it at age 10.
You mention that it wouldn’t happen with a musician but I hear all the time about supposed self taught musicians. I play guitar but I never got lessons. I guess I could paint myself as a natural by claiming to be self taught, but I would be a total fraud. In reality I read every guitar magazine I could get my hands on, watched hours of guitar videos on youtube, went to see and talk to the best players I could find, and listened to music constantly. I was taught by 100s of the best players in the world, past and present.
You’re right, people are too keen to propagate the myth of the self-taught child prodigy. In some cases about themselves, which makes them seem somehow super-human. But in many other cases the myth is propagated about others which, I think, gives people the perfect reason not to try themselves.
I agree. As with all instances of privilege/relative advantage, the “I taught myself at age 10 so anyone else who wanted to could have too” narrative usually misses out the support (or lack of barriers) in one’s life. I learnt young, but this was aided by parents who saw it as a reasonable thing for me to be doing, plus the access to a computer and books that they provided me. Everyone seems to roll their eyes at discussing privilege, but like you, I have reworked my opinion of my own history with this in mind, especially after reading some of the related literature. In the Glitch study, US African-American kids hid their programming activity from their peers and family and talked up the money they were making as a more rational explanation for why they would do programming (rather than just than that they enjoyed it). Such a different world. Sure programming is a bit geeky to make a big deal of to acquaintances, but to hide it from your family…
From a school/university perspective, what I find particularly irritating is this idea “I taught myself so who needs formal education”, which often leads to “formal programming education is useless” or “anyone who wants to program can do so just fine without formal education”. The fact that you can self-teach (true of almost all subjects) does not mean teaching it to others is pointless! This also tends to affect the peers of self-taught students, who worry “if I didn’t start before age 16 I will never catch up with these people who’ve been programming for ages” — I heard this from several people during my CS undergraduate degree. Sure, the others have a head-start, but it doesn’t mean that over time (especially over a forty year career), you won’t catch up.
Hi Felienne,
Great article, and you have made some critical points on how people don’t just “learn programming” in a vacuum — opportunities and people were critical for so all of us who learned at a young age.
I would say, however, that our intuitions as to what may encourage others to take up programming can sometimes be wrong. For example, take this article: https://www.washingtonpost.com/news/answer-sheet/wp/2016/04/25/stop-telling-kids-youre-bad-at-math-you-are-spreading-math-anxiety-like-a-virus/.
I have sometime been guilty of saying, “Math is hard,” even though I have a degree in it, because I thought it would have a beneficial effect on others learning math. But there is a possibility (not proven by this article) that saying “Math is hard,” may make others more anxious and decrease their performance in mathematics.
In programming, one can imagine testing the efficacy of two messages: “To learn to program, you need a supportive environment, the right equipment, good teachers, etc.”; or “Programming isn’t that hard; after all, even kids can pick it up on their own.”
Which of these two messages (or other alternatives) might encourage more people to learn programming? I don’t consider the answer to be obvious (though maybe there’s research I don’t know about).
I learned BASIC because my Father bought our family a C64 and a kid-friendly book on BASIC programming. However, my Mother got rid of the computer for religious reasons. Not long after, I learned how to program in C (before I was a teenager) by checking out books from the library and writing down my programs on paper, because at the time I did not have access to a computer.
This message can be taken as a message of hope for kids who want to learn programming but don’t have access to great teachers or the best equipment. Someone reading it can say, “Wow, I can learn by writing programs down on paper? That’s so cool!” But it can also be taken in other ways, such as, “You didn’t learn programming at a young age, so it’s hopeless for you!”
Ultimately, if our goal is promoting programming, we need to answer the question of which explanatory style will be more efficacious. Your blog post is quite excellent because it opens a discussion on explanatory style for those of us who learned to program at a young age, which is something that many people (including myself) have not spent a lot of time thinking through or researching.
Thanks much for sharing your thoughts!
Hi Felienne,
thank you for writing this up! It seems that you are hinting at what Bourdieu calls “social capital” and “cultural capital” – reading comments to this article shows that not everyone is aware of these “dimensions” and we probably need more testimonials like yours! 🙂