Fog Creek Software
Discussion Board

Breaking into teaching Programming

I would like to teach programming some day at a technical college or perhaps even a four year school.  I'm wondering if anyone on JOS teaches programming and if so how did you get into it?  What qualifications did you need to have?

Dave B.
Monday, January 12, 2004

I have often thought this would be a cool (albeit lowpaid) route.

I think you would need a masters or PhD at least wouldn't you?

Aussie Chick
Monday, January 12, 2004

Some of the more technical and applied universities will take you on as a speaker even without a degree, but you should have more than adequate industry experience.

Li-fan Chen
Monday, January 12, 2004

Yeah.  I'm curious too.  Can you actually make a living teaching at a technical school, or is it just something people do in their spare time?  Do you get summers off like high school teachers?  Is it a rough racket to break into?

Monday, January 12, 2004

I think it is a side gig.  Not something you can support yourself on. 

Those "Apex Tech" schools will probably pay you like $15/hr-$30/hr.    But you may only get 6 hours a week

For a legit accredited college level job, you need to get your PhD (or Masters at the very least.)  you can teach adjunct for about $2000 a class.    You may teach 1 to 3 classes a semester.  (Including summer sessions, that comes to $6-18k/year)    Hiring adjuncts are an abusive way to hire dirt cheap labor, with no benefits.

In both cases, you can slash your hourly rate by a factor of FIVE, b/c you may spend 5 outside hours preparing for a 1 lecture hour.  In a computer class, it may be 10 fold.  eg:  You may prepare and code several labs, and only end up using one for the class.

Monday, January 12, 2004

The teachers I have talked to at the local technical college do make a fair sum of money but as you mention not as much as could be had in the industry.  Some of them do consulting on the side to supplement their income.

I think teaching at a regular university may be more my style but I won't jump to any conclusion and as you mention I would need a higher degree to pursue that endeavor.

Dave B.
Monday, January 12, 2004

I taught part time a local community college in Portland, OR (PCC) a few semesters.

1.  I didn't need a Masters (I have a BS in Electrical Engineering) because I wasn't a permanent employee.

2.  It really made me focus on HOW I write software. I learned quite a bit just through introspection.  Many people can DO something (like programming) well without actually understanding HOW they do it.  Understanding HOW you do it can help you do it better.

3. I probably spent 3 hours working on lectures for every hour of lecture the first time I taught a class.  That went down to about 1 hour per hour of class time and eventually down to about .5 hours after I finally got my lecture smoothed out.  I also spent about 1 hour for every 2 or 3 class time hours grading homework.  Hated that.  Eventually, I tried getting the class to grade thier own work.  I don't remember how well that worked.

4. Pay was quite poor. I made, as I recall, about $20 per hour of class time. 

5.  Since I was working 2 hours a time, commute time overhead could be a pain. Wasn't for me because I was 10 minutes from the college. BUT, if you were 20 minutes or more and you're classes aren't back to back, you might spend as much time driving as teaching.

6. Overall, I enjoyed it until I'd mastered the lectures I was given. Then it got a bit boring. Then they gave my classes to a full time professor. (There was some political pressure to give priority to permanent professors).

The real Entrepreneur
Tuesday, January 13, 2004

I was a junior lecturer at a college (in europe) for two years. Basicly I took my bachelors in the same college and some of technichal teachers took notice of me. When I was done with my education they asked me if I wanted to teach.

Its alot of fun in the beginning. I was basicly the same age as most of the students. They liked me alot.
But like the above poster said.. when youve got your material down it gets pretty dull. Its kind of depressing because as soon as youve managed to teach one bunch something tricky, a new batch comes along. You start from square on every other month.

Also, after two years, the avarge age of my students dropped for some reason. Like, some were born 1984. Not having alot incommon with the students take some of the fun out of it.

Eric DeBois
Tuesday, January 13, 2004

I teach a very basic course on JavaScript for undergrads and some other stuff. I working towards a graduate degree, and teaching at the same school.

You need to be at least one degree better qualified - i.e. if you want to teach BS students - you need a MS, to teach MS students - you need a PhD.

Prakash S
Tuesday, January 13, 2004

Generally, you need a PhD to be a professor, an MS to be an Instructor (full time faculty), and a BS to be an Adjunct Faculty member (part time faculty).

To get hired as Adjunct Faculty with just a BS you often need to be a grad student or have connections within the department and significant industry experience.  For example, my Comp Architecture II class was taught by a guy with a BS in math, but he worked in a supercomputing R&D group for 15 years.

Often 2 and 4-year colleges offer professional development / non-degree courses.  The instructors usually have at least a BS, but not always. Likewise, other tech schools have instructors with industry experience and no degrees (although certifications are common).

Lastly, I read story a few months ago about a guy who started a linux user group. He often held classes in the user group, and that ended up being the key to him landing a teaching position at a local community college.

Tuesday, January 13, 2004

I looked in to teaching a class at a community college on an adjunct basis.  $500 per credit hour, so I would've only made $1500 for the semester, minus taxes.  Then I was told that a lot of the people taking the class wouldn't have very good computer skills, much less programming skills (it was intro to programming). 

During the boom, they would advertise "bachelors required, masters preferred".  Now they advertise "masters required".

Tuesday, January 13, 2004

I have been teaching C++ for Windows.

