My journey to landing the first role in tech

My journey to landing the first role in tech

ยท

14 min read

It's been almost six months since I started my first developer job. In a way, it doesn't feel real. There was a point in time when this felt like wishful thinking, a delusional pipe dream.

In this post I'm going to share my story with you and how I managed to transition from my previous career into tech.

I have to stress that what I'm about to describe is only my personal experience. What worked for me might not work for you, due to a variety of factors. Never blindly follow anyone's advice, always try to adapt everything to your personal circumstances, take what's helpful and leave out what isn't. I hope you find some use in this, even if it's just motivation to keep pursuing your dream.

With that being said and without further ado, let's get on with it.

The start of the...

(1991 - 2015)

37032hd.png

My first encounter with technology was back in the 90s. I started gaming quite early on consoles like NES and SNES and then switched to PC. The experience was enough to make me say "I want to become a computer programmer". Unfortunately, not having a supportive environment around me didn't help. I ended up abandoning this dream quite soon and drifted in a completely different direction.

My education ended up being quite non-technical and I eventually graduated with a degree in Foreign Languages and Literatures, specialising in English and German. I had no passion for it, I only chose it because I didn't know what else to do.

In those years, I became passionate about guitar and music. I couldn't afford teachers, so I had to use whatever I could find online to learn how to play and write. Despite the lack of resources (this was over 10 years ago, the Internet looked slightly different), I became quite proficient. Little did I know, the skills I developed in doing that - finding good materials, put a learning curriculum together, sticking to a schedule, delayed gratification - would be paramount in switching to tech later on.

Uncharted 2: Among Brits

(2015 - 2018)

6znje5.jpg

In 2015, one week after graduating, I moved to England in search for better life and work opportunities. I had no idea what I wanted to do and, except for helping my dad with the family business in the past, I had never had a job.

I realised I had to start from the bottom with whatever I could get, so I found a job as barista in Costa Coffee. I promised to myself I would take advantage of every opportunity to learn something, do everything to the best of my abilities and, at the same time, try to understand my likes and dislikes with the goal of finding something more suited to my skills and personality.

Soon enough, I started noticing that I liked to analyse whatever I was doing with the aim of optimising it and improve my performance. I would break down each process in smaller steps and try improve, remove or automate them. In essence, I was trying to refactor the algorithms underlying my actions.

This realisation and my positive approach led me to land roles and promotions in retail banking and, later, in supply chain for the pharmaceutical sector, where I worked as an analyst and planner.

One day, I was left with no tasks to do for the rest of the day, but decided to use that time wisely instead of wasting it. There were a number of business issues that were giving us headaches. I realised we had the data to tackle them, but it was scattered across different systems. I dove headlong into the problem and, with the help of Microsoft Excel in-built formulas (yeah, I know...), I managed to connect the data and create an automated dashboard that addressed the issue. I had programmed and hours had passed without me noticing. I can see myself doing more of this, I thought.

I had managed to progress to more and more analytical roles, but I knew I wasn't quite there yet. A feeling of dissatisfaction haunted me. I looked online for insight and stumbled upon the 16 Personalities test. I had always been passionate about spirituality and if there was one core teaching I got from that, was that oftentimes the answer to problems about external situations lies in knowing ourselves better.

I gave it a go. I can't remember exactly what type I got, but it was an INT-something and a very rare one at that. The description really resonated. It also came with suggestions such as what profession you might be suited for. One of them was computer programmer. I brushed it off for a moment, but then I thought: "I had a taste of this and loved it. What have I got to lose? I might as well give it a go" - and so I did.

Program and Conquer (or so I thought...)

(2018 - 2020)

6znj6f.jpg

Another online search returned what is now a most famous name: freeCodeCamp. Each bite-sized lesson resulted in a dopamine hit that kept me glued to the screen for the whole afternoon. Seeing elements on screen change because of my code felt magical. I thought I had found what I'd been looking for... but I stopped soon thereafter. Negative beliefs and self-talk kept me from believing in myself.

Lesson

That voice you hear is your intuition, your higher self. It knows things. It tries to communicate with you and give you hints as to where you need to go and need to do to fulfil your path. Ignoring it will only delay your success and will result in disappointment. Listen to it, have faith.

