Like many people of my generation, I started programming at an early age. At 10, I was writing 6502 assembly language. My beloved BBC Micro lacked built-in flood fill, circle and ellipse drawing, and other graphics commands, and I spent many happy hours working on these. I used interrupts and vectors to place a clock in the corner of the screen, of limited use since the Beeb lacked a battery-backed RTC, but, multitasking baby!! Exciting stuff. I dabbled in making games, I did a little 3D and simple physics modelling, I wrote my own version of LOGO†.
I sometimes come across people with similar backgrounds, who count their programming experience as starting from those days‡. Now it is natural that I would feel an affinity here, but real experience has taught me that that experience doesn’t carry over into programming in a commercial setting. The problem is, a normal, working programmer, does an awful lot of things other than write code. Hobby projects don’t teach you to write documentation, or specs for new features, or clear bug reports that anyone can pick up to reproduce the issue. It doesn’t teach you how to work in a team, how to branch and merge, how to do code reviews, how to mentor others. It doesn’t teach you how to manage priorities or dependencies or balance conflicting demands. It doesn’t teach you how to talk to users or sponsors or vendors. It doesn’t teach you how to make intelligent use of technical debt. It doesn’t teach you about how to dive into unfamiliar code, under a tight time constraint, in a business domain you don’t fully understand, and make your change without breaking anything else (or what to do if you do). Dealing with distributed, heterogeneous systems can make things get very complicated, very quickly, in ways you can’t anticipate unless you’ve done it a few times before. There are a million other things… A guy or girl who does this isn’t even exaggerating their experience, they’re demonstrating that they don’t even understand what experience is. People in their early 20s who think their “10 years” experience puts them on a level with someone in their 30s who has 10 years commercial experience plus their teenage and other personal hobbyist projects. Please stop this!
† Then about 14 I discovered other interests and didn’t do much computing again ’til college at 18. FORTRAN baby!!
‡ Or equivalent for their generation.