The hardest part is to find the right speed at which you teach your stuff. While some find, it's too slow and too boring (those sitting in the front), the others find it's to fast and to hard (They're sitting in the back, and come in 10 minutes too late). Yet, I believe I made a good job, although it was impossible to make 100% of the students happy. You must be able to cope with that.

The worst thing for me was to give grades. Imho, it is impossible to rate your students correctly. Sometimes, I even "had" to give someone a bad grade although I'd have hired this person instead of someone I "had" to give a good grade.

The salary was not bad, though, but that might be different in the US of A.

Last but not least: I learned a lot myself.

Rene Nyffenegger (
Tuesday, January 13, 2004

The worst thing for me was to give grades. Imho, it is impossible to rate your students correctly. Sometimes, I even "had" to give someone a bad grade although I'd have hired this person instead of someone I "had" to give a good grade.

One of the things I noticed in school through discussions with my friends, was that I wouldn't have hired most of the "A" students.  The ones that got straight A's, and were badgering the professor with questions about the assignment after every class.

The reason we decided was that they couldn't think for themselves.  The time they spent after class was trying to get some information from the professor to fit the homework questions into something that they could answer straight out of the book.  Turning a thoughtful assignment into fill-in-the-blank questions.

But then I have a couple friends, one got a 2.2, the other a 3.2 or so (Low C and low B average, respectively), and they would be the first two I would hire, if given the chance.  The classes bored them, so they didn't put the large amount of effort needed to get an A.  Granted, the attitude left some to be desired, but they were still the best programmers in the classes I've been in.

Andrew Hurst
Tuesday, January 13, 2004

This is a very interesting thread.  Does anyone know what it takes to make a living off this?  I would have thought my high school computer programming teacher made more than what some people are listing.

Do you basically have to teach at a "real" 4-year university to make a living?

To Hurst: yes, the problem with education is that it doesn't require people to make any choices.  Life is full of choices.  Not finding exactly what the teacher wants, and executing it perfectly.

Tuesday, January 13, 2004

Teaching programming is the same as teaching anything else, as far as conditions and salary go, though there certainly used to be a lot more vacancies.

What teachers get varies a load from country to country (and in the States there are immense variations from State to State).

In general though, teachers the world over get a little above the average annual income for the country. The reason is that they do need to be well-trained and that limits supply to some extent, but the job is labour-intensive, so the government simply can't afford to pay loads as it can with doctors or computer programmers.

Stephen Jones
Tuesday, January 13, 2004

I see lots of commercials for tech schools "Get an exciting new career in the expanding field of Web design" (ha ha ha). I think though that there is money to be made in this area.

Why not set up shop yourself & teach courses.... you're not an accredited institute, but you can offer a level of mentoring that wouldn't be available to students. You can start to build a client base by hanging flyers at nearby schools advertising your ability to help them learn the ropes.

$100 per student for an 8 hour class once a week a month. If you get 10 students that's $4,000 a month for 32 hours work plus any side help you offer, or grading any assignments you may give them.

Of course, you'd need 10 computers & space to teach in to start, but that's not impossible to get set up.
Tuesday, January 13, 2004

I was thinking about doing that Mark.  I receive a lot of unsolicted calls from people wanting help learning how to use this program or that program or just wanting me to show them how to change their desktop background.  Word spreads fast that you can help people with their new eMachine from Best Buy, especially in a small town. 

It might be a feasible market in my area if I were to pursue it.  (And if you can put up with the annoying but sometimes hillarous questions people ask.)

Dave B.
Tuesday, January 13, 2004

The comments by stephen jones and markTAW are interesting contrasts. If you are a "professional" teacher, with a teaching certificate and working at a high school or community college, you are going to make between $14-$30 an hour (in class hours only).  However, if you are someone who teaches real estate seminars, you can charge whatever you think you can get people to pay.

I started taking yoga classes last october, and a friend of mine and I estimated that the guy who owns the yoga studio (the most popular studio in my area) must be bringing in at LEAST $500K a year. If his during-the-day courses are as popular as the night and evening classes, he could be making twice that. Not sure how much of this goes to expenses, but it appears that ad-hoc teaching of in demand skills can be a good way to make money.

Tuesday, January 13, 2004

Nice thread!  I spend some portion of my time here at my Internet Consulting firm teaching people stuff (what marketing is, how to use CMS's, etc) and I thought about getting some moonlighting work done teaching people how to use Linux to meet their personal/small office needs.  (Thus getting away from the $$$ it takes to run Windows, which is a separate story altogether).

From the research I've done, it seems like the trick is to do some good marketing, and make sure that you teach people a real-world skill that they are willing to pay $10-$20/hour to learn.

Good luck with your attempts to teach.  It's amazingly rewarding (and as other have said, beneficially introspective)

Anca Mosoiu
Tuesday, January 13, 2004

Hmm. My friend is signing up for Brainfuse to tutor kids in her spare time because it's something she's interested in. I mentioned teaching college students and she said college kids have no money, so there isn't much money in that, but I'm sure that at any college there will be quite a bit of variance in spending money, and there will be a number of professionals (if you can find them) interested in this kind of service.

As was mentioned, a Robert Kiyosaki or a Carleton Sheets can get $5,000 per seat for a seminar, but these are people with a huge reputation that can do seminars for people with that kind of spending money (or that high a credit limit).

If you have the ability to try this... Why not go for it?
Tuesday, January 13, 2004

I didn't realize how lucky I am until coming across this thread. I work for a national technical school, teaching xhtml, xml, photoshop, and javascript. I'm paid $50 an hour, and each class is 6 hours a week.

Wednesday, January 14, 2004

$50 - $60 a class hour is probably what High School teachng translates to, at 20 class hours a week and forty weeks a year.

There was a discussion a while back about teachers salaries. They are still lower than programmers salaries, even with the recession on, but well above Wal-Mart wages. At the very least it's a useful fall back to have.

Stephen Jones
Wednesday, January 14, 2004

*  Recent Topics

*  Fog Creek Home