Why I Switched from Software Engineering to Teaching
It’s safe to say that when people find out that I have a software engineering background, and that I’m a teacher, they think I’m crazy. So, to start off this newsletter, I thought my transition would be a good story to tell.
I remember a particular moment about 8 or 9 months after I had started my first full-time job as a software engineer. I realized that about 2 months had gone by and I hadn’t even realized it. It was like I had woken up one day and those 2 months had disappeared in the routine of commuting, working, cleaning, and grocery shopping.
On the one hand, it was hard to complain because I was being paid pretty well to do a relatively easy job. The first 5-6 months had been quite challenging, as I was learning my trade and the system that I was working on. Yet, after that, it was smooth sailing. I liked my coworkers and as a developer at a small startup, I was building features that had a tangible impact.
On the other hand, as a 21-year-old, I was looking for more. I wanted to see more of the world. I wanted to do a job where I felt like I was more directly impacting people. Finally, I wanted a sense of unpredictability and a job that posed more of a daily challenge.
In order to find some middle ground, after almost 2 years at my first job, I quit to travel the world and do freelance software development work. While the freelance work and savings kept me afloat, I found that working as a distant contractor was in many respects a step down from my previous job. Moreover, while traveling was great, most of the relationships I built were fleeting and transient, typical of life on the road.
After over a year, I started to consider other alternatives. I had always been interested in teaching. However, I didn't seriously consider it until I met a number of English teachers on the road. Teaching ESL (English as a Second Language) seemed like an easy way to get some exposure to a classroom environment and see if teaching was a good fit for me.
After returning to the US for some time to work and replenish my funds, I signed up for a CELTA course in Hanoi, Vietnam. The CELTA course is a month-long highly intensive course designed to prepare students to work in an ESL classroom.
After arriving in Hanoi and spending a week exploring, I found myself in a classroom teaching my first lesson to a group of 20 Vietnamese university students. I remember feeling stunned at being the center of attention and the myriad of things to simultaneously keep track of. It all felt so chaotic.
The course required 14 hours of work a day, detailed lesson plans, essays on pedagogical topics, and 8 observed lessons. I had amazing, highly-experienced tutors and by the end of the course, I felt relatively prepared to be in a classroom. Indeed, much of my teaching methodology has its roots in what I learned in that course.
I spent the following 2 years working in a diverse set of institutions in Vietnam, taking every opportunity to get as much varied experience as possible. After my first year, I was hooked on the job. The sense of accomplishment, the people-oriented nature of the job, and the unpredictability every day made the job both exhausting and fulfilling. After about a year, I started the process of becoming a licensed teacher in my home country. Almost immediately upon completion of the process, I received a job offer to work in an international school in Kyrgyzstan.
In Kyrgyzstan, after initially teaching ESL, I was asked to teach Computer Science when the previous teacher left. This is when I really hit my stride. While I liked teaching ESL, I had real, practical experience in the field of Computer Science and I had a strong passion for the material. The experience cemented my desire to pursue a career in the teaching profession.
After Kyrgyzstan, I worked in Spain and just recently moved to Lviv, Ukraine, where I’m currently teaching ESL again.
In my career so far, I’ve had both positive and negative experiences. Specifically after leaving East Asia, I found that I had to sharpen my classroom behavior management skills and there were some days when, after dealing with a particularly difficult group of students, I wondered whether it was all worth it.
That was when I would apply for software engineering jobs, partly to cope and partly to see what options were out there. The opportunities seemed too lucrative to pass up, particularly with the increase in remote opportunities during the pandemic. Moreover, to an extent, I missed solving high-level technical problems, beyond the level of problem-solving required at the high school level.
However, when I would go through an interview or really, seriously think about going back into the software development field, it always seemed a lot more dull than being a teacher.
Perhaps a more people-oriented position such as sales or marketing is in the cards at some point in the future, but at the moment I would like to go back to teaching Computer Science at a school long-term. Jumping around in the last few years has been tiring.
Outside of teaching, I started a Youtube channel to teach Computer Science concepts and a business selling educational study materials. My entrepreneurial ventures have scratched the technical itch that I may have been trying to compensate for by applying for software engineering jobs and I don’t plan on stopping these any time soon.
Any way you cut it, I deeply enjoy being a teacher.
If you enjoyed reading this post, feel free to subscribe to my blog here on Substack. I plan on using it as a professional outlet for some of my ideas regarding not only teaching Computer Science but teaching in general.