I've faced this issue a few times as I've mentored undergraduate students and been unsure how to help weigh the options. A senior computer science major wants to teach CS as a career. However, they are unsure what steps to take to make it happen. The context is the United States, and typically they are open to considering teaching at any level, but unsure how to weigh their options.

What are the possible pathways? Should they get a teaching credential? In what? Should they get a Master's degree? Should they reach out to private or charter schools that don't necessarily require a credential?

What are the outlooks for the possible pathways? What's the prognosis for getting hired at a high school? Will they need to also teach math or another subject? Should they consider more creative teaching paths (maybe bootcamps or makerspaces)?

What would you advise such a student?


The Technical1

Across the nation, many states have either legislated (or are currently in the process of legislating) mandatory CS instruction, so this is a fantastic time to find a job in CS education. In general, there are two paths into the classroom (at least in the public schools).

The first way is to go back to school and get a traditional education degree. There are many graduate degree options available in every state to accomplish this. The degree program will also typically walk you through the process of getting your teaching license within your state (though details for licensure in ever state is but a few search terms away!)

The second path is often called alternate route (though some states may have different names for it). Typically, an alternate route position is created by working directly with a school that would like to hire you even though you have no license, and then working with the state through them. There may be a background check needed before you are even allowed to apply. Again, your students should search for "alternate route, StateName" to get a sense of the procedure and requirements for their target state.

The Emotional

Tell them to be prepared for a very steep learning curve when they enter the classroom as a teacher. While attrition rates are nowhere near the fabled 50%, they are still quite high, and there are many, many reasons for it.

The first several years are physically and emotionally punishing. In my experience (at three schools so far), getting started at a new school or in a new position requires an absolutely breathtaking amount of work just to survive for a few years. During my first three years as a teacher, it was not unusual for me to be in my school building from 7:30am until 11pm, only to report back the next morning and do the same thing all over again. Weekends were for planning, and vacations were for catching up on mountains of grading.

Along with all of that work and exhaustion also comes the emotional roller-coaster. The highs are exhilarating and the lows can be quite dark. If you can make it through the first couple of years, it really does get easier, and you can switch out of "fight or flight" and really start honing your craft. That is when the magic really starts :)


Tell them to join professional associations (like the CSTA). And, no matter how much they need a break, go to at least one conference during their first year. Those conferences will bring them a million ideas, give them a chance to meet other teachers, and also remind them of how very sweet that light at the end of the tunnel is.

And tell them to find some place they can go to with questions to help them deal with all of the bumps and pains along the way. Perhaps even... this very site? ;-)

1 - My knowledge base is primarily in the state of New Jersey, but I have reason to believe that many states work very similarly.


