Yet another article on the first dev job

How I got my first developer job

Francesco Agnoletto
Chingu
8 min readAug 10, 2017

--

This is yet another article on getting the first developer job, I’ll try to make it less boring than the other you can find by the hundreds on many different websites, this is my opinion, it is related to my experience and may not apply to your situation.

A little background about me

I’m a 25 years old from Italy, no University degree and no related education in the IT field, some years ago I was studying Cultural Mediation in Padua but decided to drop out as I could not see a future for myself following that road.
What followed was a year long office job not IT related, during which I decided to dedicate myself to study web development, contract ended in Sept 2016 and I kept pursuing my passion for web development, and this is how I found a job doing what I love.

My job

I work as JavaScript Developer for Prezly, a European company developing software for PR agencies and brands.

What does a JavaScript Developer do?
A JS developer domain is the front-end (can be back-end too if you have a little NodeJS knowledge).
This does not mean I’m a designer, there is a designer who tells me what something should look like and a back end dev who gives me the APIs I need from the database and I write it all in JavaScript, in my case using React as framework.
A front-end developer is the bridge between what goes on in the background (database, login logic, machine learning stuff) and what the designer wants the end user to see and do on the website.

This is my first full time job as a developer so I want to share how I got here.

How I decided I was ready for a job

Am I ready yet?

How much should you know before applying for a job?

This is one of the most overlooked issue for self learners, some start too early, some never start.

An online course with flashy popups for every piece of code you copy-paste is not going to prepare you for a job.
Don’t believe the lucky one in a million stories of people knowing little to nothing and getting the dream job, the lottery game works for one, not everyone.

The market for web development is huge and there’s always a company wanting another front end, back end, or full stack dev but still, every week there’s another article about how many CVs and resumes you have to send, how many people you have to know and whatever.

I started looking for a front end offer once I was objectively competent enough for it. This is hard to define, you could use stuff like this psychology model, you should be around high third, low fourth minimum to provide good value to a company.

Some questions you should be able to answer positively to be a good developer:

  • Could you code without internet? (exception made for installing dependencies, nothing else)
  • Is your code production ready? Is it well documented and readable for other humans?
  • Can you use git without falling into the common pitfalls?
  • Can you efficiently read other people code?

Job hunting

The scaring part, you vs the world.

This is the boring and spammy phase.. Or isn’t it?
My job hunting lasted for 2 months, I used a popular aggregator for startups (more on that below) and spent time researching the offers, starting from the companies history and continuing to their clients/sponsors, the products, and everything related.

The preparation

We have the skill, now what we miss is the presentation, at this point you should have a bunch of projects online, hosted on Github pages, Heroku, Surge, whatever, just have a bunch of them, real apps with real use, be sure they are well written, optimized and all that stuff.

CV/Resume/Portfolio?

I don’t have strong opinions on those as I hardly ever used them, but they are nice to have, here’s what you should put on them.

  • Do not write of that online website you used to learn webdev. Not only no one cares but chances are someone that just skipped thru it in 2 weeks thinking he/she was ready for a job just wasted your potential employee time already, you don’t want to be put in the same category as them.
  • Open source contributions. This is your one way ticket to success, contribute to open source projects, grab a few good ones, check their open issues, solve them. It takes time but guess what, getting comfortable with someone else codebase is exactly what you will have to do for your future job so better prepare for that.

On that point, take some time to clean up your Github profile, you will need it, have a good history and good stuff to show.

Self discovery

Once you have your stuff ready it’s time for researching, take a digital mirror and look at yourself online, would you give yourself a job? If so, what kind of job?

This is what I came up for when I did it to myself:

CONS

  • No experience as professional developer
  • No formal education (University)

PRO

  • Fast learner (1 year to get here)
  • Motivated (did it all by myself)
  • Talented enough to get a few big nonprofit gigs

Now look at what you have and think who would give you a job.
It is pretty clear from the list above that I’m a high risk hire for a non-developer person, as my profile does not offer any valuable official “certification” that I’m good at what I do, problem is that HR is not famous for being full of developers, isn’t it?

So let’s just discard every company big enough to have that kind of burocracy. I could eventually find one willing to take me as junior dev but I’m too lazy to send 600 CVs to find it.

What we have left are startups, they rarely have the bureaucracy in place to lose touch with the hiring process, so it is usually done by developers — they will judge you for your skills, not your CV and that’s exactly what we want.

Some people argue that startups have a higher risk but guess what, a self taught developer is a high risk too.

Research and interviews

Now we know our target audience, we need to research, find a popular job aggregator website that attracts your chosen target (my choice was angel.co but other popular choices are Linkedin, Indeed, Seek.com, etc) and start looking at the companies offering jobs.

Find the companies you are most interested in meaning you actually want to work there, read about what technologies they use, their office environment, their philosophy and so on.

You don’t need to find hundreds of companies, just a few and see what the general response is, after that use the feedback received (or lack of) to either take more time to improve yourself or look for more companies.

Now that we have selected a few companies we’d like to work at, let’s send some CVs!

.. or not.

Yeah I know, this all sounds pretty weird.

I don’t like sending unrequested CVs if it’s not clearly stated, I prefer to be a bit more creative with my first message.
The reasoning is that given my chosen audience (other developers), I found a casual link to my Github profile to be far more effective and interesting than me talking about myself on a static page.

So for the first message I like to do some more research on the company I’m going to talk with, this time it’s more developer oriented: compare what they are looking for to what they actually have on their website, I use this information to come up with at least 2 questions related to their case.

Practical example (mind this was back in April 2017):

Company is mainly looking for react, gulp, npm and webpack in their ad, I don’t know gulp but I know how the other 3 are used and interact with each other.

  • Company is 3 years old, react is releasing a major upgrade and deprecated a lot of stuff, here we have our first weakness/question.
    “How are you preparing for the next react release?”
  • Company is looking for technologies used to reduce bundle size for production, that may be another weakness, quick check on their website and their prod bundle under Chrome dev tools → network is quite big, and this is our second question.
    “How do you bundle your code for production?”

And here we have a good first message, introduce yourself and ask the 2 questions, there is a good chance that you will hit the exact reasons why they are looking to hire a developer.
If they ask you for an interview you already know what they will probably ask you and what are they most interested in hearing.

As for interviews I don’t have much to say there are loads of guides about it.
Just be confident, show how passionate you are and be sincere. Telling lies will burn everything around you.

Summary

My journey looking for a job lasted for 2 months, for a total of 6 messages sent to startups and 5 interviews (one never answered).
As soon as I received an offer from the company I was most interested in I just made sure to get the offer, even gambling a lower salary.
My objective was to work there, everything else was secondary.

So this is my adventure in the job market and how I was able to get the position I wanted. I know this whole article sounds a bit unconventional but that was my approach and it worked for me.
While it might not work for you, it is worth a try.

TL;DR

Be sure to know your stuff and your value, use them to get a job, don’t try to win the lottery or beg your way in.

See you on the next article!

Where to start your journey as a web developer

If you are looking for guides to help you really learn web development you can look here, they are free, hard and require a ton of work and time. This is the minimum amount of dedication required to get a job in the field, luck is not a substitute for a good education.

What? This is too much you are crazy.

Nope, this is what you need to know to provide value for a company, you should not beg for a job to get one (it doesn’t even work), show that you are worth it and you will get your opportunity.

--

--