Every developer, especially newer developers, want to know how do they get hired. Even seasoned developers ask this question a lot. Today, I am going to go through what I have seen and found both as someone that has searched for jobs and as someone on the other side as a hiring manager.
I have been a hiring manager since 2017 and I have interviewed at a minimum 100+ people. I have looked at hundreds of resumes. And I have held 5 jobs as a professional developer over the course of 16+ years (since June 2007). While this isn’t a huge number of jobs to hold given most developers stay only 1 to 3 years, it has allowed me to get much closer to the companies I have worked for and gain a deeper understanding of what they are looking for and their hiring practices.
Today I want to go through my experiences as a hiring manager, what I see other managers looking for, what I look for, and my suggestions on how to rise above the competition to get that job you are seeking.
Hiring People - How we do it
The first thing you need to understand is that each company has different hiring practices and funnels. Hiring practices are the rules and processes a company uses to find and hire someone. Hiring funnels are the avenues you can take to get hired (who you go through to get hired).
Once in a company’s system your resume will be reviewed and managers will decide if they want to interview. If you get the interview that is scheduled. Where I am at we usually decide with one interview. Occasionally the manager might feel like the person isn’t a good fit for the specific position they are hiring for but might be good for another position. They will then share the info with other managers whom might ask to interview them as well.
If you pass the interview process, then things are passed back to HR. They will work with the recruiter and the interviewee to negotiate on pay rate and the final decision to see if they want to accept the offer.
If you accept the offer the final steps are to pick a start date. Sometimes one party might want to delay things or start sooner. And then onboarding and off you go.
Some companies are very loose with their practices. You will see this most common with smaller companies. They might use a recruiter, but the owners and upper-level management are often heavily involved and they have limited to no hiring tracking system and onboarding processes.
Then other companies have very formalized processes to get hired and may even heavily restrict the funnel into the company (more on that in a minute). They will use tools such as Jobvite for hiring managers to interact with HR and recruiters. Tools like this allow for digital application submissions, automated messages to applicants, and a dashboard for hiring managers, HR, and recruiters to sort through applicants and their resumes. This includes approving or skipping applicants for the next step, interviewing them.
As I said before, a hiring funnel is a path people can use to get into a company. In the less formal settings you can just directly talk to a hiring manager or a contact at a company and get an interview. Then you might go through a background check or other screening by HR before finally getting hired. This is great for those good at networking and can be relatively quick to get hired.
For the more formal funnels you may be required to only go through the company’s recruiters or authorized recruiting agencies. The company I currently work for, VML, requires all new hires (both full-time employee/FTEs, and contractors) to go through pre-approved recruiting agencies. These are agencies that have been thoroughly screened by the human resources team and have entered into agreements that may include details on the fees paid to the agencies and minimum requirements for the agencies to fulfill.
With these restrictions we use a group called LaunchCode for our development interns and 2 to 3 regular recruiting agencies for regular hires. Even if we know someone we want to hire, they still have to go through one of these agencies to get into the company. As a hiring manager you can help connect the two. But then the normal process starts, a Jobvite submission followed by a dashboard approval (in Jobvite) then official interviews. If they pass the interview the decision is sent to HR to complete the process.
Resumes are both fun and exhausting. Managers tend to very busy people. Especially when we are hiring for a number of positions while managing the normal workload. Our time is limited and we need to find key indicators of competence for the given job. Most of us will just skim for these keywords and if we don’t see them we don’t read any further.
One colleague of mine told me that if the resume is more than 2 or 3 pages he will just throw the resume away. He is very busy and is not going to dig that deep unless the resume looks very interesting. This approach actually led to him skipping a developer that I ended up interviewing and hiring who turned out to be one of the best I have ever seen.
In spring of 2019, we were in a hiring spree for the United Rentals project as we were trying to grow the team quickly for a number of large projects. As we were going through piles of resumes we came across one that was 20 pages long. You read that right TWENTY pages long. It was also very colorful with almost every page being a different color. It had TONS of whitespace with the intent to reduce busyness.
The director on our team took one look at this resume page count and didn’t even bother to read it. When I got to the resume I caught a word I didn’t see much of at that time, Laravel. This guy knew of Laravel, that takes deeper knowledge than the average dev. So I started skimming.
It turns out that he was an expert in Laravel and had even gotten the relatively new Laravel certification the previous fall. I dug deeper and saw and incredibly competent developer. I immediately asked for an interview. I ended up hiring him and it was one of the best decisions I had made as a hiring manager.
Resume Rules (the 4 Ks)
In my hiring story in the previous section, the takeaway here is DO NOT get super fancy with the resume you submit. Important keywords need to be as close to the top as possible. With that in mind, here are some resume tips.
- Keep it simple: We don’t need an in-depth look at your projects or work. We need to know whether you are worth a deeper look. You can add depth on LinkedIn, Github, and your personal website.
- Keep it short: As I said before there are hiring managers that will look at the page count and just throw your resume away. Limit yourself to a page or two. It should only have critical info a manager is looking for to hook them. This is not the time for your life story.
- Keywords, keywords, keywords: Do not forgot to put in “keywords”, things to call out so that a manager can say “hey, maybe I should look more into this person”.
- Keep it clean and readable: Just like code, a resume that is hard to read is a turn off and makes things harder for the reader. Simple formatting at 12px font using a common font face is the way to go. Use simple keyword lists and short bullet points.
Well you made it this far, what now? This part can be a bit fuzzy. At VML we are very relaxed. I once shocked an interviewee when I walked in wearing a t-shirt, shorts, and flip-flops to interview him. So much that he talked about it years later (after I hired him). At many companies the dress code is a lot more strict.
For your interview you should dress business casual or formal (if you really want) to show that you are serious about the interview and can be professional. If you get hired then you can adjust your outfit to match the company environment. For now, dress to impress.
Bring several copies of your resume. Managers find this helpful in case they forget or are unable to print out a copy of your resume. We like to mark it up and highlight things we want to discuss and make notes. A copy of your resume can be very helpful.
One trick I have used repeatedly is printing my resume on thick cotton-based resume paper. Usually an off white to visually stand out just a tiny bit. I do this because when you hand this to a manager they will immediately feel the difference in the thickness, texture, and weight. It is small but will stand out in their minds. Later, when looking over the stack of resumes it will continue to physically stand out and make them think of you more.
Meet and Greet
When entering the room introduce yourself, shake the hands of everyone in the room while looking them directly in the eyes (briefly), and be polite. Do not ignore anyone in the room, even if they are sitting off to the side observing. Give everyone the same consideration and acknowledgement. Its not only polite its professional and shows you are not overly timid.
Keep Calm and Carry On
Remember that an interview is a conversation, not an interrogation. Though sometimes managers will act in an interrogating manner (I have regretably done this) just ignore that manner and treat it like a professional conversation. They are getting to know you and YOU are getting to know them. This decision has to be mutual and everyone there is human.
Try not to be nervous and please try not to be sweaty. Its icky and uncomfortable for everyone. I have had interviewees sweating heavily during an interview. I try to put people at ease, but they have to come in with a mindset of calmness or a desire for it.
Be honest during an interview. I once interviewed a guy that had previously worked here and he made up all sorts of lies about creating some new software that he said was being tested by KU Medical Center (a large local hospital). The other manager and I both knew it was a lie and we confirmed it after by simply calling a contact the other manager had. DO NOT LIE, it will backfire.
Even if your answer to a question is that you have very limited experience with a thing (or none at all), just tell them. They will appreciate the honesty and it will avoid potential problems in the future. It may or may not disqualify you from the position. But it will be worse if you are hired with an expected skill or experience and you turn out to have no skill in that area.
Usually at the end of an interview a few minutes are left open for managers to answer questions about the position, the company, and the expectations. This part can be hard, especially if you had a good conversation where most or all of your questions were answered during the first part of the interview. Make sure you ask at least a few questions.
The kinds of questions I like to ask are:
- What are the expectations for this role?
- How big are your dev teams?
- Does the company provide any equipment such as laptops? (usually more of a question for remote roles)
- Are there any team preferences for code editors?
- Can I use Jetbrains products such as PhpStorm or IntelliJ (and will the company pay for the licensing)?
- How often do you work overtime? If it does happen is there any additional compensation for it?
- Once this project ends (if it isn’t an ongoing thing) will there be more work?
- What is your favorite thing about working at this company?
- What is your software development process at this company?
- What is the policy on vacation time?
Do not forget to shake everyone’s hands on the way out and thank them for the opportunity. If you have a website or Github profile you want them to see then make sure they know where to find it. Be sure to follow up with the manager, HR, or the recruiter within 24 to 48 hours if you have not heard from them already.
Pro Tips for Getting Noticed
So what can you do to improve your chances of being noticed and interviewed?
- First, cleanup your resume (see above).
- Next, update your LinkedIn profile.
- If you haven’t already, create a Github profile and post some of your code work (only stuff you can legally control).
- If you have one then update it and add more samples of your work (I am really bad about this one).
- Write more code and contribute to open source projects. This includes submitting/responding to bug tickets. Provide patches or suggested functionality. Show what you can do.
- Create a professional looking website for yourself (like mine) and make sure people can find and download a copy of your resume there.
- You can do this for free with a statically generated site. I use AstroJS in Hybrid mode hosted for free on CloudFlare. You can also host for free on Vercel and other sites.
- If you don’t already own a personal domain name then buy one. I recommend registering through CloudFlare as they add no markup to domain purchases. You pay what it costs them to register it with InterNIC.
- Network, reach out to people you know and see if they are hiring or know anyone that is hiring. Go to lunch with people or get coffee with them. Make friends with recruiters.
- Write, write, write. Post on every social network you can. Get your name out there. Write articles on your own personal website and post links to them on LinkedIn, Twitter/X, Facebook, etc.
All of this is based on my own experiences and what I think helps. But I want to hear from you. Did I miss anything? Do you have any Pro Tips you want to share? Do you think something I said was wrong? Tell me in the comments below.