Becoming a Full-Stack Developer in one year at your thirties
No university degree. Five-digit debt. Quit school. Fatherless. No job on sight. That was my life at the beginning of my twenties. That’s not the deepest hole you can find yourself in, but nonetheless, it is still pretty low. Since then, I paid my debts, climbed up to the editor-in-chief position, lived abroad in a sunny Malta, and has hit my monthly dream pay.
And then, I decided to leave it all behind, come back to Poland, and learn programming… Crazy, right?
Let’s make a jump
Malta is a lovely place to live. I enjoyed the hot sun and the refreshing sea breeze much more than the Polish lottery of hot and cold. I spent countless hours on their beaches, on the street of Valletta, and exploring the miracles of Mother Earth at The Rock, as it is called by the locals.
My life there was devoted to those crucial things: excelling at work, improving the body at the gym and the race track, exploring new diets and meals, and finding out what the limits of my mind are. At the end of the week, I was able to pat myself on the back, say “good job”, and do something relaxing on the Island.
And one day, I wasn’t able to say it truthfully.
I was still performing all those excellent things that were doing wonders to me, but I wasn’t able to tell myself that I can do something meaningful in my job anymore. I felt that I can’t do the eight hours of trying to find something new, something valuable. I tried so damn much to come up with a new way to promote my company’s business, but I couldn’t. I hit my ceiling. And when the day of discussing my goals for 2019 came, I was honest about not wanting to pursue that road anymore.
I made a jump to the unknown.
For some, it could appear stupid. Leaving such a beautiful place? Stop doing what you love? Throwing away the money I was making? Family was shocked. People called me stupid. I can tell you that I am not the smartest guy in the world, I do some stupid things (many, actually). But I made such a jump before, twice. And every time it was as hard as I could imagine. However, the reward was even better.
The first step is always the hardest
I learned a lot in every of those journeys. Committing to something is the most difficult part. When you are committed, you can’t just quit any time you’d like. It’s like leaving the trail before seeing the pot of gold at the end of the rainbow; quitting halfway to the top of the mountain; losing interest in the game after only learning its rules.
But for me, it’s not difficult to realise what’s on the other side of the coin. It’s hell, suffering and misery. There is a depression and never-ending whining on how things could or should be. It’s a dangerous road and so adoring: doing nothing and getting everything. Living isn’t free of charge.
I know how difficult it is to enter a new field.
The first time I did it was when my father left us with five digit debt. That was devastating, even for the grown up who was about to enter the third year of a university. I made yet another “not-so-smart” move and decided to quit school while letting some strange people almost get hands on my home. My family was furious, they thought I was crazy, but I decided to follow my own path – which was writing. And it turned out okay.
The second time was moving to Malta. I didn’t know what to expect when leaving the country. I predicted that it may be a permanent change and I had no idea how to live alone. How to clean the bathroom? How to make some beef burgers? What do I need to buy every week to keep on living? It was terrifying and I am sure there are many 20-some-year-olds who don’t know all of those things either. Now, I cook on my own and since that time, I tried many diets, ranging from keto to vegan.
When I was about to enter the IT field, the jump was different. I mostly knew what to expect from myself and the pace I was able to maintain to learn programming.
How I differed from the crowd
If you follow the crowd, you are most likely going to fail in your adventure. I learned that during my university time, I’ve used this knowledge later on when I decided to leave the country for a better job, and once again, I was in a path that thousands and thousands of people try to conquer.
I was reading about millions of applications sent to the IT companies (which is true), and thousands of HR specialists who were sick of rejecting yet-another-dude after a 4-hour video coaching from YouTube (also true).
That’s why the first point on this list is to diversify your learning content. I did almost 400 hours of videos on Udemy, practiced with learning guides on official platform sites (that’s how I started with Angular), watched specific, detailed YouTube videos, read many articles (those about interview questions have high quality content and focus on the most important things) and when I already understood more, I decided to took part in one of the IT courses “sponsored” by EU (though, I needed to sign in-blanco check for 15k which forced me to finish the course and find a job later on, ugh).
The second point is to make notes. All. The. Time. I can’t stress it enough. I’ve even made notes during my job interview, so that I would know what leaks I still have. But even now, I sometimes revisit my old notebooks from the beginnings of my IT journey – they are that valuable.
This advice is how not to get bored quickly: do the projects that are fun. I started with my own card video game in JavaFX. My Spring Boot main project was a virtual casino. While learning Angular, I developed a pizzeria site with an online order (which was fun, but was making me constantly hungry…). When making the first steps in Android development, I made a small brother of Pokemon Go. There were more smaller projects I got into and these surely kept myself interested in programming.
The next thing is obvious but still, a lot of people have false assumptions on how long it takes to get a job in IT. Don’t take me as an example. I was jobless and was spending 12+ hours a day learning. It’s going to take you much more if you are not used to such sprints, you can’t focus for long, you can’t manage your time, or you are not committed enough.
Be creative. That’s yet another thing which gets lost during the process. It can mean a lot of things, but mostly, you should stand out from the group. For me, it was a creative CV, fully created in Photoshop. I’m not that skilfull in it, but the first thing I heard from my former teacher was “Wow, I need to refresh my own CV.” Yup, that was nice to hear.
Prepare for the interview is the final advice. I searched for the content in English, simplified it to questions and answers, and then, I translated it to Polish. I knew the answers in two languages – I understood them. Of course, if I got asked something off the script, I was sure that I needed to learn more about it.
What happened when I put all of these together
The before-mentioned IT course funded with EU’s money was a scary prospect for someone who is afraid of getting to yet another debt. However, I learned that there are good, motivating scares, and there are the bad ones which paralyze your body and keep you from moving. We also confuse those two on a daily basis.
This IT course was an eye-opener for many things. It grouped similar people to me. All of them wanted to write themselves a success story, look for new opportunities, and, which is not surprising, get paid better. They were similar, but at the same time… different. They didn’t make a jump. They were one foot above the air, the other one on the land they knew well. It didn’t work. Even at the end, they were miles behind what they should have already known. That was how I found out why some people say the IT field is full. That there is no more room for new people.
Of course, such a statement is not true, as I realised at the beginning of this year. I was interviewed for a Junior position at Altkom Software & Consulting. Frankly, it was my first interview after six months of learning programming. But I already knew the field I needed to face. After practicing so long, it was time to learn the theory. I got prepared for questions about Java, Spring, databases, HTML/CSS/JS, and was open about everything I don’t know, and about my lack of experience.
I was answered with a positive decision. But that was February 2020 and slowly, I began to realise how much I needed to work. Good news was that I was already used to such sprints. This one lasted yet another six months.
I remember staying up till late hours, coding in my parents-in-law’s house (my girlfriend’s support was outstanding during that time), thinking about frameworks on my trips abroad, even getting new ideas before falling down to sleep (I keep a notebook and a pen close to me at all times). Sometimes, I didn’t want to end the day – I had so many ideas in mind!
In the middle of July I was rewarded with a regular Full-stack position. This sprint is over, I reached what I wanted in just one year.
But the next sprint is just about to begin. And I’m telling you – it’s a big one.
I’ve learnt what I don’t know
For me, the next 12 months may be even more dynamic as I am going to start yet another challenge. I call it…
“Twelve Labours of Hercules Challenge”
No, I won’t be cleaning the Augean stables (although, who knows what I will step into…). This is an after-work challenge with a simple premise: one calendar month equals one subject to learn.
One of the perks of working in a corporate environment is having all of these people around you. Let’s face it – you are the new guy, you will be the one to learn from their experience. Follow Nike’s slogan, just do it.
Previous six months have taught me that there are many topics I know nothing about. It is an endless desert and it will take years for me to get across it. Thankfully, I do not have to wander around with a bunch of Israelites breathing on my neck (only one girlfriend who will hate me for the next year). In ASC there are four things to help with my improvement:
- An experienced team leader who will help you choose the path you’d like to follow.
- An extensive library of resources to learn from, as I found there such topics as AI/Machine Learning, Microservices, Cloud, CI/CD tools, ElasticSearch, Security, front-end (React, Vue, Angular) and many more.
- An EDU program designed to let you take one week out of every quarter to improve your programming skills during your work hours.
- Finally, a support to get into some external courses.
That’s how I came up with twenty topics I thought were useful enough for my improvement. I contacted my team leader Robert, and out of these twenty, we picked twelve for me to learn and we put them in order of importance.
Some of the topics are small. Some of them are big enough to be compared to learning a new programming language. It’s going to be a hell of a ride…
And I can’t wait for it!
As a programming prospect, how can you learn as I do?
Thank you for getting so far through my article. I know it’s a long one, but if you are a newcomer to the world of IT, here is a small reward from me: your own “Twelve Labours of Hercules Challenge”.
Well, actually, it will be “Six Labours of Theseus Challenge” since the topics are quite complex and you are just starting out here.
As someone who has just recently got into the IT field, I know what you need to do to get your first job. I outlined this in my article, but before I move on, I’d like to remind you about it:
Make a jump. Sacrifice your free time. Be dedicated to this idea of becoming a developer. The rest will follow.
And without taking more of your time, this is the list of things I would learn today and the resources I would use to do it:
I. I assume you know English. If not, number zero on your list is to learn it as it is a “must-have” in this environment.
II. Make notes! While I was learning, I filled four notebooks with all the info I needed to know. Then, and only then, I moved on to making digital notes. It was a conscious decision to stop the video or leave the article for a moment and focus on taking note I would understand in the future.
III. If you want some additional resources, look for the free videos at udemy.com. Aim for the longest courses (sort by “Most reviewed”), and always check out the comments section.
- Java:
a) Java Programming Masterclass for Software Developers – from udemy.com, in my opinion it’s a great intro into Java programming. It’s paid so you will be more dedicated to complete it. Look for coupons and discounts, so that you don’t have to pay more than 15 euros for this course.
b) JetBrains Academy – they announced an extended free trial and the topics look fantastic. Hurry though, as it will be only available till the end of 2020. - Databases:
a) Database Design – we’re entering the free zone. Here, you will learn the most important things about databases. It’s almost nine hours of solid content.
b) W3 SQL Tutorial – a good summary with a quiz at the end. Definitely enough to repeat basic things. - GIT:
a) Git: Become an Expert in Git & GitHub in 4 Hours – yet another free video. The topic is important but for the Junior position, you may only need the basics outlined here. You will learn more in your work (and as a newbie, very rarely use more advanced commands at the beginning). Also, I think it’s outrageous to charge you 10 euros for a one hour video. - Spring Boot:
a) Spring Framework 5: Beginner to Guru – first, I was thinking about linking here yet another Tim Buchalka’s course because I liked the Masterclass video pointed in Java section, but I remember them having some problems to move on to the fifth installation of Spring Boot. Instead, this is the course to buy. It’s got great reviews, 57 hours of videos, and great content. Again, it’s not free, but it’s not expensive – you will live. - CSS/HTML/JavaScript – this one will be quite different as I won’t give you particular resources to learn from. Instead, this is a list of sites that will greatly help you understand these front-end concepts. You will learn small and bigger things while doing some projects in Spring Boot or Angular:
a) W3 HTML Tutorial
b) W3 CSS Tutorial
c) css-tricks.com
d) Bootstrap introduction - Angular 2
a) Tour of Heroes app and tutorial – created by Angular team, a full tutorial to creating your first web app. Greatly recommended!
That’s it! You are ready to take on your new challenge. Install a popular Java IDE (I strongly recommend IntelliJ from JetBrains), and get on with your quest to become a Full-Stack Developer!
Good luck!
Arkadiusz Gawrysiuk
Full-Stack Developer 😉