I couldn't silence the voice. After some time, I looked up programming again. This time, I made a different mistake. Some stupid internalised belief forced me to think that if something was free, it could not be good... so I snubbed freeCodeCamp in favour of a paid platform called Udacity.

I ended up completing some of their courses (which they call, deceivingly, nanodegrees):

  • Business Analytics
  • SQL
  • Introduction to Programming
  • Programming for Data Science with Python

Of these four, I'd say only the SQL course was really good. Still, you could get the same material on freeCodeCamp, Codecademy or Udemy for free or at a 1/10 of the price.

To this day, I'm torn about Udacity. There's definitely some good in it, but I believe that the bad far outweighs it, at least when I used it back in 2019-2020. It's very project-focused, and the project ideas are not trite either, but the feedback and support you get is generally superficial and lacklustre. Considering that it's supposed to be one of its main selling points and that the courses are not cheap, I think it doesn't make for a great choice.

At the same time, I was trying to get my company to invest in me with no results. Even though my manager was 100% on my side and did everything in its power to make it happen, the environment was highly toxic and people were seen only as resources to be squeezed as much as possible. My frustration was intensifying.

Code Asylum (or how I learned to stop worrying and love the struggle)

(2020 - 2021)

6znivy.jpg

Increasingly frustrated, I started searching for other avenues. I resumed my freeCodeCamp lessons and managed to complete the Responsive Web Design certification. I wasn't satisfied with my projects, but I could at least start putting together a portfolio.

I started the JavaScript part of the curriculum and struggled. I could understand the basics, but once I reached the Algorithm Challenges, it was like hitting my head against a brick wall. The easiest challenges would take me days to complete and even then I felt like I didn't really understand what was going on.

This is when I started to familiarise myself with the infamous programmer's nemesis: the Impostor Syndrome.

Imposter Syndrome

I got so frustrated with those challenges and ended up dropping out again. I didn't want to give up completely, though. I needed something to practice and strengthen the basics. I found Codewars and started solving the easiest katas, as I realised they would help me cement those foundational concepts. I did this for some months, whilst still reviewing some basic HTML and CSS, until I felt confident to resume the JavaScript curriculum again.

This time, it was like a block had been lifted and I started acing through the challenges until I eventually gained my second certificate. I felt quite proud and realised I had made some real progress.

At the same time, my job had become unbearably toxic and my manager, the only one who had ever supported me, had left a few months earlier for the same reasons. I ended up quitting and landing a role at his new company.

This company, too, soon revealed itself to be quite different than what the initial impression communicated. I won't go into the details, but it got to a point where I realised I had to do something and quickly, otherwise I would end up more and more depressed and frustrated.

Another online search casually brought up the name of School of Code - a free four-month online bootcamp based here in England. It almost felt too good to be true, but it was real. I applied without a second thought and went through a four-stage application process that took, if I remember correctly, about a month.

Whilst I was still waiting for feedback about my application, I quit my job - my patience had run its course. It was a big risk as getting accepted in the bootcamp was not a given.

Eventually, while I was still working through my notice period, I received the email confirming my acceptance into the bootcamp. I was swept by a rush of excitement as I realised my leap of faith had paid off.

Coder Scrolls: Bootcamp

(2021 - present)

6znijo.jpg

Describing the whole bootcamp experience in detail could be its own blog post, so I will only cover the main points.

The bootcamp lasted roughly four months, from November 2021 to March 2022. Each week was focused on a different technology, whilst still retaining all we had learned to that point.

It mainly covered the following topics and technologies:

  • HTML
  • CSS
  • JavaScript/Node.js
  • React.js
  • Express.js
  • GIT
  • Agile methodologies
  • PostgreSQL

It was an eminently group-based activity. Each week we would be paired with another one or two bootcampers, so that we would learn how to work as a team. We would start the day with one hour of Codewars to refine our computational thinking skills and keep our syntax knowledge sharp. The rest of the day was equally split between theory and practice. The week would end with a hackathon day on Friday where we would work all day on a single project that we would present to the rest of the team and the coaches.

In addition to this, there were also a project week and a final project month. In both, we were part of a slightly bigger team than usual (in my case, four and six people respectively). The former didn't go very well, whereas the latter was a much better experience, although there were many issues and difficulties along the way.

Lesson

