Many years ago, when I had to learn C overnight to make a living as a programmer
(this was before C++), I would have given half my salary to find a mentor, a
person would say, “Here are the potholes in the road...errors that you are sure to
make in learning C. And here’s how to steer around them.” Instead, I had to
sweat and groan through every error a person could make.
I’m not just talking about programmers who can write or writers who can
program. Each of those is rare enough. Much rarer still is the person who is programmer,
writer, and teacher—someone who will steer you around the elementary
gotchas and enthusiastically communicate the “whys” of the language,
including why this stuff is not just useful but, in its own way, kind of cool.
It’s hard to find such a person. But way back then, I swore this is the person I’d
become.
Later, at Microsoft, I started in tech support and testing and worked my way
into management. But my most important job (I felt) was explaining new technology.
I was sometimes the second or third person in the world to see a new feature
of a programming language, and my job was to turn a cryptic spec into
readable prose for the rest of the universe to understand. I took the goal of “make
this simple” as not just a job but a mission.