Well first, get a bachelor's degree in CS. Then it depends on the student's goals:

  • Work in industry first. The job outlook for computer science graduates is bright. Salaries are high too. Get a full-time, then go back and teach part-time. I know someone who teaches high school full-time and works part-time in the afternoons. He's very busy, so it's not for everyone. Most universities supplement their faculty with adjunct professors (Warning: they don't get paid much). In my experience, a master's degree is required. Some companies will pay for it though. Companies may also offer teaching opportunities to train other employees or clients.
  • Teach HS right away. Public high schools usually require a teaching certification. Some private high schools may not, but they may want a master's degree.
  • Get a PhD in CS. To become a full-time faculty member at a university, you'll need a PhD. That's more time and money spent on education. But this is the path if research and presence at a university is your goal. A friend of mine received a grant that is paying for his PhD. But this requires that he lives and works at the university for a period of time.
  • Teach online. There are many opportunities to teach CS online. It's a competitive job hunt, but definitely possible. Again, a master's is usually required to teach undergraduate level CS classes. Online interactions with students is less personal, and the pay isn't great.
  • $\begingroup$ Yes. Good point about experience. I've been able to provide real-world examples and best practices to my students. They typically appreciate that. $\endgroup$ – Edwin Torres D.Eng. Jul 20 '17 at 13:33

In many ways the most important reason to choose a profession is that you are driven to it. In many ways the most important characteristic of a good teacher is desire, including a desire to learn. If you have that, it is likely a good choice. My own heart wouldn't let me do anything but teach. This developed pretty early, certainly by my undergraduate days.

Don't do it for money. You can earn more doing something different, certainly. Don't do it for general societal acclaim. In the US too large a fraction of the population despise teachers, thinking of them as "takers at the public trough." Only do it if your makeup compels you to do it.

But the same is true in many fields. Don't study Philosophy or Music because you think it will give you a "career." Do it because you love it and no substitute will suffice.

However, if you are driven to a particular field, let no obstacle stop you.

But it is good to have a backup for which a broad education helps. The world changes as do the perceived needs. There was a time when mathematicians were in great demand, followed by a time when they needed to know how to service cars. Up and down, maybe up again later.

I may be outing myself here, but I once told a group of APCS graders that they were the "greatest people on earth" for the dedication they showed to education and to their students. Wild cheers, of course. I hope they were cheering themselves, not the speaker.

(If you recognize the above scenario, remember and respect that I'm anonymous here, please.)

  • 1
    $\begingroup$ Actually, it is a bit more subtle. I tell (told) my students that it isn't my job to teach you what I know (much of which is obsolete anyway), but (a) to teach you what you need to know and (b) teach you how I think. That was normally how I stated it, but I'd have improved (b) to "teach you how to think." Less personal. In particular, I didn't need to recapitulate my history in CS that got me to the current point of knowledge. $\endgroup$ – Buffy Jul 20 '17 at 17:58
  • 1
    $\begingroup$ Yes. Experts often make poor teachers as they don't understand learning, finding some things too easy. The best Tai Chi teacher for a beginning student is probably not the Master of the legacy, rather someone who understands the struggle. Eventually, though, go to the Master. Actually that is wisdom from one of the Masters, himself. $\endgroup$ – Buffy Jul 20 '17 at 18:07
  • $\begingroup$ Tai Chi is a life long process. The best time to plant a tree is 20 years ago. The next best time is right now. I started at about 60 years old. $\endgroup$ – Buffy Jul 20 '17 at 18:13

One suggestion would be to find a job at a private school where it is more likely that they will not have to have a teaching certification. If they enjoy their time there, then I would suggest becoming certified, if only to make themselves more easily employed by public schools in the future.

There are public schools that will hire a teacher with the sufficient background knowledge and no certification under a provisional certification, often giving them 3 years to complete their certification. This is another viable option, but one will never know if this is possible for a particular school unless they talk with the hiring personnel at each potential school.

  • $\begingroup$ No obligation, but since you seem to be posting a lot lately, you might want to consider stopping by and saying hi in the Classroom, our site chat :) $\endgroup$ – Ben I. Jul 23 '17 at 19:09

I'm going to be honest - I'd question them first. Maybe suggest tutoring to see if they like it, and really trying to get at what they want to do. If they want to teach at a university and also do research, that's one thing. If they want to teach at a highschool or middle school, that's quite another. An example:

I've emailed a professor at a university near me. He does extensive research, especially in molecular computing and so forth, and he emailed me apologizing for not responding sooner because he had been working with a colleague in Spain on a research project. (::jaw drops in awe::) He also teaches a few classes at the university. This is at a pretty good public university.

In contrast, I've taken a class under a teacher in my middle school in engineering/robotics/programming. It was a pretty good course, I must say, but I should point out: he taught three engineering/robotics/programming classes a day, three math classes, and then had a prep period. He also supervised the mock trial club and the robotics club, and I think he might coach a sport too. He as far as I know does not do research. This is at a really good public school.

Quite different. If your student wants to do the latter or the former, fair enough! Both are good pursuits. Just make sure they know what they're getting into. Things might be better or worse depending on whether the school is public, private, what area it's in, etc. Also, maybe they really just want to do research, or maybe lead a team in industry. On the other hand, it's perfectly okay to change careers - I know multiple people who have done it - so maybe they want to do one thing and then another.

That's all fine, but just make sure they know that they want to do, and that they've tried doing it. Also, point out that they might want to take some education focused classes along with their main classes.


Don't. America has developed a disregard for teachers that is revolting. There are too many great careers for people who are able at coding. Right now, reactionary state leges are stripping tenure, pensions, and benefits from teachers. Join the teacher corp today and receive an inferior deal.

Sadly, I think this will get a whole lot worse before it improves. I think it is going to be incredibly tough for the next generation of teachers.

  • 1
    $\begingroup$ I think the DV has more to do with the fact that the question specifically adds the qualifier that this is for those who do indeed want a career teaching CS. Regardless of cultural attitudes, which I don't think we can paint with a broad brush and which comprise another issue altogether, this answer simply doesn't address the question. Plus, in order to have anyone sufficiently trained in CS, we do need quality teachers to educate the next generations of programmers and computer scientists. $\endgroup$ – Peter Jul 20 '17 at 2:15
  • $\begingroup$ I know you're not alone in your thoughts (I was told the same thing in the past when I said I was considering being a HS CS teacher). Do you have any alternative career suggestions for people interested in education and CS if traditional K-12 teaching is off the table? Community college? Non-profits? $\endgroup$ – nova Jul 20 '17 at 2:17
  • $\begingroup$ I am just letting you know "what is out there." People don't like it and I don't care. Proceed with caution. $\endgroup$ – ncmathsadist Jul 20 '17 at 2:18
  • $\begingroup$ Community colleges hire a lot of adjuncts and pay them McDonald's wages. Some don't. Exercise care. A niche can exist here but don't allow yourself to be abused. $\endgroup$ – ncmathsadist Jul 20 '17 at 2:21
  • 1
    $\begingroup$ @nocomprende Sounds like driven applies. Good on you. $\endgroup$ – Buffy Jul 20 '17 at 17:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.