I am 9 programmer-years old
I am about 9 years old in “Programmer Years”. Like dog-years, the conversion from human-years to programmer-years is about 7x. Thinking about a programmer development this way helps offer some lessons on growing into a fully mature developer (at about 18 programmer-years old).
During my first year (in programmer-years) I couldn’t really understand other programmer’s words and often spent my evenings balled up in the fetal position crying. This was a very frustrating couple of months. There is really nothing to do here but force your way through it. Light will come .
1-10 programmer-years old
I got so I could walk and then run, though not always running in the right direction. I was often whiny when I needed help. Other programmers raising me needed to be firm that sometimes I must solve my own problems. It was very much like my 6 year old daughter who knows how to tie her shoes, but it takes her twice as long and doesn’t turn out quite as well as when I do it for her. She is aware of this fact, so she whines and tries to con me to do it for her. If your raising a programmer in this development phase, tough love can be useful, but maybe help your youngster get the preverbal knot out.
10-18 programmer-years old
This is likely to be the most fun phase of your developer life. Latched onto a language as “the golden hammer”. You are confident that you can build just about anything. You’re adding new and more complex ideas every day and your confidence is running high. Which is cause for some caution, as this will likely lead to a couple character building disasters. Much like the 16 year old kid who’s ‘got this driving this down, man’ and then unwittingly drives his pickup truck straight into his girlfriend’s parent’s house while making-out with her (yes, that happened). My only advice here would be to try to keep older programmers around through this phase of development to save you from yourself.
18-70 programmer-years old
You’re a pro. You’re a teacher, open source contributor, and you will make big changes in the world.
You can always pick out the 80 programmer-year old programmers as well. They may have a full on neck beard, they are usually grumpy, surly and often act slightly crazy when responding to seemingly trivial things.
Thinking about a programmers development this way has had a significant effect on how I learn.
When we teach a 6-year-old math we don’t hand them a math book starting with Addition, and ending in Differential Equations and say, “when you finish, you’ll know ‘math’.” Yet programmer books are not usually broken up in to “Grades”, so the inclination for newbies is to sit down with a Ruby book, for example, and ‘learn’ Ruby. A much more efficient and useful approach would be to have yourself surrounded with books for Ruby, Rails, SQL, jQuery, Unix, Python, Regular Expressions, HTML… (and others depending on what your focused on) and read the first quarter of all of them, then go on to the next quarter, much like a child in school learns a little math and science and a little geography in a particular grade, and then moves up to the next level. Programmers rarely work in a language or technology vacuum. Doing anything useful requires you know at least a few different “subjects”.
Still up for debate however, is whether to allow 9 programmer-year-olds to write blog posts for your firm…