How I Got My First Developer Job... 135 applications later!

David Nowak
David Nowak
hero image

As of December 2021, it has now been 2 years since I accepted a full-time job offer to work as a Frontend Engineer.

I almost can’t believe it’s been 2 years!

When I look back, there are a few times that I was very close to giving up.

The grind of searching, applying (to 135 jobs), interviewing (with 15 different companies), and still not getting any good job offers was very discouraging.

I was literally down to the final cards in my hand and was losing faith. I had a dilemma that was playing on repeat in my mind. Should I just go back to my previous career? Or try to find some other kind of job? My attempt to break into tech was not working out.

But deep down inside, I still had some faith that kept pushing me forward during all of my down periods. I’m very glad that I didn’t lose it completely.

Ultimately, my persistence and hard work paid off. I had finally achieved my goal and successfully switched careers into tech as a full-time developer!

What follows is my story of how it all went down over the course of ~1.5 years.

Not everyone’s path will be the exact same. But by sharing my story, especially the many struggles, I hope to motivate and inspire you to keep pushing as well, especially when you're feeling hopeless. I also want to give you belief that you can do it too!

P.S. I also added some of my personal key takeaways throughout the post and some final takeaways at the end. Look for the 💡. If nothing else, know that persistence and hard work wins.

So how exactly did I do it?

How did I go from being unemployed to moving to a foreign country on another continent to ultimately getting hired as a full-time professional developer?

The early days - 2018 / 2019

Going a few years back, things were not so rosy in my life. I hadn’t worked a full-time job in over a year and my ambitions of starting a business were not going to plan. On top of that, some negative events had occurred and I wasn’t in the happiest place.

I knew that having a large employment gap on my CV was not good, but I refused to go back to my previous career. I was very stubborn about this!

During this period of trying to start my own business, I started picking up some programming skills on the side during my downtime. I gained enough skills (HTML, CSS, JS) to build some easy web projects (a local weather app & random quote generator). You can see both of them on my portfolio.

One day I finally decided to make a pivot in my life direction. I paused my business ambitions to fully focus on getting a programming job. I wanted to get my life back in order.

So I set my goal:

Get a well paid professional frontend developer job in Europe without a degree.

💡 I highly recommend to anyone who is just thinking about starting their journey, to set a clear, actionable, and measurable goal. The amount of "well paid" might be different for everyone but you should pick a specific number.

It’s super important to have an aim (destination) and to know exactly where you are going. This helps to minimize distractions, give you a sense of direction, keep you focused, and clarify what is most important to you in your life right now.

At least this was true for me!

Time to get serious

Once I had my goal, I needed to create a plan to make it happen.

Up to this point, I was only using free resources, mainly freeCodeCamp, to teach myself how to program on the side for about 6 months. These resources had served me quite well and helped me build a good foundation.

But I was progressing way too slow and I felt that I was lacking a few things:

  • I wanted a resource that had more structure and guidance
  • I wanted to learn from an experienced senior developer
  • I had a strong desire to learn through building projects
  • I wanted to build something more advanced than just the same old simple projects
  • I was also overwhelmed in trying to learn React and needed more support

Why React? Based on my research, I felt that learning a JS framework (specifically React) would give me the highest odds of getting hired as a professional developer.

I realized that if I was to be serious about getting a developer job, I needed to invest in myself and my education.

But I didn’t have $30,000 to spend (or even want to!) to get a second degree, especially when I felt that I could learn all of this on my own.

In searching for something that fit my criteria, I stumbled upon Andrei’s now infamous blog post/guide: 5 months to learn to code, get hired, and have fun along the way (In 2018, it was posted on Medium but I linked to the updated 2022 version).

I remember reading his post and being instantly inspired.

I immediately started following the month-by-month steps and recommendations he outlines. I was going through each resource one-by-one. It was great because it provided me with more structure.

But… it wasn’t quite enough for me and it still wasn’t exactly what I was looking for either. I needed an instructor to learn from and wanted to see how they would build a project.

Lucky for me... Andrei had made the switch from senior developer to instructor and I noticed that he also had a coding bootcamp course available... Complete Web Developer: Zero To Mastery.

I'll be honest, I was skeptical to purchase it at first. So I did my research.

I compared a whole bunch of similar courses, read through many reviews, analyzed the course content, watched some preview lessons, and finally... I took the plunge. I decided to purchase the course. In doing so, I was doubling down on investing in myself and my goal of obtaining my first developer job without a degree.

