Are you considering switching careers into tech? Or struggling to get your first developer job? This article will show you what the process is really like and what it takes to get that first developer job!
After my last article, How I failed and then found success in programming, I went on a bit of a curvy and crazy journey. In the end though, I had correctly predicted that I was going to succeed. It just took me almost 2 years to get there and you’ll see why it took me so long later on. Of course it wouldn’t have happened without consistency, continuous learning and improvement, faith, lots of hard work and time.
I really, really want to emphasize that this whole process / journey was NOT easy!
I don’t want you to think that it was, especially if you are considering undertaking it yourself! There were many more downs than ups along the way. But the final up is what everyone strives for when they undertake this journey.
And in order for me to show a little bit of these downs, I want to be as upfront with my story as I can be. This means sharing some of my backstory first, which isn’t specifically related to programming. It’s more just to show you where exactly I was in life and what had led me to finally focus on programming after I had written the article I mentioned at the top.
My skills back then (2018)
Both of these projects were very basic and should give you a rough idea of where my skills were at back then.
I also thought that I was on top of the world since I could build web applications like those ones without any help! When I had finished building them, I was so ecstatic. I also found it really cool to be able to see my own work online. I had wanted to share my joys with the world and hence why I wrote that article I referenced at the top.
Where was I in life? (0 months past - since I wrote that article)
Unfortunately, programming was not my main focus back then. For me, I was just picking it up as a side skill and using it as my backup plan.
Back then I was still on my struggling, entrepreneurship journey.
I was working on a business idea that connected online entrepreneurs together in small mastermind groups. The problem that I was trying to solve was that entrepreneurship is a lonely journey and oftentimes the closest people around you aren’t business minded, nor business savvy. I was offering people the opportunity to join a small support group of other like minded individuals, who would help and push each other to succeed.
Or at least that is what I had envisioned…
I was actually able to recruit something like 8 or 9 members. So I knew it was a real problem because I was also dealing with it myself.
Now I’m not going to get into the challenges and problems that I faced building that business idea up, but if you are curious to know… send me an email and I’ll be happy to chat with you about it.
The important thing to note is that some events occurred with the first member who had joined the group, and they had suddenly and unexpectedly departed. Shortly after that, everything fell apart because I decided to stop the group and I didn’t want to pursue the idea any further. I had my reasons why, but I won’t get into them.
Feelings of hopelessness (2 weeks past)
After that event, I was quite down and gutted to have had to stop pursuing my business idea after I had put a lot of time and effort into it. I was also really worried about what I was going to do next in my life.
I was in a bit of a stressful position where I was constantly eating into my savings and not earning any money. I was also in a super unhealthy and toxic relationship… while living in a foreign country where I didn’t even speak the language. I had no immediate family nearby and only had some distant relatives in neighbouring countries.
Apart from my relationship, I was basically alone.
I had made some big life choices and sacrified a lot to get to where I was, but what I really wanted was to get back on my feet again. To have some stability and less stress. But I was 100% certain that continuing along the business path was the best way forward for me.
So what did I do?
Vulnerable, gullible and desperation (1 month past)
I came across this very compelling digital ad online. I felt it spoke completely to me and I thought it was exactly what I needed to help get me going in business.
After a lot of research and convincing myself, I took the plunge into the paid business course. I thought that this would give me the focus and blueprint to succeed that I had so desperately desired. I also believed that it would help me fix the problems in my approach and get me back on my feet quicker.
I put my heart and soul into the course for probably 4 or so months. I absorbed all of the material and followed all of the exercises.
I was excited to help the guiding industry niche through the power of my AI chatbot assistant.
The goal was to help the industry reduce the amount of email inquiries that they got, which these small business owners very much disliked. However, I got ahead of myself with the solution because I was restricted by time and I was really trying to force my own solution on them.
This came back to bite me in the end.
A couple low blows (5 months past)
Since I didn’t give myself enough time to really talk to my market and truly understand their problems, or to pivot my solution, I ultimately failed with this business attempt as well.
And conveniently, around pretty much the same time, my toxic relationship also came to an end.
A double whammy!
Not only was I super gutted, broken and crushed from not being able to get my business idea to work by a reasonable deadline, but I was even more lost, confused and alone in life.
Where do I go? What do I do?
I felt “homeless” because I had moved around the world quite a bit in the past several years and was sick of having to start over again and again. I didn’t have a place to call home.
It seemed like I couldn’t get anything going or working in my life. The stress was taking its toll on me and I started getting random episodes of painful back spasms. Nothing seemed to be going positively for me in life, and unsurprisingly… I also didn’t even want to think about anything to do with business. Even just hearing the word “business” had crushed me.
I completely lost my passion and drive for it. I did try to force myself back into it after some weeks, but I couldn’t manage for more than a couple weeks before I stopped again. That burning desire I had to succeed was gone.
The low of lows (6-7 months past)
Throughout the entire time since I wrote that article, I didn’t do very much with programming. Only a little bit here and there. The only exception was when I was building my AI chatbot assistant demo website to show to guiding business owners how my idea would work.
And for about a couple weeks or so after “everything” had fallen apart, I didn’t immediately jump back into programming like I usually would after past setbacks. Instead, I had to really force and struggle to get myself back into learning programming. To try to do something beneficial for myself.
The problem was that I just didn’t have the motivation to learn or do anything. I wanted to use it as a distraction from my fallen apart life. To basically try to keep my mind off of things and to stop constantly feeling like I was stuck in a giant rut that I couldn’t get out of.
I did manage to finally get myself to build up this habit slowly. I continued on/off, on/off studying and learning programming for about 2 months. Some days I was pretty good and did quite a bit of learning and other days I accomplished absolutely nothing. I just wouldn’t be able to get myself going.
New year, new focus and new adventure (8 months past)
Right before the end of the year, I did something smart. I had decided that I was going to get serious about programming and bought myself an awesome present.
Back then, I wasn’t fully happy with the learning resources that I was using to study programming. I had felt that I had already outgrown them. And what I really wanted was something with more structure and guidance. So I bought myself a paid course off of Udemy from a senior developer and I’m extremely glad that I did. While some of the course was simply a refresher for me, I got it more to learn React, the backend and for the cool full stack project that we would get to build. This was a facial image recognition web app!
PS - if you want to know which Udemy course it was, check out my programming course recommendations in my about me section.
While I started to make some good choices in my life by first choosing to invest in myself, I was still very far away from feeling happy and having a clear path forward in life. Of course my family noticed this too since they were worried about me.
Crazy idea and new adventure (8.5 months past)
So what could one do to try to forget about everything in life and heal?
Well… go on a traveling trip!
Annnd that’s basically what my family had convinced me to do. To go on a very cheap, family traveling adventure together. To have fun, be together, see new things and with the hopes that it would get my mind off of everything that had recently happened in my life. It would also hopefully get me into better spirits and to give me some time to figure out what I’m going to do next in my life.
Thankfully I still had enough savings from my previous career that I had worked very hard to put away.
Sooo if I was able to… why not!
I didn’t like the thought of going away when my life was a giant mess, but it’s not like I had any other ideas or plans.
And funny enough, the thought of going away on a trip had actually motivated me to get through as much of my programming course as I possibly could before leaving.
I was spending morning to night pretty much on my laptop everyday. Of course I wasn’t very productive with my time, but I was trying and that was the important thing. Even if I only managed to work through the course for 30% of the time I spent on my computer, I was still making progress forward. And that was one of the keys to me eventually getting back on my feet. This small progress forward, built up over time that would help get me to where I am today.
Now I don’t remember exactly how much of that course I had managed to complete before leaving, but I know I had made a good dent into it and was making some good progress.
And then off we went on this cool and really cheap traveling experience (while escaping winter) to a warm country.
Minimal progress (9 months past)
As I had feared before leaving to go on that trip, I didn’t really make much progress in my programming studies at the beginning.
There was lots of planning, outdoor, exploring, sun and ocean time outside. And that meant I wasn’t on my laptop programming. Initially I was trying my best to not worry, nor think about the future, nor my lack of progress on my course and just to be present.
To enjoy the nice surroundings and experiences, but unfortunately it was really hard. I was very much stuck in my head, living in the past and replaying bad memories over and over.
Since I was doing this to myself, it had really hindered my ability to be present, enjoy life and to move forward. It was a constant battle of jumping back and forth between being fully present in the moment versus being trapped in my mind and reliving my past.
For me… it was really not easy to just enjoy everything. I did feel it in moments and spurs, but nothing was consistent.
Hope, a new friend and newfound desire (9 - 9.5 months past)
Fortunately, when you are traveling, or not at home or exploring, you increase your chances of spontaneously meeting some cool people.
And that’s exactly what happened.
Along the way, I had met 2 digital nomads who were basically living my dream lifestyle. It was a surreal experience to meet someone face-to-face, and to see living and breathing proof that it can be done.
The first instance was an American couple who was traveling around and had their own blogging website. They also had an online shop where they sold merchandise. We had chatted with them for a little bit and they had told me about this location independent community that they were a part of and how it was a big help to their success.
At the end we exchanged contact details, but unfortunately this couple was not so friendly afterwards! They never responded back to any of my messages.
Buuut… luck was on my side. I had randomly met another digital nomad from Britain (and also his family) while waiting for the bus about a week later.
And… unbelievably, can you guess what this guy did?
He was a self-taught developer working as a freelancer!!
I thought… no freaking way!
I was trying to become a self-taught developer and here I was standing in front of someone who managed to do it. This gave me a tremendous amount of hope, belief and confidence.
It was like looking into the future as he was a couple years ahead of where I was presently on my programming journey. It also became more real to me and gave me more belief that it was completely possible.
Even today, we are still in touch. He has moved on to building his own startup that wants to bridge the gap between the online community and the in-person community experience when taking courses. It’s a really cool venture!
These in-person meetings gave me a newfound boost of energy!
Learning and programming (10 months past)
Around this time I had already gotten back into my course, programming and learning groove and I attribute some of that to meeting those 2 digital nomads groups. I also began taking consistent, daily action and it showed!
Shortly after, I finished that Udemy course! Yaaaah!
But more importantly I had finished building the course guided facial recognition brain web app, which you can check out if you’re also interested. Please note that you may have to wait for up to 30s for the server to boot up.
And now I had another project to add to my portfolio.
Continuing momentum (11 months past)
Since I had made some really good progress with my programming skills, and while everything was still fresh in my mind, I wanted to keep the ball rolling by building my own project from scratch and in React.
So I had decided to build a tic-tac-toe game.
It took me a couple/few weeks to complete, but in the end I was very happy with it. Both with the final design, as well as the game play. My coding was still fairly messy and disorganized at that point, but I was happy that I was able to build this classical game from scratch.
This then gave me another project to add to my portfolio and a new sense of confidence.
Let the search begin (11.5 months past)
By this time, I had decided that I was going to start applying for programming jobs overseas in Europe, as I felt that is where I wanted to move to.
I was full of confidence, knew I wasn’t ready, but applied to jobs anyways.
I wanted to see if recruiters, or HR, would even get back to me with the projects that I had built. Whether they’d give me a chance at interviews or to do a take home project?
It would also give me an idea of what they were looking for in candidates and a chance to improve my getting interviewed skills. Or in other words… answering questions.
I stuck with a very simple strategy of applying only to companies that I personally liked their service/product or company vision. I didn’t bother to apply to companies that I couldn’t connect with.
And the other aspect was to apply directly to a person and not through an online form or HR. The higher up they were in the company, the better.
I found this strategy very easy and helpful for me, as I was previously doing this cold outreaching when I was trying to start up my own business. I was practically doing the same thing here, but instead I was applying for a job instead.
Initial successes (12 months past)
I couldn’t believe it! A handful of companies had actually gotten back to me and wanted to proceed forward with interviews!
I was thinking… this is TOO easy! I already got this in the bag.
Unfortunately, I quickly learned that I had gotten a bit too ahead of myself. My ego was too high and it needed to be knocked down back to Earth. I soon realized that it’s one thing to get an interview and another to get a job offer. But, it was nonetheless a very encouraging sign.
So what happened?
After applying to a whole bunch of companies (which was actually less than 20) for about a month, I had managed to get positive responses from 6 of them! By positive, I mean that I either already had an interview with them, or I was in the process of setting one up.
I’m not going to lie, but I was pretty ecstatic with the overwhelming response rate. I wasn’t sure if it was just luck or if my strategy/approach was really good.
Either way… it was working and I was quite happy about it!
I ended up having interviews with 5 out of the 6 companies. The last one ended up just being a screening/getting to know you call, which they ended up deciding that it wasn’t going to be a good fit.
From those remaining 5 companies, I had made it to the final interview round with 2 of them and another one I had decided to stop proceeding forward at the take home project point. The reason why was that they had asked me to re-create something that would have taken super, super long to do and I felt that it was excessive for a take home project. So I had decided to drop out.
Soo close (12.5 months past)
With the first company that I had made it to the final interview round, it was looking very promising. I really thought they were going to extend me a job offer. The developer who I had pair programmed with during the second interview was quite positive about me and everything seemed to be pointing towards a job…
Until it went quiet.
And I felt something was wrong when more than a week had gone by and I still hadn’t heard anything back from them. I decided to follow up with the HR woman I was in contact with and…
Usually she got back to me promptly, but not this time!
I had a lot of racing thoughts going through my mind…
Finally, some other person responded to my message and it was someone who I had never corresponded with before! They had simply told me the bad news and that they decided to hire someone else.
This cannot be! I had this job!
Well… I guess not!
Whaaat?? (also at 12.5 months past)
So the other company that I had made it to the final interview round with, was a little bit of a different experience. They had initially rejected me after my first interview, but later on decided to give me another chance at a paid internship with them. The reason why… they had liked me and my past background.
This time around, I had made it all the way to the final interview stage and was waiting to hear back from them.
After some days, I finallllyyy got a response!
The CEO had wrote me an email. He decided that he was going to offer me a 6 month internship, with the chance of it turning into a full-time position. He made it clear that it was only because of my engineering background and his belief that I would improve my skills quickly.
Omg… is this for real?!?!
My first developer job offer!!
However, I wasn’t really satisfied/happy after going over the contract details and the general tone of his email message. I had felt that there were a lot of red flags about the whole situation.
The overall salary was really low and it was pretty much below poverty level. I felt with my skills, experience and background, I would bring a lot of value to the company. I also had the impression that I was just going to be used for cheap labour, while really doing full-time salary work.
There was a 72 hour time constraint to accept the job offer (which was extremely pushy).
There was some crazy test that I was expected to do at the end of the 6 month internship and if I passed it, I would only then be offered a full-time contract. However, when I had questioned him about it, he refused to give me any details of what I would get tested on.
All of these things seemed very strange for me!
And in the back of my mind I was thinking, all I had to do was say yes. Sign that contract and all that hard work, effort and dreams of becoming a professional developer would become a reality at the snap of my fingers…
But… I couldn’t. It just didn’t feel right to me.
So I declined the offer. I told myself that I refused to be paid anything less than a normal, full-time salary since I’m not a college/university kid anymore. I’m a grown adult and have no desire to have a salary below the poverty line. That kind of offer was not what I had worked so hard to achieve.
Break (13 months past)
After I declined that internship and then didn’t get the full-time job offer from that first company either, I was really dejected, disappointed and sad.
I felt that I needed 1-2 weeks to recover from the grind of applying, interviewing, preparing, and of course the setback. In the meantime, I also let any ongoing chats that I was having with companies fizz out. I was in low spirits because I felt it was soo close to happening, and then it didn’t!
New wind and verbal agreements mean nothing (14.5 months past)
The next period of applying that I will cover was to a bit over 30 companies. Unfortunately, in this period I didn’t have as many positive responses, but I did have some encouraging signs again.
This time around, only four companies had shown positive interest in me.
I should really say 5, but the last company was so disorganized and after numerous failed attempts at trying to get an interview to happen… I simply gave up. I didn’t want to work at such a poorly run company, even though their company vision was something that I was really interested in.
So what happened with the other four companies?
Well… I made it to the final round with 2 of the 4. Between the other two, one I did not make it past the first interview and the other one had only offered me a proposition.
The proposition went something like this.
I like you and I’m willing to give you a chance. However, since you don’t know Angular and we work with Angular here, this is very important for us. If you are willing to learn Angular on your own, and come back to me when you feel ready, I will hire you assuming that you can successfully complete an Angular take home project.
Ouuuuu… It was an interesting proposition, but it was not exactly what I wanted. Ughh…
I had reallyyyyy wanted to work with React. I didn’t want all that time I spent learning it, as well as the knowledge that I had gained, to go to waste now. I also felt that React was growing more rapidly and that there would be more React based job opportunities than Angular ones.
So I put this on the maybe/hold and basically forgot about it!
Regarding the other company that I didn’t make it past the first interview with. Well… let’s just say I was doomed from the start. The entire company was a list of elite people. Most had a Dr. designation, significant background experience in programming or were ex-FAANG employees. I was really biting off more than I could chew here and the interview showed.
The first question that I was asked, was to explain how Google works behind the scenes when you search for a query.
Say…whaaat?!? You aren’t going to ask me to tell you about myself???
I was speechless again.
I really didn’t know what to say. And on the inside, I was in agony.
I tried my best to engineer an answer, or explain what I think might happen, but the guy clearly saw that I did not have a good technical understanding. Shortly after that, he had ended our interview short and wished me luck on my journey.
It was the shortest interview I ever had! And it was a real confidence kicker.
With the next company, I had made it to the final round of interviews again. To me, this was very encouraging as I knew my processes were working.
I also felt that I had a good chance with this company. I had a really good chat/discussion with the lead developer there. I showed a lot of interest in the company. I really liked the company’s business model and the problem that they were solving. Plus I could easily relate to the problem from my previous career.
Annnd again, they didn’t offer me a job! They had gone with someone who had more experience and there was nothing I could do about that.
What about the last company that had shown positive interest in me?
Well, similar to the previous story… I had also made it to the final round of interviews. This time, they actually liked me and thought I would be a good fit.
Then we went back and forth numerous times to discuss salary and other details about the job.
At last… it was a success!
The guy gave me a verbal job offer, but it was pending approval from the CEO.
Great! Nothing to worry about, right?
At this point, I had already stopped applying and searching for jobs. I felt confident that everything was in order and I was already slowly planning my move to Europe.
Before going any further, there is a little side story that I want to share which will later on become part of this overall story.
Side story - new connection
Ironically, somewhere around this time I had a video chat with Quincy Larson, the founder of freeCodeCamp. They were in the process of moving all their published articles from Medium to their own platform. Since I was an approved author (as I had written a pretty popular story in the past for them), I got the VIP onboarding experience.
At the end of the onboarding, I had told Quincy that I had practically secured my first developer job, pending approval, and that I would be moving to a particular city in Europe.
Quincy was very kind, and since he is well connected, he mentioned that I should get in touch with the person who runs the freeCodeCamp community in the city I was going to be moving to.
Totally, cool! I’d have a contact person already there.
So I reached out to this guy and we corresponded for a bit. He answered my questions and then wished me luck with the pending job offer. He said to let him know when I arrive and we can meet up.
Super awesome! I was pumped!
Now returning back to the main story where I was waiting for that CEO approval.
A couple days had gone by and nothing.
A couple more and still nothing…
I was getting flashbacks from before and started to get worried again.
About a week went by and finally… I got a response!
I was excited to read that message, but the excitement didn’t last long.
He was simply letting me know that he hasn’t had a chance to discuss with his CEO yet, and he will let me know as soon as it happens.
Okay… so I just needed to be more patient!
So I wait a few more days… and nothing.
A couple more… and still nothing.
Another week goes by, and I’m really starting to get worried now.
I got this job, right?
So I decided to follow up with them, as I wanted to know what was going on.
He responds back to me, basically saying that it’s super busy and more or less the same thing. But this time he also responds that the CEO is away on business, and when they are back he will chat with him.
Okay, okay. Seems like that’s a pretty reasonable explanation. It was too bad that they didn’t mention it before, as it would have kept my nerves in check.
So I go back to waiting. Waiting and waiting.
Again, I had to wait a whole week before I got another response back from him. And it seemed like this was the one.
As I am reading his email, my mouth begins to drop and a slow, raging anger starts building up inside of me.
He had told me that the CEO decided that they really needed to hire a full-stack developer.
I was applying for a front-end developer role the entire time. But based on this new realization, they said that I wasn’t a good fit anymore. However, they wanted to stay in touch as maybe something would change in a couple months.
I felt like I got played!
I had lost at least several weeks of job searching and applying time because I was under the impression that I had a job offer. It was suppose to be only waiting for CEO approval and sign off. And it turned out that they didn’t even know what kind of developer they needed for the job!!
I was beyond furious, angry and devastated!
Noo… I did NOT want to ever be in touch again! They had wasted my time with their BS!
I had lost 1.5 months of my time dealing with them… and more importantly, lost almost a month of not applying for jobs!
Silence and losing hope (16 months past)
This was probably one of the worst stretches for me in my whole applying for jobs process. It was brutal and I was really second guessing myself!
I started changing locations I was applying too and started doing things differently. I even started applying for technical writer jobs near the end, because I thought it was a good idea (but I did not count those applications towards this programming story). I was also tired of applying and customizing messages, so I had cut some corners with some applications. But… I was not going to give up.
After that last gut wrenching experience, I had gone back on the grind of applying for jobs immediately. The next batch of companies that I applied to was a bit under 30.
And I only got 3 positive responses back in this period!
It seemed like everything was getting worse and worse. Instead of getting more opportunities, I was getting less and less.
Noooooo! What was happening?
How come this wasn’t working anymore?
I was asking myself such questions, because I was discouraged and was losing hope.
I also had thoughts running through my head like…
Maybe I should have accepted that internship?
Is my dream even possible anymore?
I was clearly not in the best state of mind.
So what going on with those companies who did positively respond to me?
Well… 2 of them only had screening calls with me and both chose not to proceed forward. The other company I did have an interview with, but that is as far as it went. They had wanted someone with more experience. Of course!
Not everything was completely bad in this period though…
Side story continuation - a gift
I had finally decided to write back to my freeCodeCamp community contact and told him my bad news. That tentative job offer which I had told him about earlier… well it had fallen apart! I wasn’t going to be moving to his city after all.
He was very kind and compassionate in his response, which was quite nice.
But, he did something very unexpected.
He mentioned that his company was also hiring and recommended that I forward him my CV, so he can pass it to the CEO.
I was shocked and not expecting that. I felt very grateful and appreciative.
Maybe things will work out this time and I’ll actually move to his city afterall!
So I sent him my CV and waited.
I didn’t know if they would get back to me and I also didn’t have any expectations either…
Rebuilding my hope and building projects (17.5 months past)
In this next period of time, I had applied to about another 25 companies or so. In the end, only 3 of them had shown interest in me. One of those companies was the one from my side story that I was telling you about earlier, and in this section I will combine that story into this one.
So how did I do this time around?
Well… I ended up having interviews with all three companies! And to my surprise, all three had liked me! However, they all wanted me to complete take home projects for them.
That’s great! Right?
Well… not quite!
Unfortunately, and also due to the timing of the interviews, I would have been working on 2 projects at the same time. I had felt this wasn’t doable for me and wanted to start one after the other. This also meant having to give them a starting date. So I gave them a timeline of when I could start their project by and they seemed okay with that.
Awesome! Seems my planning was working!
However, since the first project had no time limit and I had underestimated the amount of work required to finish it, while also running into a few challenges along the way, it ended up taking me about a week longer to finish than I had hoped for.
I chose to be upfront with the other company about this and had tried to explain to them that I would need more time before I could start their project.
I mean… what could go wrong?
Well… I suppose they took my message as a red flag/negative.
Here I was waiting to receive an email from them…
And what exactly did they do?
The only sensible thing…
Cut contact and never respond back to me again.
Aaaaaaaaah… but what can you do? Not everyone is reasonable/understanding and if you give them a reason to eliminate you… they will!
Let’s just say I learned my lesson. In hindsight, I should have just stuck to the original date I gave them and worked on both projects at the same time. If it got too much for me, I could have cut one of them out. At least the power would have been in my hands.
And the other important thing I learnt was to increase my estimates of how long a project will take me to do, and when you set a deadline… make sure to stick to it!
But thankfully I still had 2 more options in play. How did those ones go?
Well the first one had responded to me quite quickly. We had interviewed and immediately after they had asked me to complete a take home project due in 5 days. This was going to be a good test of my skills and ability, and to see where exactly I was.
What I built ended up being my 10 most polluted cities project, which you can also see the final look of it below.
Overall, I was really happy with how the project came out. Both from the design aspect, as well as mostly with my coding. I was also happy to have finished it on time.
I knew it wasn’t perfect and a little buggy, but I felt that my solution to the problem was better than just showing some raw data. I even went above and beyond to make some air pollution calculations from the API data. I did this to provide a pollution index value that was easily comparable and in a more human readable format.
I also really liked the design that I came up with, and thought it looked cool!
However, I didn’t realize that this company didn’t care about delivering a better solution, nor about the design of the web application.
All they cared about/looked at was the quality of my code.
And unfortunately… they had picked it apart!
It was the first time that I had received proper feedback on my code quality and this was mostly invaluable. I wish I had gotten such feedback much sooner, so I could have avoided doing several bad habits.
However, some of their comments I didn’t agree with at all. It seemed that they were searching for issues in my code, rather than giving constructive criticism. I felt some comments were more of a personal preference, them simply nitpicking or being downright ridiculous!
Here is one good example of what I mean. They had complained that I used one npm package versus another one. The funny thing is that another company I had interviewed with previously, had recommended I use that same npm package as it was industry standard.
Hmmm… Strange, very strange!
So I took the good, constructive feedback and the rest I simply laughed about.
Later on, I realized I probably should have spent more time on the code and this was a mistake on my part. But I also realized that I didn’t want to work at a company that doesn’t value design or better solutions.
So it wouldn’t have been a good fit anyways, but at least I got 1 solid portfolio project to put on my portfolio.
And finally… the last company! This is the same one from my earlier side story.
Thankfully, it worked out quite conveniently that my interview with them was delayed a couple of times, so it didn’t end up conflicting with my last take home project (10 most polluted cities). It happened almost right after.
The interview was with the CEO of the company (which I was very surprised by) and it had gone quite well. At the end, they also asked me to do a take home project, but without any time limits. After several back and forth emails trying to clarify the scope of the project, I finally started it.
It was a Star Wars Random Plot Generator web application. You can see what the final version of it looked like below.
I had spent a lot of time working on this project and had implemented several criticisms from my previous take home project into this one. Again, I was really happy with how it turned out in terms of the coding, feel and design.
I also had some challenges when I was trying to implement certain features, and working with a CSS library, but in the end I managed to figure it all out.
I was really proud of what I had built!
With every project that I had built, I felt my skills were improving and I was getting better and better.
After they reviewed my project, they felt it was really good for a junior developer! So they invited me back to do the final technical interview round. Afterwards, I felt it went very well.
Things were looking very encouraging for me at this point and I was feeling that this might be it. This might be the company who offers me a full-time job.
At last… I finally heard back from the CEO of that company. He mentioned that they like me, my skills are good, but they are searching to see if they have any projects that they could put me on as a junior developer.
He then goes on to mention that, at the time, they had more of a demand for senior developers. However, he said he would get back to me in 1-2 weeks.
Uh oh… not so good!
So I decided to think positively and again was thinking/hoping that this time it would happen! That I would be moving to that city after all and be working with my freeCodeCamp contact.
That would be pretty cool and it was getting me a bit excited!
Not only that, but my 2 dreams/goals would become a reality as well.
So I waited to hear back from them…
And finally I decided to just follow up with them and show my interest in working at their company.
The CEO responded, he told me that they’ve been looking and waiting for some projects, but he also didn’t want to keep having me wait either. So he told me that it won’t be possible to hire me.
Again… disappointment! Frustration! Anger! Sadness! Aaaaaahhhh… it just wasn’t meant to be.
At this point I was pretty gutted and started wondering if it was even possible to get a full-time developer job. I was so close, so many times, but that last step seemed to be out of reach for me.
I really began questioning whether I was delusional and wasting my time. My family was trying to convince me to give up. Or at least to get some kind of part-time job, or something to start working again. And they were even telling me to go back to my previous career and start applying for those kind of jobs. That it looked like it just wasn’t possible.
This was mentally tough to hear and listen to. Now I don’t remember exactly what I was thinking back then, but it was probably something like this…
I worked soo friggin hard…to what? Give up now? I can’t fail again. What am I going to do if I can’t make it?
It was all very tough on me. Part of my brain started letting in all the negative thoughts and I started to listen.
I told myself that I’d give myself until the end of the year and after that, I’d explore other career options. I felt defeated. That I was just setting myself up for even more disappointment.
One last push (19 months past)
After a bit of a break, I started the job applying process all over again. Something I was getting all too familiar with.
I updated my portfolio with my last project, and changed some of the wording in my initial approach e-mail. This time I felt I had a stronger, better looking, and more solid portfolio of projects. I was hoping that it would help me stand out.
And this was also going to be my last batch of applying for jobs.
In my mind, I was going for an all or nothing approach. I felt if I didn’t get anything from this batch, then I was finished with trying to become a developer.
With those thoughts in the back of my mind, I was even more uncertain about my future.
What was my fate going to bring me with this last round of applications?
Well… lets find out!
I had again applied to around 30 companies. And this had taken me much closer to the end of the year (but still in November).
I had positive responses from 6 companies this time, but only had interviews with 4 of them. The other 2 had asked me to complete a technical assessment, or challenge, and neither one of them got back to me afterwards.
One of those 4 companies I had both a screening call and interview with. But after the interview, they had told me that they were looking for someone with more experience. So this option was crossed off.
Now it was down to 3 companies.
The 1st company I also had a screening call and interview with. This time it seemed to be more positive and they were mentioning a few projects that I could potentially work on. They said that they’d get back to me for a technical interview right away, but that never happened.
Instead, I got a screening call and an interview with the 2nd company. Cool! This one seemed like a better option and was much more promising. It seemed to be a good company and they also had a nicer interview process.
Up to this point, everything was going very well with this 2nd company.
Next they invited me to do a technical assessment (rather than a take home project), so I prepared as best as I could for it.
The online assessment consisted of numerous parts, was time-limited and took me a few hours to get through. It was meant to give them a good idea of how well I’d perform in day to day tasks.
The assessment started off good, and then things really fell apart for me. I felt I had bombed and done really poorly on the middle portion, which was the bulk of the assessment.
I wasn’t able to finish some portions, nor complete the programming challenge. Partly because I had started solving it with a functional programming approach and only towards the end I had realized that they wanted it solved with an object orientated approach.
Darn it! I should have read the problem more carefully.
At this point in time, I had felt doomed because not only had I wasted my time, but I also didn’t know how to solve it in an object orientated way. So I was basically screwed!
However, I did manage to finish the last portion out strongly.
Overall, I felt I had done badly on the assessment and didn’t expect to hear back from them. So I crossed off this company.
It was down to 2. Well… actually, it was really only one because the 3rd company hadn’t yet responded back to me.
Jumping back to the 1st company, I finally heard back from them. They had invited me to do a technical interview. They mentioned that it was going to be for a part-time, very short-term project.
Okay… well, that’s better than nothing!
So I wasn’t sure what to expect from the interview, but again I tried to prepare for it the best that I could.
The interview started off good, but then it got into an algorithm/data structure question. This had surprised me and I felt totally uncomfortable. I had told them that I hadn’t studied algorithms and that I wasn’t sure about how to optimally retrieve the data in the question that they had asked me. I only knew of a naive approach.
Thankfully, he gave me some hints and we were able to reason about an optimal approach together. However, I already started feeling bad at this point.
To end the interview off, they asked me to do a live coding session. They wanted me to code up a basic to-do list in React. Oh and they only gave me 15 minutes to complete it.
With the super tight time pressure, I was panicking on the inside.
Where do I start? How? What should I do first?
It felt like I had a hundred thoughts rushing through my head.
Suddenly, I was wondering if I’ll remember how to even code in React.
I ended up wasting at least the first 10 minutes of my time. Just in setting up create-react-app, asking clarifying questions and telling them how I would go about solving the problem, without actually writing a single line of code.
Under the time pressure, I was having problems just getting started. I was worried about writing everything in one file, so I decided to start creating folders for the different components that I would be building. Just organizing my files.
Already?!?! That was 15 minutes?
Part of me thinks that they really just stopped me because they couldn’t watch anymore.
However, they said that they just didn’t have any more time. I had basically wasted the first 15 minutes just setting up the project, and they didn’t see me coding anything. The interview ended shortly after, but they gave me one last chance.
They said if I could finish the task on my own in the next 15 minutes, after our interview ended, that they would take a look at my code.
Okay… I really can’t screw this up again.
I looked at the time, calmed myself down and started writing code.
Things were going well, but then my brain froze. I forgot how to do some basic stuff and had to go re-read and double check things. Next thing I know, it has been 20 minutes.
I felt disgusted and discouraged with myself.
Part of me said to just stop and leave it. I missed my deadline and I messed up yet again.
I got up and wasted another 20 minutes pacing around and thinking about everything. Finally, I decided that I should finish the task, at least to just get some practice.
I went back to my computer and within the 1 hour mark, I had pretty much everything working. There were still a few things that weren’t though, and I couldn’t let them go. I believe this was the perfectionist inside of me.
So I spent another hour (at least) to fix the things that were bothering me and to do some further code improvements.
I felt since I was already over the time limit, I wasn’t in a hurry to complete it anymore. I double checked my code, made sure everything was working and decided to just send them my solution anyways.
I opened up my email, wrote them a long apology that I had taken so long and thanked them for the opportunity. I attached the code in a zip file.
On the inside, I knew that they wouldn’t get back to me since I took way longer than the 15 minutes.
And I distinctly remember at this time, I had pulled out a piece of paper. On this paper I had written down the company names that I still had a chance for. One by one I was crossing them out when I felt it was over, or they had responded back with a no. I had crossed off all the names on my list.
It was over!
My eyes got watery.
There was no more hope left.
I was sitting in silence as I was trying to come to terms of what that meant for me and my life going forward.
Some days had gone by and I was already thinking about going back to my previous career. Something that I really, really wanted to avoid and hated the thought of.
But then I got an email…
It was from the 2nd company. I was scared to open it as I didn’t want to read another rejection email.
I finally mustered up the courage to open it and was in shock!
They said that I had done well with my assessment and wanted to proceed forward to the 2nd and final interview round.
Yeeees! There was still hope!
We had set up a time for the final interview rounds in a couple of weeks.
Then some more days go by and I get another shock!
That 1st company also gets back to me with an email. Again, I feared the worst and another sorry type of email. I was even more sure that this one wasn’t going to be positive.
I opened up the email so I could get it over with.
And in the email, after I read the first sentence, I see the word “congratulations”.
I couldn’t believe it. They had really wanted me to start working right away on their very short term project.
I did it! I finally got an offer!
Yet, on the inside I felt strange. I didn’t feel fully happy, nor filled with joy. I was very neutral.
I even had to think about it for a day.
Yet I essentially made it. Made my dream into a reality. I was finally going to do some professional developer work, but something was missing.
Maybe it was the part-time aspect? Or that it was just for one project? Or that I wasn’t going to be moving to Europe. Either way, I wasn’t really happy.
After talking with my family and discussing my options, I half-heartedly decided to accept.
Yay… or not!?!?
I didn’t even celebrate my success! Even my family noticed my missing enthusiasm and joy.
Shortly after this, I started working on the project. I was onboarded and then met the other, more experienced developer who I would be working with on the project.
He had already been working on it and it was mostly done. I was there just to help him out a bit, but I really felt useless. I wasn’t able to finish any of the tasks that he gave me successfully and he was too busy trying to finish the last things to really assist or help me in my tasks.
During this time period, I got a response from that 3rd company and we had set up a time for a screening call. Luckily, they liked me and they decided to set up an interview time in a few weeks.
Great! I had another option…
And what about that 2nd company?
Well my interview was coming up soon. So I had started spending more time preparing for my back to back to back interview rounds with them.
After the interviews, I felt pretty confident. But I knew from the past that it doesn’t mean much. So I didn’t want to set myself up for another big disappointment again.
In the meantime, I tried my best to learn and code at least one useful thing for the project with that 1st company.
I just kept grinding away…
Was there still more to be? (20 months past)
As more time went by, and I didn’t hear anything from that 2nd company, my hopes started to dwindle.
The reality was that I still didn’t have a future and my project was going to be over pretty quickly with that 1st company. I was wondering…
What was I going to do after? I still don’t have anything concrete! What is going to happen?
And I just kept working and trying to learn as quickly as I could.
It was challenging because there was so much to figure out about the project code and also from trying to wrap my head around how everything worked.
It wasn’t easy.
Finally, the time came to have my interview with the 3rd company. This one also goes well and they invited me to do a coding project with a 3 day time limit.
By this point in time, I was feeling pretty burnt out and was not in the mood to do another coding challenge or project.
However, I pushed forward anyway.
I started sketching out a mock layout for what I wanted the project to look like and broke all the parts up into components. Even though I was making some progress on this, I was really struggling to get going on the project. Deep down inside, I didn’t really want to do it.
And maybe there was a reason for it…
My work with the 1st company was coming to an end and it was already the last month of the year. My timeline to secure a full-time developer job was also almost up. Things were not looking so good moving forwards and I had all but pretty much lost my motivation.
The very next day, and day 2 of my 3 day project build for that 3rd company, I received a call from an unknown number.
It turned out that it was HR calling from the 2nd company. They wanted to thank me for my patience and more importantly, were calling to offer me a Front End Engineering job with them.
Aaaaaaaaaaaaaaaaaaa… I couldn’t believe it
After 8 months of proper applying for developer jobs…
After a whole 20 months since I wrote my article, I received my first legit full-time job offer for a developer job. One that was at the salary I wanted and also meant that I was going to be moving to Europe!!
Finally the emotion came out! The happiness and joy. Everything that I was working towards the last while, was becoming a reality. I would soon be off to Europe and starting my new career as a developer.
I was beyond excited and happy to have something to look forward to in life.
I had finally lifted myself out of that dark rut I was in, and it was only onwards and upwards. I had a new future to look forward to.
While I was finally happy, and excited, I didn’t want to get too excited because of my past experiences. I wanted to see the contract in writing and have it digitally signed.
Though, after receiving this wonderful news, I just didn’t want to bother with that take home project anymore.
I knew it might bite me in the butt, but I didn’t care. I sent company number 3 an email that I was pulling out of the application process as I had accepted a job offer from another company.
I simply decided to cut off that option and put all my eggs into company 2.
In the meantime, my work with the 1st company was coming to an end and I was just waiting for everything to (hopefully) be official with the 2nd company.
After many questions, back and forth and clarifications, everything was signed, official and finalized right before Christmas.
It was finally real! It became a reality with less than a couple weeks before the end of the year.
I couldn’t believe that I was going to be moving to that exact same city I was so close to moving to in Europe twice before.
Aaaaaaaand that I was going to be starting my new career and life as a front end developer.
I had done it!
In the end, I had applied to about 135 companies before my dreams became a reality. Only 20 ever got back to me.
I had made it to the final interview round with 5 companies, but only had 3 offers (excluding the 1 verbal offer that fell through at the very end).
Along the way, I was constantly learning, iterating and building up my portfolio. It took me a LONG time, was one heck of a journey, but it was worth it.
And I would like to share one last important thing…
There is no special formula on how to become a developer. It requires A LOT of hard work and sacrifices. This is something you must accept and be okay with.
All the time spent studying, learning and building your skills rather than being out with friends or having fun. The pain and frustration you’ll go through of not being able to figure out how to solve problems, or resolve bugs, or getting rejection after rejection.
It is ALL part of the process.
Nothing in life comes easy and if you are prepared to go on this journey, and do the hard work, you will succeed.
PS - If you are on this journey yourself and would like some constructive criticism of your portfolio projects, or CV, then consider hiring me to give you some tips and to review your work. You can get in touch with me at: hello[at]davidpnowak.com.
Subscribe to David's Blog
Are you a developer interested in building your own SaaS business?
Get exclusive, behind-the-scenes insights (and first access priority) on my journey and process in building a SaaS business from scratch!
Not sure if this is for you? Then check out my series on my YouTube channel!