How I started my career in tech without a degree in Computer Science


I want to share with you my story of how I became a Software Engineer without having a degree in Computer Science. I hope this might inspire some of you. And it could give some of you a last missing push for those who have long wanted to change their careers, but was afraid or did not know how and where to start.

I’ve been recently reading about the things that people often regret in their old age. I found out, that some of the regrets are related to the topic I’m going to talk about:

  • worrying about other people’s opinions
  • living the life that their parents wanted them to live instead of the one they wanted to
  • working at a job they didn’t like
  • haven’t followed their passion

Let the story begin

I was born and grew up in Russia, in a strange generation. Despite of the development of ed-tech like MOOCs and distance education, platforms like Coursera or EdX, almost everyone still believed in the myth: If you do not have a higher education, then you will have a low wage career.

I experienced it on myself since I don’t have any completed higher education. I started to study chemistry, but after 2 years understood that don’t like it that much, so I quit university. After a while, the same situation happened to me again, this time it was a distance education related to software development. But the curriculum was outdated and useless, so I quit again. I tried myself in different types of design. It took me some time to understand that I still want to learn how to code.

Changes are coming

2017 was a year of changes for me. By that time I lived in Berlin for more than 4 years already.

Firstly I was chosen as one of the participants for the Android Beginner Scholarship by Udacity and Google. Then I went to the International Women Day event organized by the Women Techmakers Berlin. I’ve never attend any meetups before. Besides listening to inspiring talks by women with different backgrounds and creating new connections, I found out about Android Study Jam. That was the first course that I attended offline. I was lucky, because the course was using the same materials from Udacity website as my scholarship, I learned all topics twice. First time by myself and second time in a class with other students and mentors around. We had a presentation at the end of the course, where I presented my app with motivational quotations.

JS Course. How it was

At the same event I found out that the Women Techmakers community was going to organize another offline course to learn JavaScript.

In the beginning, I was a bit skeptical, because a few years ago, JavaScript became one of the reasons why I decided not to grow from an HTML-coder to a decent Front-end developer. On the other hand, at that time I just finished a beginner Android development course organized by the same community. It was a lot of fun, so I decided to give JavaScript a second chance.

That’s why I ended up enrolling in the JavaScript Crash course. I was very surprised because around 80 people came to the first lecture. We barely managed to fit into the spot. But it also confirmed my decision to come was the right one.

Our instructor mentioned that he would take one or two students who will successfully complete the course, as interns to the company he’s working at.

Since this course was for complete beginners - we started our journey by writing simple JavaScript expressions in Chrome’s console. But at the end of the course, we were deploying our project with Docker to DigitalOcean.

During each lecture, 8 in total, we had additional mentors helping us. To ask for help, you just had to raise your hand and one of the free mentors would approach and help you. I liked it that way. It didn’t slow down the lecture and at the same time it was an immediate help from an experienced person.

All the lectures were recorded, so we could rewatch them later on while working on our own projects. After each lecture we were given homework to practice the knowledge we learnt. Moreover, we were working on our own projects to present it at the graduation event.

The goal of this project was to show all the knowledge we gained during the course. It wasn’t supposed to be complex, but it gave us an opportunity to practice everything once again.

Here’s the list of topics that were covered during the course:

  • JavaScript & ES6 Fundamentals 
  • Node.js 
  • Asynchronous programming 
  • REST APIs 
  • MongoDB 
  • Testing 
  • Deployment and Scaling

We were around 20 people that presented our projects at the graduation event. Right before the presentation, we had an inspiring talk from Christian Heilmann about the next steps we can take since we already know the basics of JavaScript. He also gave us some tips about the resources he uses often. One of them is the MDN Web Docs from Mozilla where you can find a documentation and usage examples of different functions. Another website called “CAN I USE” which gives you browser support tables for modern web technologies.

The project I presented was “Online School Journal”. There were three different types of people in my project: pupils, parents and teachers. Pupils are related to a parent and could have multiple subjects with a list of their marks. Teachers can put the mark to a certain pupil. And all of them also had all the CRUD functions (Create, Read, Update, Delete).

The course was intense and challenging. Unfortunately, not everyone who started managed to complete it. Everyone has exceptional reasons for that. Some have personal situations, family reasons, priorities have changed or anything else. But for those who did complete it, it was rewarding. I know some of the graduated students managed to shift their careers and found jobs as developers.

Life after the course

I did not immediately apply for the trainee position… Firstly, I’m one of those people, who won’t apply to a position if they are not 100% fit. Another reason, at that time, I was also learning Android development. I liked that you can immediately see the result of your work, you could touch it on the phone’s screen, while JavaScript didn’t gave me the same feeling.

Both of my concerns were to no purpose. How I recently learned, if you are a 100% fit to the job description then it’s not an upgrade for you. It’s a step to a side, and not up. You’re not growing in this case. And that’s definitely not the thing I wanted.

After discussing my concerns with my husband and after receiving an advice from our instructor, I decided to apply and take my chances. I would not lose anything if I’ll try. It all was happening right before the Christmas holidays. I applied and at the beginning of January, I’ve been invited to take part in a challenge.

I’ll explain a bit about challenges. It’s a common practice, that after certain steps of the interviewing process, a company asks you to write your best solution to the problem in a limited amount of time. So they can see your skills, how you code, how you can break the problem and implement the solution step by step.

Challenges are also a good opportunity to practice. I learned some new things while implementing my solution. The funny thing was while looking at how to solve one problem I found out how to solve another one as well. That were very productive 8 hours of my life. I managed to make it in time, not completely, but the most interesting tasks were done.

In a couple of days, my project was reviewed, but the company was still waiting for projects from other candidates. In a while more, I was invited to the final step of the interview process - to meet with members of the team.

I was curious about the atmosphere in the team, the tools that they are using and the company in general. I expected more technical questions, but even without them, we talked a lot about frameworks, linting, our preferences, and experiences. I liked it. In the end, I’ve been told that they will get in touch with me, once they’ll process all other candidates. They contacted me on the same day in the evening and offered 6 months of paid Internship.

That’s how I got my job as a Software Engineer Intern without a degree in Computer Science.

As a conclusion, I would like to encourage you to try, to take a chance. Don’t be scared to change something in your career!

Maria Ovsyannikova is a Fullstack Software Engineer at Unu. Follow her: @xelladesign.