When I was younger we would take our vacations in Arkansas visiting my mom’s family down there. My grandmother who was quite a good singer and who had quite an intuitive gift for music, had an organ in her living room. I can still remember sitting there and playing with it. I couldn’t (still can’t) play music but as with most kids that didn’t stop me from sitting there and making noise. God bless my grandma–she had to have had the patience of a saint or three to put up with my noodling on her organ.
At one point though I recall finding a colored piece of cardboard in the compartment of the piano bench. It was something that could be used with a special music book to allow someone who couldn’t read music to pick out a tune by following the colors. The idea was that you set the colored piece of cardboard on the keyboard at a certain position and then by following the colors in a special songbook one could pick out a tune. This seems to be an idea that comes up time and again (as evidenced by this) in teaching music to children.
I was so proud of being able to pick out “When The Saints Go Marching In” and have it sound somewhat like the tune should have sounded.
I would never in a million years consider that I learned very much musically. In fact it’s probably much more akin to some sort of Skinnerian behavior conditioning (“Ooh–I follow the colors and I get pretty music!”) than real music. But I could pick out a tune.
So this is part of my concern with the whole “everyone should learn to code” school of thought. While I think it’s a fine idea I’m afraid there are a number of people coming out of these code camps with the software development analog of knowing how to play the organ by following the colors. That is they can pick out a pleasant tune but without the cardboard they’re lost.
Don’t get me wrong–everyone who writes software has to start with baby steps. My concern is that we’re not doing enough to encourage new software developers to move beyond the cardboard color guide of software development and truly understand the dynamics of software development. I’ve seen it more than once or twice–new developers who are utterly lost without intellisense. We need to help people move beyond the rote regurgitation of what they’ve been told to a deeper, richer understanding of the mechanics of what’s going on. If we’re just teaching people to repeat a series of rote steps then while we’re giving them skills for a career change we’re certainly limiting their future prospects in their new career. We owe them better than that.
RIP grandma Ruby and thank you for the clarity to sometimes see through the superficial.