- Published on
From teacher to software developer in less than 1 year
- Authors
- Name
- Tom Österlund
In 2020, I made a journey, starting the first week of COVID lockdowns in the beginning of March, and ending with a signature on the contract of my first developer job, in December the same year. Since then, I’ve been asked many times by people I met, how one can simply switch from pedagogical work into IT, like I did. So without further ado, here’s how it happened:
The beginning: coding the night away
In the beginning of 2020, I was working as a primary school teacher, at an international school in Berlin. I had no hard feelings about the profession itself. Working in schools has the potential to be very stressful, but also to be a lot of fun.
During a conversation with a coworker, this then colleague of mine told me that he had started thinking of switching into IT. He had just taken on the role of doing IT-support for us other teachers, and was learning to program in PHP in his spare time.
At the time, I found this a peculiar concept. A coding teacher? I then asked him a question, which I have since also received myself from numerous people: “don’t you need to be really good at maths and science for that stuff?”
Fast forward a few weeks, and I was sitting in an old, noisy, Berlin subway car on my way home from work. COVID was still new. Due to the circumstances, it was clear that this would have been my last day on-site at the school in a while. Working with children in the age of 7–9, it was also clear that we would not be able to spend nearly as much time as otherwise with our students during the lockdown to come. The students were simply too young to be able to spend their whole day in front of a computer. This left me with a thought: if I end up having more spare time than usual, should I maybe try and learn some new skill? Walking out of that very same subway car some 25 minutes later, I had decided: I’m gonna try out programming.
But hey, how does one simply start programming, with no previous knowledge of computer science?
For me, it started with coming home, opening up my laptop, and typing “learn programming” into Google. The top search result in my case, was a course in HTML on freeCodeCamp.
In retrospect, I have realized how such a trivial thing as a Google search, had a huge impact on my career. I simply picked the first result. Had Google instead suggested me a course in Golang or Python, maybe my career would have taken a different turn. In my case, that night in March, I ended up embarking on a journey of learning web development, starting with a simple “hello world” HTML exercise. Many exercises and a first simple webpage later, I shut my laptop and went to bed, just as the sun was about to rise over Berlin for a new day. I knew right away: being so excited about something new, that I could barely allow myself to go to bed, doesn’t happen all the time. I knew, going to bed after that first long night of coding, that I had to try and change careers.
The journey: hard work, doubts, and overcoming
The first few weeks of learning to build software, I finished that first course in HTML and CSS, and I started a course in programming with JavaScript, also on freeCodeCamp.
Though the world was experiencing a major change in the way we live and interact with others, and despite all uncertainty of how things would turn out, I was genuinely excited about the future, much thanks to this new hobby.
I built a webpage dedicated to my then fiancé, now beloved wife.
I built a quiz application for my students, which I proudly managed to deploy to Google Cloud, with the help of a friend.
I could barely find words to describe my joy, as I received the first emails with feedback from parents: the quiz website was a hit! Are there more quizzes coming?
I started staying up late almost every night, learning about control structures, data structures, CSS tricks and so on. When going for walks alone, I would more often than not hear podcasts on web development. The Syntax podcast became one of my new highlights every week. Most of the time, I enjoyed it a lot. But this story would not be complete without the other side of the story: the doubts.
Many people hold the belief, that one can only become a software developer through studying computer science at a university. I shared this belief up until 2020. Though I heard from a lot of people that this is not true, I also had my moments of doubt.
I remember a particularly frustrating week, still in the spring of 2020, where I was doing some algorithm challenges at freeCodeCamp. The website provided a task, such as: “write a function that takes an array-parameter ‘people’, that returns a list of all people older than 18, and sorts them in descending order according to their age.” You could then write a function directly in their interactive editor, and test it right away. In the beginning, I got almost every algorithm challenge wrong, which was very unsatisfying at times. Learning to work with data structures and algorithms can be hard work, regardless of whether you have a computer science background or not.
Some nights, I shut my laptop in pure frustration, thinking maybe I’m too stupid for this. Though for me I wouldn’t call it impostor syndrome, which is a very popularized term among people in IT, I did struggle. Sometimes hard. For me being a believer in God, this sometimes led me to long doubtful conversations with him, in despair over my perceived inabilities.
Though for every night of doubts and struggle, there came a morning of excitement. I just couldn’t get enough!
Getting serious: learning frameworks and starting the job search
In may of 2020, only a couple of months after that first night, I took the decision to start learning a JavaScript framework for developing websites: Vuejs. Though some people warn not to start learning frameworks too soon, and instead keep learning the foundations of programming, I was too excited to keep learning the basics.
Here, in retrospect, I would also tone down the importance of such decisions: if you’re new to coding and excited to learn a framework: do it! You can, and probably should, always come back to the basics later. Most likely over and over again.
So I started learning Vue. I took a class with the brilliant teacher Maximillian Schwarzmiller on Udemy. His class was so inspiring, that I ended up taking his class on Nodejs a couple of months later, and thus I also learned the foundations of building server-side applications. For anyone new to web development, I highly recommend the Academind course platform, from Maximillian and his colleague. For the price of a normal lunch in Germany, you get monthly access to some high quality courses.
So it happened, that my basic knowledge in JavaScript, CSS and HTML, turned into basic knowledge of Vuejs and Node. I had no idea if this would be enough to land me a job, but being curious if it would, I sat down to write my first couple of job applications at the end of July in 2020, only 4 months into my learning journey!
Out of 2 applications, I even ended up having 1 interview!
The startup in question was working on a software for higher education, and they found it interesting that a teacher was applying for a job with them. Though I had a nice chat with the founders, and though the outcome of the talk seemed positive to me, they got back to me the following week: “thanks for your interest, but we’re moving on with a person with a bit more experience”.
I was disappointed, for sure. But it also made sense, that software employee n1 apart from the founders themselves, should preferably be someone experienced.
So the month of August came around, and school started again. Hopes about a new career in front of a code editor, turned into the reality of a classroom. I was once again walking around the classroom, helping first graders write their first few sentences, and playing catch with my students in the breaks. I had once been very passionate about being a teacher. But now my passion was so clearly somewhere else.
Though many might hold this to be foolish for an adult, I took the decision to quit my job, without having found a new one. Since I had a three month notice period, and was only allowed to quit at the end of each semester, this left me a 5-month deadline to find something new.
Thus began the most intense job hunt I ever went through. I talked to recruiters. I sent my resumé around. Probably to over 20 different companies. Out of those numerous applications, only two turned into proper interviews.
The first turndown, in October, I handled quite OK. I had time.
Though after traveling all the way to Munich by train, just to be turned down at the second company, this time in December, the doubts started coming around again. Had I quit my job to soon? In 2 months I would not have a job anymore, and now I also had no lead.
The breakthrough
Desperate to start my career in software, I took to desperate measures. Having previously restricted my job search to job postings written in English, I now translated my CV into German.
Then, I went for quantity.
I went over my template for a personal letter one more time, and made it generic enough to be passed around to the masses.
Over the course of the next couple of weeks, I applied to nearly a 100 different jobs!
Though it probably isn’t the best strategy to land a job, to send around those generic letters, with no mention of the company you’re applying to, it seemed like my only hope at the time. If you’re as desperate as I was at the time, I don’t see anything wrong in this strategy. Just one word of caution here: if you go for quantity, try and make sure you don’t burn any bridges with companies that seem extra attractive to you. For example, I deliberately did not apply to the company where I now work, since I knew that they might be a great future employer. If you have some company in mind for the future, maybe they shouldn’t yet see that impersonal, generic letter of yours.
So now I had almost a hundred job applications sent out. At times, I wasn’t even sure myself if this made sense, or if I was acting crazy.
But as a matter of fact: it worked!
As an early Christmas present for me, a few days before Christmas, I finally signed for my first job as a software developer. Silly as it might sound: that felt like one of the best things that had ever happened to me. I had worked so hard. I had poured my heart into this career change, learned JavaScript and TypeScript, learned three different development frameworks, and spent many long nights in front of my computer. And now the new career could begin.
The career change in numbers
- 10 months from first line of code, until first job
- ~60 Euro spent on Udemy courses
- Foundations of 3 web frameworks learned: Vue, React & Express.js
- Foundations of 2 programming languages: JavaScript & TypeScript
- ~100 job applications sent
- 3 interviews without a job offer
- 1 job offer