Not only did Andrei’s Web Developer Bootcamp have amazing reviews but it also ticked off all of my criteria:

  • ✅ Resource that had more structure and guidance
  • ✅ Learn from an experienced senior developer
  • ✅ Learn through building projects
  • ✅ Build something more advanced than just the same old simple projects
  • ✅ More support learning React

I also wasn’t earning any money at the time, so spending money on anything non-essential was hard to do and a big decision. However, I knew I was investing in myself, my education, and my future. This was a major step forward for me.

💡 By spending money towards my goal, it also provided an extra motivation to make sure that money wasn’t going to go to waste! In my opinion, investing in yourself is the best investment you can make.

The funniest part is that I actually decided to buy the course for myself as a Christmas present. Looking back, it turned out to be a really great present!

Christmas present

After I finished Andrei’s Coding Bootcamp, I had an awesome facial image recognition app project to put in my portfolio. It got me super excited to put my newly learned coding skills to use and build something on my own in React.

I built a Tic Tac Toe game which really helped reinforce what I had just learned and it also helped me to finally feel comfortable building React based projects!

It was a magical moment when I finally felt that I got it on my own.

💡 I cannot emphasize this enough. Guided projects are amazing for learning, but if you really want to understand and solidify your learnings, you need to build projects on your OWN! And without any help.

This will be painful, annoying and challenging for the first project you build on your own (with a new technology), but it will be worth it in terms of your learning and progression as a developer. It's also the best way to make sure you don't end up in "tutorial hell".

At this point, I decided that I didn’t want to be just a junior developer. I wanted a higher entry salary into this profession.

So I decided to take Andrei’s follow-up course: Complete Junior to Senior Web Developer Roadmap.

I completed about one-third of the course before I felt that the topics were a bit too “advanced” or not necessarily required to know in order for me to reach my goal of getting a non-junior frontend developer job with a solid salary.

So I made the decision to stop going through that course for now and revisit it again in the future.

April 2019: Start of the job hunt

Instead... I decided to prioritize my job hunt. I wanted to start applying for jobs and get some feedback from the job market right away. I felt that I was “ready” enough and wanted to give it a try.

But first, I needed to make sure that I was prepared. So here's what I did:

  • I read many posts from developers who wrote about how they got their first developer jobs. I took notes on their advice and the tips and tricks that they provided. This post by Haseeb Qureshi was particularly helpful and eye-opening for me.
  • I read numerous blog posts detailing the interview processes at tech companies and what to expect (ZTM also has a workshop on this now too).
  • I learned about the types of questions that frontend developers could be asked and prepared answers to some of the most common ones.
  • I read about some unconventional job applying strategies that I partly put to practice. A great person to follow in this space is Austin Belcak over at Cultivated Culture (more on this later).
  • I also read up about salary expectations and salary negotiation tips.
  • I made sure my personal website (this is the actual 2018 version I used when applying for jobs) was polished and professional looking.
  • I made sure that my GitHub profile and project repositories were active, recruiter friendly, and had a professional appearance to them.
  • I created a frontend developer focused CV from scratch. I was thinking of linking to my CV but decided not to because this gives the impression that a resume/CV has to be a certain way. And that's not true. There are plenty of resources that show you how to write a good resume/CV with a simple Google search (and Googling is also an essential skill of developers 😉). You can also follow Andrei’s recommendation for your resume.
  • I also created a 1-page project portfolio showpiece to use as a conversation starter for when I cold applied to companies (see below).
  • I revamped my LinkedIn profile to match my objective of getting a frontend developer job. I also made sure that any social media links I provided on my CV were appropriate and professional.
  • I created a 2-3 minute written “elevator pitch”, that I could semi-reuse when I applied to each job.
  • I did my research to find which websites/places would yield me the best results in terms of companies that were hiring frontend developers.

David Nowak Portfolio My 1-page project portfolio showpiece.

Yes... I know. This seems like a lot of prep work. But I felt that it was fully necessary and think it was a key step to getting my first developer job.

💡 You are competing with 100s of people just like yourself, with people who have degrees, and most of them are just as qualified. The competition to get a job is fierce and companies have a lot of selection available to them. So in order to increase my chances of standing out, I knew I had to go above and beyond what the average person does.

I knew it was going to be tough... and it was. But I think this is a key factor as to what separates people who get hired and those that don’t.

After I finished all of my prep work, I started applying for jobs with my unconventional strategy of applying directly to the highest person I could contact in the company.

I also only applied to jobs where I really believed in the company, their business model, or the industry that they were in. I didn’t apply to companies that I had no interest in. And to stay focused, I only applied for frontend roles that required React.

Within 6 weeks of starting my job hunt, I had already made some significant progress. A few companies were quite interested in me. It was a major validation moment that my goal was possible to achieve.

