Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: How to transition to teaching SWE?
13 points by ailef on May 21, 2020 | hide | past | favorite | 5 comments
Hi HN!

I've worked as a software engineer specialized in NLP/ML for the past ~4 years, but I have several more years of experience due to dozens of side projects and experimentation.

I've always been fond of teaching, especially about topics that I'm passionate about and I was thinking of transitioning to a more teaching-oriented job (job hunting at the moment). I'm pretty sure I would find it more meaningful and exciting than most software development jobs.

I've started applying to such positions, but I was wondering if someone that has experience in the field can give me some pointers. Off the top of my head:

1) how easy/hard is it to find such jobs? 2) do these jobs usually consists of a fixed-time contract or are they permanent? 3) what qualifications/experiences are useful to have, w.r.t qualifications that are usually needed for SWE jobs?

Basically, I'm asking for general advice on how to approach a transition to teaching, how feasibile is it, is it a good choice or not, etc...




Probably the best thing you could do is to just start teaching.

Pick a topic you'd like to cover in-depth, set up a blog and start writing about it and sharing it.

When applying for jobs, share this with the prospective employer.

I don't believe that this field is advanced enough to have its own qualification requirements as yet. It's mostly just a 'show me' rather than a tell me style of assessment from what I've seen.

Source: Have created courses online w/ over 6,000 students. And am currently in the process of creating another series of online courses and books for developers.

Here's a post where I share some tips on the better methods of teaching software engineering: https://fromtoschool.com/why-most-programming-tutorials-are-....


Thanks for the answer! I have indeed already started applying to teaching positions, although I have just found a few at the moment. I've also started writing technical articles/tutorials as a freelancer on an established software engineering blog.

I'll make sure to read your post soon, I've just skimmed it but it looks promising.


I'm a CS professor and department chair at a primarily-undergraduate college with a lot of experience conducting searches and hiring. I can give you some perspective on teaching positions at traditional colleges; others might be able to talk about teaching for bootcamps or online programs.

Ordinarily, I would say that the job market is strong for good candidates interested in teaching CS (demand has been higher than supply for at least the last five years), but the pandemic has put almost all universities into hiring freezes, mine included. I would expect only a small number of searches next year, with more openings happening in 2021 or 2022. My program has at least one position that we need to fill but I'm not planning on a search until Fall 2021 at the earliest.

I'm assuming from how your question is written that you're not looking at a tenure-track assistant professor position. That leaves you with two main kinds of teaching jobs:

1. Adjunct positions, where you're paid a (low) fixed rate to teach a specific class. Adjuncting can be a way to get some classroom experience and decide if you like teaching, but it isn't a career, there's no stability, and it's basically impossible to earn a living wage.

2. Full-time salaried not-tenure track teaching positions. These are usually advertised (in the U.S.) as lecturers, and typically run on one to three year contracts. Some schools offer "security of employment" to established lecturers, which is like a tenure guarantee: you're ensured reappointment as long as the program is financially viable. Teaching loads can vary from one or two huge courses per semester at a large university to three or four small classes.

Most ads want minimum of a Master's degree in CS or a related field for their teaching faculty, which is partly due to meeting accreditation requirements. It's more difficult, but possible, for Bachelor's degree holders with significant industry experience to be appointed. The term "Professor of the Practice" is sometimes used for teaching faculty with an industry background.

Universities are typically looking to their teaching faculty to cover the core undergraduate classes, so the ability to teach across standard basic and intermediate courses is helpful: intro programming, data structures, web development, etc. Take a look at the curricula for the colleges you're interested in and see how your experience can fit with the classes they would need. Having experience in NLP/ML could make a difference---teaching faculty in those areas have been extremely rare recently---but any program would still want the ability to contribute to the standard undergrad curriculum.

Other things to think about:

- Salaries can range from not great to pretty okay, depending a lot on the school and location. You will almost certainly be giving up a lot of income compared to what you could make as an experienced NLP/ML engineer in industry.

- When applying, think about your teaching philosophy and how it connects to the mission and philosophy of the institution. Give concrete examples of things you have done in the classroom and what you've learned. This will set you apart.

- Analytics is also a growth area, so positioning yourself for those roles will open up more options. An interdisciplinary analytics program may also place higher value on candidates that have industry experience. Again, I wouldn't expect a lot of job postings in the next year, but there will be more options once university budgets stabilize.

- Last point: you have to pay attention to the financial viability of any school you're applying to. Everyone is going to get crunched next year, but institutions that were already vulnerable pre-COVID are going to be closing or drastically reconfiguring themselves in a desperate bid for survival. Medium term, the CS and analytics fields are going to continue to be in demand.


Thanks for taking the time to write such a detailed answer, I hadn't really considered college teaching and this perspective is really helpful. I'll just have to look at how things work exactly in my country and see if there's an opportunity in this field.


I assume if you want to teach Swedish, you would need to know a lot about that language.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: