Developer productivity hacks #1 - Testing your code very fast
Adding code to existing codebases can sometimes take a lot of time. What if I told you there are ways to reduce it?
I am a self taught developer and you could be one too! No, you don’t necessarily need a university degree, or crazy math skills. Also many people have the misconception that coding is boring and dry, but in my experience they have never taken a closer look to what we actually do. In this article I will try to demystify the ways of becoming a developer by telling you my story.
I studied economics and logistics at the university, but after a few years of
working at a shared service center entering data to meaningless excel sheets
every day, I decided to become a developer. Of course it wasn’t as easy as it
sounds. I didn’t really know what I wanted to do, but I was sure that I want to
earn more money and do something more creative and rewarding.
I was always curious about tech, but during my childhood was never really
motivated by anyone to study in this field. Even when I was playing with the
idea, I always ended up rejecting it because “it is too hard”, “only some
privileged people can work in it”, “I am not good enough”.These theories turned
out to be very wrong in the end, and the only thing I regret ever since is not
getting into coding earlier.
First I didn’t really know where to start so I went to Linkedin and looked up what type of developer jobs there are. After bit of a research, I figured out that it was the easiest to get into web development, especially to the frontend. When I googled what frontend developers do, I came across a website called Free code camp.
Free Code Camp - as their name also suggests - is a free platform to learn the
basics of web development (and many more kind of development). So I registered
and dived right into the basics of HTML and got hooked very fast. Their
challenges are very addictive and rewarding at the same time. It was very
motivating to see my changes and solutions right away on the screen.
Three months passed by quick with me trying to solve at least a problem each day
after work, sometimes even during work. Since I had the privilege of having a
steady income, a dull job and no loans to worry about, I got up to a good level
in those three months quite fast. I had a 2 month notation period at work, so
being scared of not getting a job that way, I quit and started looking for a
developer job.
Besides looking for a job I also tried to learn as much as possible and created
some basic HTML games, a website for my parents holiday apartment and a
portfolio website with React, where I gathered all the projects I have been
working on.
Interviewing was very hard, I couldn’t really figure out what the companies are
looking for. My main places to look for a job were AngelList - a platform for
startups to find mostly software engineers - and Linkedin.
After about a month of interviewing and failures I got two or three offers with
little pay promised, but from people willing to help me grow and learn. I
accepted the most interesting one and moved to Austria.
Pro tip: don’t move countries and change careers at the same time, it can be stressful. Also nowadays remote working is possible at many good companies.
The first 3 months were really hard and I had to still learn a lot. I wanted to
give up many many times, but luckily I didn’t. Then it got easier every week and
I got more confident. The stressful situations turned into fun and exciting
challenges and it has been like that ever since.
After 4 years of hard work at a startup, I got hired to a big tech company in
Berlin and been working there ever since.
Having hands on experience is key, but also don't forget to try and deepen your knowledge over time. Being self taught doesn't mean that you should miss out on the theory side of software engineering. There are several great and timeless books that explain the most important concepts of coding and will help you move to the next level. Some of my favourites are:
Of course not everyone has the time or patience to study on their own, and for some people going to classes and being taught by a teacher works better. One does not exclude the other, so feel free to try it out on your own and only apply for an expensive course when you feel like it is really needed.
Adding code to existing codebases can sometimes take a lot of time. What if I told you there are ways to reduce it?
Testing is an important and essential part of software engineering, but when working on real life projects it can get hard sometimes to cover everything properly.