I don't say this to discourage anybody. Issues will arise whenever you work with somebody else, it's part of the human experience on this planet. The challenge is learning to handle these situations the right way, so as to reach a compromise that makes everyone (reasonably) happy and causes the least amount of damage (or none at all) in the process. It's a skill that's acquired with deliberate and intentional practice. Just trying to passively navigate the situation won't cut it and won't make you better.

Make sure you leave your ego at the door. Understand that, when working in a team, it's no longer just about you but about the team and the product or feature you're trying to build and ship.

The end of our final project was followed by a demo day where we got to present our work to people from the industry. Putting a presentation together is also as skill in and of itself, and a very important one at that. It's something you will have to do very often in your work life. Let me put it this way - If you've played RPG games, you've probably invested some skill points in your Persuasion skill. I encourage you to mirror that in your life ๐Ÿ˜„

After we had presented our projects, the "learning" part of the bootcamp had ended and the recruitment part had begun.

Coder 3: The Wild (Job) Hunt

6zngac.jpg

Part of the bootcamp appeal was that you would be put forward for roles with their partner companies, but while a small subset of bootcampers did find a role that way, I didn't. In almost two months, I only got one interview, despite applying for over 30 positions. It's safe to say I was getting quite disheartened and losing hope, so I resolved to look for roles on my own.

I looked for all the job search platforms I could find and put together quite an extensive list. I treated this as an actual job in itself and set myself a daily schedule. I would start everyday around 9AM, scour each website for all suitable roles and apply for them one by one. This took hours each time, but I kept at it indefatigably and, soon enough, people started calling me back and I had so many interviews lined up that I had to keep track of them in a spreadsheet, so as to not lose the plot.

Why such a difference between applying through the bootcamp and outside of the bootcamp? No clue.

In the meantime, I was still working on personal projects to improve my skills and portfolio and posting regularly on LinkedIn and Twitter to build and maintain an online presence.

Alone in the interview

6znh1h.jpg

I interviewed with different companies and experienced different hiring processes. In general, they would consist of two to three stages involving a coding test or exercise, followed by one or more interviews with managers or team members.

The take-home tests would range from reasonable exercises, where you would build a small project with a few basic features, to Codewars-style katas to LeetCode-style challenges leaning heavily on the algorithm and data structures-side. It really was a mixed bag.

The interviews were generally fair, I was mainly asked to introduce myself and my journey and to talk through one of my projects. Occasionally, I would be shown some lines of code and asked to explain what they were doing.

At some point, I happened to notice a job ad on LinkedIn that had almost passed me by, as it only specified Junior in the ad description and not in its title. I applied without any major hopes, it was just another job in the dozens I had applied to... but I received an email response asking me If I had time for a chat. One thing lead to another and I was asked to do a live coding interview.

On that day, I must have been the most caffeinated I have ever been as I lost count of how many cups I had. Everything that could have gone wrong, went wrong. All the things I could normally do blindfolded were now impossible obstacles to overcome. I stuttered and struggled.

Nonetheless, I must have done something right, because I got an offer few days later and I'm still working here. Happy and making progress :)

Talking about my first few months as real-life developer will be the subject of a future post.

Power-ups

6znhmq.jpg

To conclude, some key personal learnings from this long (and totally worth it) journey.

  • Your CV does not need an extravagant design, unless you're specifically aiming for UI/UX roles. In certain cases, depending on how it's initially processed, an eccentric design can even be detrimental.
  • Your junior portfolio doesn't necessarily require crazy apps or huge and complex architectures. Going through some classic ideas is fine, as long as you give them your personal twist. One of my projects that got the most attention was a Tic Tac Toe based on the movie Rocky IV!
  • Open source is great. Leverage it.
  • Social media is great, if you curate your feed and network. Leverage it.

6zni6f.jpg

What now? What's next?

Since getting hired, most of my learning has centred around my job. I've been focusing on strengthening those skills that would help me succeed in my daily role. This has been helpful as being able to immediately apply what you learn helps with retaining and cementing the new concepts, thus accelerating your progress.

However, I still like to work on personal things in some of my spare time. I've finally felt I had skills to tackle something that has interested me since my early childhood: game development. It's funny. This is how it all started and, after 20+ years, I have now gone back to it.

In short, I have started learning Phaser.js and I am creating my first game called Texas, Aurora, a side-scroller set in the Far West. You can find more information on the website: True Self Games or on Twitter.

Stay tuned and keep learning! You can do this.

ย