What happened was the following:

  • I made it to the final interview round with one company (and was a strong candidate for the job)
  • I had a solid interview round with another company (and they even told me that I was the strongest junior candidate that they had come across)
  • I was rejected for a full-time job at the last company but they offered me a paid internship

These were all with European companies and in all the cases... I was too junior and didn’t have enough experience to get a full-time job offer.

However, I got a lot of good feedback and found out where I needed to improve. I knew that I was worthy enough for interviews, but not quite strong enough to land full-time job offers.

Now if you were reading closely, you might be like…

David… David… you just wrote that you got a paid internship offer. Your goals/dreams are one “yes” away from being a reality!

Kind of! But I knew what I brought to the table and my goal was: “to get a well paid professional frontend developer job in Europe without a degree”. The internship had everything else, but it was not well paid.

I didn’t feel like settling for an offer that was well below the value I brought. And because I had set a specific goal at the beginning, it made the decision of turning down the internship easier to do. I was not a college student anymore and refused to be taken advantage of.

Maybe that was not the smartest decision... 🤔

June 2019: Dry spell & bad luck

My initial successes had greatly boosted my ego and I thought, “this will be easy” in terms of getting my first developer job. I was quickly humbled.

Things slowed down quite a bit. I was struggling to find good companies that were hiring. I also stopped getting as many responses back or requests to do interviews.

It was a period that took a toll on my mental health and really required a lot of mental toughness to keep pushing forward.

