June 23rd, 2016 · 13 min read
What technical interviews feel like… but without the view.
This is Part 2 of a two part series on how I taught myself programming, and ended up with multiple job offers in less than 6 months. For today, we will talk about the interview process, job offers, and getting a raise. If you have missed the first part, and want to learn to code in less than 5 months, start here.
August 2020 Update: we just did a Zero To Mastery Academy Exclusive Workshop dedicated to the topic of Getting Your First Developer Job as there is still a lot of bad advice out there and we want to make sure you're spending your time as efficiently as possible.
There have also been numerous articles written about how to ace a coding interview, and frankly they have some really solid advice (my two favourite articles are linked in this article). So for today, I want to showcase and focus on some unique ways for you to improve your chances of getting multiple offers and getting a raise 6 months into the job. Let’s begin.
I had entered the developer industry with only 6 months of experience. Using the tactics in this article, I was able to receive multiple offers for non junior level positions. I also received a raise 6 months into the job (and another one 6 months later). These things didn’t just happen. They were calculated tactics. As a matter of fact, I only applied to 20 jobs and only spent 3 weeks interviewing. My goal, as always, was to use my time efficiently by focusing on the most important tasks.
You need to have a nice looking portfolio website or an active Github account which we mentioned in part 1. It doesn’t have to be anything revolutionary as most of these websites will only be visited by non technical recruiters or HR people. This is just enough to make you look like you know what you are talking about.
Resumes are the bane to everyone’s existence. Nobody likes writing them, and no employer offers a job solely because of somebody’s resume. So you need to treat it accordingly: A way to get interviews (you will soon see that it’s not the only way). Spend very little amount of time on your resume (no longer than 1 day). Look at the types of jobs that you want to have, and have the words and characteristics described in these job positions in your resume. Finally, make it personal for each position you apply to so that the employer’s name is on the resume. It will take you 10 seconds, but it already puts you above most people that just send mass amounts of resumes.
The above methods are pretty basic. Let’s start to get creative. Instead of sending your resume, I usually email a company I am interested in working with (you can use free tools like Email Hunter or Clearbit Connect to figure out email addresses of most people). Don’t send a resume, but instead send them your personal website and tell them why you want to work at the company. Ask them if you can come by for an interview. You can send this message to the head HR person or someone who is a gatekeeper. Using tools like LinkedIn you will be able to easily find who this person is in the company.
Message lead developers, or CTOs at companies that you are interested in, and let them know your interest in getting to where they are professionally. Ask to take them out for coffee, or come by the office to chat to them about their careers. Never ask them for a job. But at the end, inquire if they have anybody that they recommend you speak to. Really emphasize in this meeting your goal to learn by working amongst smart developers. If they are not looking to hire, they will direct you to someone that is.
Message CEOs and ask what technical problems they are having. Tell them what technologies you are an expert in (by this point you should know whether they require people with your skills), and ask to solve a real life problem that they have free of charge. They can keep the work, and in return all you ask for is an interview.
Don’t ever just send mass amounts of resumes. Select the jobs that you want, personalize your emails and try to avoid sending a resume. Try to bypass formalities of an application process by getting an interview right away. Most likely during the interview they will ask you for a resume, but by that point you have already gotten what you needed.
This is an area that many people have written articles about: like this one and this one by Bill Sourour. These two articles are some of the best advice I have seen and I would only add the below points:
You are using the interviewer’s time. Don’t make this a boring meeting. Bring the energy and have a two way conversation with them. They don’t want to be sitting with a scared interviewer that is low energy and can’t hold a conversation without questions.
Prepare a final closing argument. Most people get intimidated my interviews and especially technical ones. However, the first and last impressions are what most interviewers remember. Start the first interaction with high energy and politeness. At the end, no matter how well the interview goes, conclude with something that touches all of these points:
A. Don’t overuse the word “I”
B. Talk about the interviewer
C. Express to them how much better you are than everyone else
D. don’t brag (see point C)
Here is an example:
Well thank you for your time. I am sure you have lots of candidates to see, but I wanted to say one last thing: There are no shortages of developers for you to interview. However, there is a shortage of good, talented, egoless, developers with ambition to learn. The best developers aren’t the ones that know the language inside and out at the expense of having blinders. It is not the ones who are unable to admit they are wrong. I may not be the most experienced developer that you will interview, but the one thing that you can guarantee is that there is nobody that you will interview that will work as hard to develop his/her skills every day, play nicely with other developers, and isn’t so narrow minded in problem solving that he/she isn’t willing to try new novel ideas. When you hire me you will rest assured that you won’t have to micromanage me, you don’t have to extinguish fires, and in one year, I will be one of your most valuable employees. I am at a point in my career where I want to be surrounded by a team that I can grow with and I have chosen “NameOfCompany” for this specific reason. You have probably had similar experience in your career when one company allowed you to really have an impact. I am at that stage now, and I look forward to be part of this team. Thank you.
It may sound a little intense, but who would you hire: A developer that did pretty well at an interview and blends in with all of the other interviews you have done? Or the developer who wanted it more than any of the others?
Write an email afterwards to the people who have interviewed you. Thank them, and if there were any technical challenges that you couldn’t answer during the interview, reply and let them know that you have looked at the problem and this is the solution (hopefully you were able to figure it out by this point in the comfort of your home and google). Ask them in this letter when you should expect an answer.
The day before they are suppose to give you an answer, or a day after your interview, call the HR person who is organizing the interview. Let them know that you have received another offer (I never advocate lying, so hopefully this is true and using the strategies above, you should be able to leverage multiple job interviews), and if there is any way that your offer can be expedited. You would prefer to work at their company, but you also don’t want to shoot yourself in the foot. Sneaky? A little bit. But the fact that other companies are interested in you means that they are not crazy to think to hire you. It’s psychology 101: social proof.
Lets look at a few psychological techniques used here: You have associated yourself as a determined and ambitious developer during your interview. You have left a strong impression at the end of the interview. You are polite and follow up afterward to show you really want this job, and finally other companies are interested in you. Just like in dating, knowing that others want you, make you more desirable.
Will this always work? No. But it works almost flawlessly if you execute it right. These methods will give you the best odds of getting the job. It may be a little unconventional but we have avoided the inefficiency of mass emailing resumes, and instead focused on our attention on the 20% that really matters: The interview process, and avoiding the typical, uncreative application + resume combo.
Finally, spend a few weeks attending meet ups in the industry and talk to people who are hiring. Usually there are a lot of HR recruiters at these events, or you can ask fellow developers if their company is hiring. Most workplaces now have referral bonuses for employees so use this to your advantage to get others to introduce you to their company.
Hopefully, you are a good employee and a developer, and you are a contributing part of the company. At the end of the day, nobody will hire you if you aren’t constantly learning, and trying to improve your skills. There is no easy way around it. During your first 6 months, I would keep a folder with all of the good things you have done for the company: problems you have solved, money you have saved, great comments or feedbacks you have gotten from clients/coworkers, and compare your skill level from your first day on the job to the 6 months mark. List all of the skills you have acquired and list what you plan to accomplish in the next 6 months. Write a one page letter showing examples of all of this, and ask to meet with the person in charge of making the salary decision. Show them how much you have grown over the last few months, how much you love the company, and also how much you look forward to the future. In addition, give them this letter and ask them to seriously consider your request. Ask for a salary level a lot higher than you want (think $10,000 more than you expect). Most likely they will meet you in the middle, and this will make their ‘middle’ your happy ground.
This may sound very blunt and ‘disruptive’, but don’t fret. If both employer and employees respect each other, this is a normal conversation that should be happening. After all, look at all the good you have done for them. It is very expensive for companies to hire new developers. You are already established and have integrated into the team. The cost of losing you and hiring a new programmer is way higher than giving you a raise.
There are some bold moves here, but I am a big fan of the old saying:
If you never ask, the answer is always no.
You should value yourself. Most importantly, you should value the fact that you are giving your most precious resource (time) to an employer. Make the right choice when selecting employers. It is as much about what you want as it is about what they want. Work for a company that respects your time. Otherwise why would you want to be there?
After 5 months of learning to code (plus 1 month of travel), I was able to get multiple generous offers. I ended up choosing a position that allowed me to grow the most and be surrounded by the best developers. After 6 months, I was able to get a raise, and now I am receiving multiple offers for 6 figure positions. Am I that good? No… there are plenty of people, smarter and more skilled than me. However, that is only one part of the equation. If you are not able to market yourself, ask for things, and be smart about your strategies, you are missing out.
Good luck in your journey, whether you are studying to be a programmer, or you are a programmer looking for a job. Hopefully these posts have helped you in some way.
I've created a number of online courses, all of which you can find here. In The Complete Web Developer in 2020, I walk you through the entire steps I mentioned above if you want everything in one place, extra help or you want to support my work. Each course has over 100 HD videos and 30 hours of content. My courses take me an insane # of hours to make but I’m really proud of them and how many lives they've already changed. If you're interested, please consider checking them out and supporting.
Thank you for reading this far. If you enjoyed this post and want to get more like it in the future, subscribe below. By joining the ZTM community of over 100,000 developers you’ll receive Web Developer Monthly (the fastest growing monthly newsletter for developers) and other exclusive ZTM posts, opportunities and offers.
By the way, my full time job is to teach people to code in the most efficient way possible as the Lead Instructor of Zero To Mastery Academy. You can see a few of my courses below or see all of my courses by visiting the courses page.