DEV Community

Maximilian
Maximilian

Posted on

How I got my first job in tech as a software engineer with no money and no degree

This is the story of how I got my first job in tech as a software engineer in less than a year after my first ever git commit, without spending any money, without a degree and without applying to a single job.

Small print: I already owned a MacBook Pro and I was living with my parents.

Preface: I wrote my first ever blog post outlining exactly why I chose a career in tech, which you can read here: Why I Chose A Career In Tech.

Mission: To help someone find their own path, create their own roadmap and see what's possible to achieve in tech in a year.

The End

I'm always a fan of working backwards, so step one was inevitably answering the question: "where do I want to be and by when?". Although I was already aware of the kinds of jobs I was after and the salary range of a lot of positions, I needed to be specific.

  1. I want to be a full stack developer / software engineer, specialising in Javascript, but be language and framework agnostic. I.e. I want to develop the ability to work with multiple languages and multiple frameworks, but become an expert in full stack Javascript development.

  2. I want to be remote, but accept that I may have to be office based for my first role (or two) until I have some experience.

  3. I want to aim to enter the market as a mid-level developer. Worst case scenario, I'll be a strong junior.

  4. I want to work for a company I respect and whose mission I support (sorry JP Morgan).

  5. I want to work for a company where I have the opportunity to learn and grow.

The Plan

Ok, so I have an end goal, but how the hell do I get there?

Well, like most things in life, it starts on Google and it ends with square eyes watching endless YouTube videos and reading countless blog posts, forums and articles. Eventually, I felt like I had a good idea as to how to achieve my goal. Enter my roadmap:

  1. MDN Web Docs. The fundamentals.

  2. Free Code Camp (FCC). Learn code interactively. Build simple but solid projects for my portfolio.

  3. YouTube. Expand on things I learn on MDN & FCC. Use as a tool to help me understand things on MDN & FCC.

  4. Git. Sign up to GitHub. Push every bit of code I write. Get those green squares. 3 functions: learn git, help to track my progress, show potential employers I'm serious!

  5. Portfolio. Comprised of FCC projects, 2 simple unique projects, 2 full stack projects and 2 freelance projects. Aim to show technical ability, creative ability and professional ability.

  6. Portfolio site. Create a portfolio site to showcase my portfolio. Design something sleek and modern that's technically advanced enough to showcase as a portfolio piece itself, and stands out from the crowd.

  7. Social media. Twitter, Instagram, start a blog, LinkedIn, CV.

  8. Job hunt.

And finally, as an overarching point:

Live, eat and breathe code.

I feel this kind of goes without saying, but in order to get good at anything, you have to put the time in - especially if you've got a time limit!

Living, eating and breathing something means (to me) that aside from doing what you need to do to avoid burnout, you do the thing at every possible opportunity. This means that if you're drinking a coffee, you read about code. If you're playing Playstation, you listen to a podcast about code. If you're reading a book, you're reading a book about code. You get the point.

Personally speaking, my time off is normally exercising, so I always take 1 hour a day to remove myself from everything but the workout. Although, admittedly, sometimes I did use this time to listen to a YouTube video or podcast when I found something particularly difficult.

