Sick of splashing around in the water and not knowing where to swim? Yeah... I was too
Imagine programming for 6 years, having more software development skills than 98% of graduates, and not landing a job. That was me at the beginning of this year
Not too long before landing my current job I was sending out CV's left, right, and center. Time and time again I would get the "Thanks for applying, but...".
I was pissed off, I knew I was good, but people tended to believe that a good 18-year-old developer is a myth. I don't blame them.
It got to the point where I literally told them I would work for free, just to get my foot in the door. But even after offering them a gold mine of free value they still decided "no". Something needed to change.
The following are key epiphanies I had before I got the "Thanks for applying, I would like to offer you..."
Understand why people bother offering you jobs
It may seem obvious now, but sometimes you need to be reminded; employers hire you to make money.
Less obvious is when people hire developers, they want you to be better than them at the job.
When you go to an interview, there must be a social dynamic there that "you know wtf you are doing, and you will make them hella $$$". If HR gets the vibe that you are "new" and "ready to learn" they will be scared off.
When I saw the listing for a web developer offering $30 - $70/hr I scoffed. I couldn't even land a $20/hr job. I passed by the listing initially.
Going by it again I thought it would be funny to just apply and be cocky to see what happens. So I wrote my cover letter
"I am an extremely talented developer. I have over 400 hours with PHP. I'm your man, call me [my number]"
I didn't even bother saying thank you or "Hi There, my name is ...", I cut the crap and told them I'm the shit
I got the interview
If you think people will hire you because you know a programming language, go ahead and just delete your computer now
Today you learn programming languages so you can use frameworks so you can develop quality applications that generate value for the company
16-year-old me thought I was on some next level, I then started looking for developer jobs. I searched "PHP jobs", up came "Looking for Drupal Developers", "Laravel developers wanted ...". I thought to myself: "Wait, knowing PHP isn't enough..."
The more you know the dumber you look
The magic that makes teams so valuable is the economic principle of comparative advantage. When one developer is better than another at a particular skill they have a comparative advantage, they can do something at a relatively lower cost because they can do it faster and better.
This is why in all situations a dream team is one where you have a multitude of individuals with very specialized skills because they can let the best do what the worst can't, and the worst do what the best can't
HR wants the best frontend developer, the best backend developer and the best interface designer. They dont want 3 people who are all mediocre at all three
When I first started sending my resume's I would often brag that I know "all of these programming languages". I never said I was a master at any of them. I effectively paraded myself as the dreaded "Jack of all trades".
I then decided I would hone in on one skillset - Frontend Developer. When I sent my resume to my current work I didn't even talk much about my experience with PHP, something they were looking for, I just stated exactly what my strength (not plural) was and my experience with correlated technologies.
The more specialized you look, the more professional you come off.
I got the job
Other (almost essential) tips I recommend
- Use a CV generator to make your resumes, they do all that formatting hell for you and help outline what you need to provide
- Bloster your GitHub with projects - only after I started adding all my personal projects to GitHub did I land my job (he even mentioned being impressed by it)
tldr; Pick what field in the land of software you want to specialize in, choose a framework you want to master, create 2 - 3 projects using it to help with your correlated skills, upload them to GitHub, create a pretty CV that is very concise, know that when you contact HR for a job they win if they choose you