When you aren’t hearing back, it gets really frustrating and discouraging. This resulted in me changing my approach almost daily and stopped consistently doing the same things that got me results in the first place (don't make this mistake... stick with your process!).

I was losing the staying focused battle.

After a whole bunch of job applications, I had to take breaks to re-charge and re-motivate myself.

But because I never gave up and stayed (mostly) consistent applying for jobs and going through the process, my luck finally turned.

I finally found myself in another set of interviews with a company. By the end of the process, they had given me a verbal job offer. And yes, this time it completely met my goal.

Michael celebrating

I was happy and ecstatic… until I wasn’t.

Several weeks passed and the company still hadn't sent me a written job offer. When I finally heard back from them, they changed their mind and decided that they needed a full-stack developer with PHP experience instead.

WHAAAAT 😒?!? You were looking for a frontend developer with React skills!

I was dejected, angry, sad, and had 12 other emotions. This was a major setback and was quite hard to get over. You think you have achieved your goal (based on trust) and then it gets taken away from you at the last minute.

I was definitely wounded, discouraged and needed some time to recover, but I managed to recollect myself.

July 2019: Portfolio improvements

Over the next few months, I kept consistent and got a few more interviews (or at least screening calls) and a couple of companies asked me to complete their take home projects.

This was my ideal interview process. I wasn’t pressured to answer technical questions on the spot. Instead, I was able to prove my programming skills based on actually building a project. It was more realistic to the real world and less stressful.

Project #1: The first company asked me to build a 10 Most Polluted Cities app project as part of their screening process. They immediately rejected me 😳. But they gave me valuable feedback on my code which I was able to learn from and apply to my next project.

Project #2: The next company asked me to build a Star Wars Plot Generator app project. It was by far the best project I had built. I put a lot of time and effort into it and it was the third React project I built on my own. I also incorporated the feedback from my previous project.

I felt confident about getting a job offer from this company.

In the end, the company felt that I was a solid junior candidate, but didn’t have any room for a junior developer on any of their existing projects. So again... no job offer.

I was definitely disappointed and discouraged that I didn’t get any job offers, but at least companies were showing interest in me. It felt like I was getting closer.

💡 I used these projects to improve my portfolio and resume and as conversation starters in my job hunt. Looking back, I was also improving my developer and interviewing skills the entire time. I felt that I was getting better and better by the week. This is part of the journey!

But it still didn't seem to be enough.

October 2019: The last push before the end of the year

Over 6 months of applying for jobs and interviewing.

I told myself that this is the last push. If I don’t get a job offer before the end of the year, I’m just going to have to find some other more realistic job.

The constant rejections and bad luck were really wearing on me. I still hadn’t reached my goal. This made it hard to keep my belief and faith up that getting a developer job was possible for me.

So I made a new long list of companies that I used for my final batch of applications. As a company replied back with no, or I didn’t get through the screening calls, I crossed them off my list. One-by-one.

At some point in November, I was down to about 4 companies left on my list.

  • One of them, I was eliminated during the screening call.
  • 2 of them I went through full interviews with.
  • The last company… I hadn’t received a response from them.

During my interviews with those 2 companies, I thought I did really poorly on the technical assessment portions and was sure that I was not going to hear back from either one. I crossed them off my list.

I thought it was over… I was absolutely gutted and heart broken that I had failed to achieve my goal and dream of getting a frontend developer job in Europe.

Or... was it? Was it really over???

A few days had passed and I received an email from one of the companies that I interviewed with. I didn’t want to open up the email as I had feared the worst. When I finally got the courage to open up the email, I found out they wanted me to do the final interview round with them.

I was shocked and rejuvenated. The dream was still alive!

Then something else happened. A few days later, I got an email from the other company I had interviewed with. I was again expecting to read a rejection message.

Instead, I saw the word... congratulations! I was offered a part-time freelancing gig through the company.

I was happy and excited, but also had mixed feelings. It wasn’t a full-time job (only short-term) and it wasn’t quite what I was looking for either.

However, I was so beaten down by the grind of applying that I accepted. I figured that it would at least keep me a bit busy, give me some valuable experience, and provide some income.

In the meantime, I had my final set of interviews with the other company and all I could do was wait.

December 2019: Success!!!

Around mid-December, I finally heard back from the third company on my list (the one that never responded) and managed to quickly get interviewed by them. They had asked me to do a take-home project. My motivation to do these was at an all-time low.

I started planning out my ideas on paper, but I couldn’t get myself to start coding on the first day. Maybe it was the fact that my freelance project was coming to an end and my future was looking very bleak.

The second day came and my motivation was still not there. I couldn’t get myself to start coding. It was like my mind and body had already given up.

Then… I got an unexpected call from an unknown number.

I reluctantly answered and it was the HR lady from the company I had done my final set of interviews with.

I held my breath and she told me some amazing news. They were offering me a full-time Frontend Engineering position at their company, which was in Europe, and at the salary level that I was asking for.

I couldn’t believe it... The offer met all of my goal criteria. This time I more than happily accepted the offer which made my dream and goal a reality!

I had finally done it. After 8 hard months of applying, building projects and interviewing. It only took 135 job applications and interviews with 15 companies to happen.

My persistence ultimately paid off.

Ironically, the written contract came right before Christmas. This became my new best Christmas present I could have ever given myself/received 😄.

I was so happy that I wanted to reward myself with something more. I knew I was going to be working in React and GraphQL on a large E-commerce project at my future company and I wanted to be as best prepared as I could to leave a great first impression.

So what would be another awesome Christmas present (reward) that I could give myself for this amazing achievement?!?

Well… of course buying another Zero To Mastery course! So that’s exactly what I did.

This time I purchased Andrei’s & Yihua’s Complete React Developer course, as it seemed to be the perfect fit to prepare me for my first developer job.

I’m glad that I did as it helped me better understand React, Redux, Context, GraphQL, the core features of an E-commerce shop, and how to build one from scratch. It helped make the massive jump into a large codebase project a little bit less intimidating and easier to understand.

If there is anything that I’ve learned from my entire experience, it’s this…

Good things happen to you when you buy yourself a Zero To Mastery course as a Christmas present!

Joking aside…

A few takeaways:

  1. Invest in yourself to help you to commit to whatever direction you want to head in life
  2. Be consistent and persistent with taking action and pushing forward even through all the hard times (of which there will be many)
  3. Embrace the process... it will help you grow and improve
  4. I won't sugarcoat it, it's hard work but totally worth it
  5. Have belief in yourself

I believe that these will help take you to where you want to go in life. I wish all of you the best of luck on your journey, to whatever destination that may be!

Feel free to reach out if you have any questions or just want to chat. You can reach me on either: Linkedin or Twitter.

You can also accelerate your learning and get hired in an exciting, rewarding job just like David by joining the Zero To Mastery Academy.

More from Zero To Mastery

How I escaped "Tutorial Hell" preview
How I escaped "Tutorial Hell"

My personal experience of how I escaped tutorial hell, once and for all. I had a lot of learnings along the way and I wanted to share them with other beginner developers and Zero To Mastery students who are also feeling stuck in tutorial hell.

How to Get More Interviews, More Job Offers, and Even a Raise preview
How to Get More Interviews, More Job Offers, and Even a Raise

This is Part 3 of a 3 part series on how I taught myself programming, and ended up with multiple job offers in less than 6 months!

Don’t be a Junior Developer: The Roadmap From Junior to Senior preview
Don’t be a Junior Developer: The Roadmap From Junior to Senior

Don’t sell yourself short. Seriously, don’t be a Junior Developer. This article outlines all the skills that you should learn if you want to get out of your Junior Developer role and get started on the path to becoming a Senior Developer.