
Ask HN: How to transition to teaching SWE? - ailef
Hi HN!<p>I&#x27;ve worked as a software engineer specialized in NLP&#x2F;ML for the past ~4 years, but I have several more years of experience due to dozens of side projects and experimentation.<p>I&#x27;ve always been fond of teaching, especially about topics that I&#x27;m passionate about and I was thinking of transitioning to a more teaching-oriented job (job hunting at the moment). I&#x27;m pretty sure I would find it more meaningful and exciting than most software development jobs.<p>I&#x27;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:<p>1) how easy&#x2F;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&#x2F;experiences are useful to have, w.r.t qualifications that are usually needed for SWE jobs?<p>Basically, I&#x27;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...
======
taphangum
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-...](https://fromtoschool.com/why-most-programming-tutorials-
are-so-hard-to-understand-and-a-solution-to-this-problem/).

~~~
ailef
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.

------
elonmollusc
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.

~~~
ailef
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.

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

