I teach programming classes for a living. The classes are 8 hours a day, 5 days a week, for 12 weeks. I put a lot of preparation into it because I want students to have the best, most up-to-date and relevant instruction.
It’s a good job for me. Programming seems to me like an important, valuable skill . . . it’s allowed me to make a living doing (for the most part) things I like and things I’m good at.
It gives you a lot of options. You don’t have to work for a tech company. Almost any field of endeavor now uses software and data and they hire programmers. You can work in education, healthcare, finance, sports, whatever energizes you.
So it’s good to have a job where I feel like I’m helping people. The downside is that the students can’t really tell good instruction from bad instruction.
Yes, they can assess whether I’m articulate and a pleasant person to spend the day with, but they really can’t assess the prep that goes into organizing the material, keeping it current, making it comprehensible and breaking it into 8-hour chunks of valuable educational activities.
The only person who can appreciate that is my teaching assistant, my TA, because he’s also a programmer. Today was his last day. He’s leaving to take a new job (which he should . . . he’s a talented guy and being a TA is not a long-term career).
As part of a note he wrote me, he said
Honestly i think you’re a savage and you provide the students with so much and you don’t take shit from the back office. Thank you for everything. I’m going to miss working with you.
Now here’s a guy who gets me. (By “back office,” he means the sales and marketing guys who want to tell me how to teach the classes.) The single most underappreciated quality of my career — and by “underappreciated” I mean it’s embroiled me in a great deal of conflict — is my unwillingness to take advice on how to do my job from people who don’t know how to do my job.
Thus spoke The Programmer.