Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
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.