By the time I had finished researching and putting this plan together, it was around mid-February 2020. My target was to be 'job-ready' (not that I knew what this particularly meant) inside 2 years studying part-time, but then Covid hit, so with lockdown and no work firmly in place, I pushed this target to being job-ready by the end of the year, with a more ambitious target of getting my first job by the end of the year. (Spoiler alert: this didn't quite happen).

The Portfolio

I completed the FCC certificates, got a MongoDB certificate, created an obligitory to do list in React, made a full stack blogging app with Django, made a full stack social media app with React, Express, Redux and Firebase, got 2 freelance clients and designed and built a modern brochure site for one using Node.js, Gulp, Sass and Pug, and designed and built a custom e-commerce solution for the other using PHP, Node.js, Gulp, Sass and Wordpress. I also designed and built my portfolio site with React, Typescript, Gulp and Sass, complete with Dev.to API integration and a theme switcher. I also incorporated current design trends and made it as unique and interesting as I could - mainly thanks to illustratations by my brother which I animated with CSS.

It was now time to start the 'get out there' part of my journey, so I stopped the projects, stopped the tutorials and started making my CV, signed up to LinkedIn and bookmarked a load of tech-orientated recruitment companies to contact.

So what happened?

I was fully prepared to be job hunting for months. In my head, I had set a target for a 3-month long job search, but in reality, I knew that even this was impossible to gauge. After all, I had no idea how good or bad my code was or how well suited I was to the tech industry! I had also never interviewed for a job in my life and had no qualifications to speak of, so there was that too.

Ok ok so what happened?!

Well...

I ran npm run build on my portfolio project, published a few blog posts on Dev.to, made my CV, uploaded my CV to LinkedIn and set my profile to 'actively seeking work' or whatever the setting is. I also uploaded my CV to CV Library and then... I went to bed.

This was on Thursday 11th February 2021, 322 days after my first git commit.

I was going to give myself the weekend and begin my 8-hour a day job search on Monday.

However, on Friday 12th Feb, I had about 20 emails and my phone was ringing off the hook all day (literally) with recruiters wanting a chat. I hadn't sent a single email.

By the end of Friday, I had 4 interviews lined up for the following week.

By the end of the following week, I had 3 second-round interviews.

On the 26th Feb, I had a job offer.

I started my mid-level, remote software engineering role on 1st March 2021 for a start-up in London, building a platform that aims to help people.

Nearly 1 month on, I am still getting messages every day with job specs and interview requests from all kinds of different companies, large and small across a plethora of industries.

Isn't this abnormal though?

The short answer is, I have no idea! Based on what I've seen, read and heard from other people, YES, this is a fairly unique position to be in and I am very grateful and feel very fortunate. However, it does show you what's possible and how in demand developers and engineers are right now.

This is by no means an "I'VE MADE IT!" post. This is much more an "I've got my foot in the door, and here's how you can do it too!" post. I still work evenings and weekends to get better at what I do, and to bring more value to whomever I work with or for and ultimately, create more value for myself.

What this means for you

I'm aiming to write another post about my first month in tech and all the things I've learned during this whole process as I think that will be of more value to new and aspiring devs, but for now, the key takeaways I have to help land your first position are:

  1. Create a plan and stick to it.

  2. Do everything you can to show your passion: blog posts, social media and, most importantly, personal and unique projects.

  3. GitHub. Get those green squares. It's simple, easy to achieve and it's visual.

  4. Think like an engineer. Ultimately, this is what landed me my first role. Learning syntax in the grand scheme of things is easy. Thinking like an engineer is the biggest challenge and is ultimately invaluable.

  5. Focus your CV around your achievements in tech. Created a website for a client? Great! What did this mean for the business?

  6. Develop a passion for the process of learning and even the process of finding a job. Enjoy the challenge of it all. It's no fun if you're not having fun.

  7. Lastly, you will struggle. You will feel dumb. You will feel like giving up. But, it's those who keep going that succeed. So....

Keep going!


If you're interested, here's a link to my portfolio.

Top comments (9)

Collapse
 
raphael_jambalos profile image
Raphael Jambalos

Hi Max, you have a very great plan and execution! Your plan to live and breathe code is what sets you apart from others trying to transition to the tech world. You also learned the basics rapidly and applied them to (1) portfolio, (2) sample projects, (3) clients. You also became active in blogging and promoting yourself.

Most people get stuck in the many, many things one has to learn. It's a good thing you spend time researching first and having that roadmap, so you didn't get needlessly overstudying for a specific piece of technology.

May I ask what your background was before you started doing code? (its okay if you prefer not to tell me)

Collapse
 
kaxmoglan profile image
Maximilian

Thanks Raphael!
I wrote a post about my background called ā€œWhy I Chose A Career In Techā€ which will answer your question in detail. Long story short: my background is as a working musician, but tech was always a hobby of mine!

Collapse
 
lorenzoblog profile image
Lorenzo

Nice!

Collapse
 
gsingh profile image
G.Singh

Your portfolio is the best I've ever seen.

Collapse
 
kaxmoglan profile image
Maximilian

Thank you!

Collapse
 
parulgu profile image
Parul

I learned a lot from this post of yours. Thank you!! :D

Collapse
 
kaxmoglan profile image
Maximilian

Iā€™m glad it helped!

Collapse
 
souksyp profile image
Souk Syp.

Nice post ! Motivation šŸ’Æ

Collapse
 
kaxmoglan profile image
Maximilian

Haha Iā€™m glad you liked it. I definitely glossed over some of the changes to my plan along the way but this is the plan that I ended up with ;)