I previously provided a custom curriculum that helps people learn to code here. Assuming you have already learned to code, this article discusses how to engage the job search. I don’t go over interviewing techniques, just techniques to land interviews.
I’m a self-taught developer and a career switcher. Switching careers wasn’t easy, but I was able to do it, and it has been everything I hoped it would be. I want to encourage others to switch into programming and I’m passionate about facilitating people with that goal. A career in coding can be rewarding, stable, and fun. Contact me here if you would like me to personally assist you in learning to code, advancing your career, improving your resume and online presence, or for help landing and preparing for interviews.
One High-Level Technique, and Three Applications
There is only one technique to landing interviews, and that is personal marketing. This article will improve your personal marketing applied to the case of obtaining programming job interviews by teaching you the right things to say and the right people to say them to.
Three applications of personal marketing to the programming job search include:
- Identify using a broad set of high-value labels
- Utilize purpose-built job search tools
- Utilize social networking techniques
This article will have one section dedicated to each of the above items. A bonus section at the end will provide a bit of advice for how to proceed after you obtain your first interview offer and your first job offer.
Identify Using a Broad Set of High-Value Labels
Many candidates are found using keyword searches in candidate search engines, applicant tracking systems, and other similar tools. Some of these systems proxy expertise by the number of times a word comes up within a resume. So do include a skills section on your resume, do use keywords for skills that employers care about within each experience entry for which it’s relevant, and do have an objective statement that spells out the role you are looking for appended with “or similar”.
Think about obtaining an interview as a numbers game. You improve your odds of landing an interview by casting a wide net and applying to many roles. Do this by essentially ignoring job requirements and by applying for a wide variety of job titles. As a career-switcher, do not apply for senior roles, but also do not restrict yourself to junior roles. Having learned JS, HTML, CSS, and React, look for these job titles at a mid or junior level, and don’t shy away even if they are asking for 2-3 years of experience that you lack:
- React Developer
- Web Developer
- Frontend / Front-end / Front End Developer
- UI developer
- UX developer
- Software Engineer
- Software Developer
- Angular Developer
- Note: During the application and interview process, be careful not to label yourself as an Angular expert unless you can prove it is the case in a technical interview. Instead, simply communicate that you are proficient in React. Many employers will be happy to hire such a developer and let them learn Angular on the job.
Note that the above job titles will vary slightly in meaning and in the amount that they typically pay. Search Google and familiarize yourself, but also know that you will be qualified for any of those roles if you have skill in JS, CSS, HTML, and React. In addition, React roles will generally pay the most. In current US dollars, depending on market, you can typically expect 60-80k for an entry role with one of the above titles.
Use tests and certificates from LinkedIn, PluralSight, Codecademy, HackerRank, and others to validate your technical skills. Let these established brands do your marketing for you. You can maintain a humble demeanor and style while pointing out that all of these other providers consider you proficient or expert in certain skills.
Peruse job descriptions, Glassdoor, PayScale, and similar web resources in order to dive into specific technologies and skills that employers care about, beyond those already mentioned. Note that employers also highly value soft skills like communication ability, teamwork, passion, and so on. Employers also care about your volunteer experience.
Use prior experience to highlight soft skills and programming-adjacent technology skills that may carry over or indicate you are familiar with how information technology works. For example, if you come from a marketing or communications background you may have experience with digital ads, click-through rates, counts of page views, search ranking, and other things that web developers do also care about. Just working in the same industry is a big deal too. If you are applying to Capital One as a developer and have experience as a bank teller, it’s very much worth mentioning. Try to use your resume to highlight if you are a diversity candidate, perhaps by mentioning club involvement.
The key is to leverage volume and probability. It’s a numbers game. For career switchers, it is common to require 10-20 interviews before getting a quality offer, perhaps in addition to one or two crummier offers. Resist jumping at the first offer, and know that it may take 100 or more applications to generate 10 interviews. Set a goal of applying to 10-50 companies per week, depending on how urgently you need a new job and how able you are to schedule multiple interviews each week.
Utilize Purpose-Built Job Tools
There are plenty of general-use job boards, like Indeed or Monster. Try using some of the many purpose-built programming job boards to improve your conversion rate from application to interview.
- Vettery and Hired. These companies recently merged, but I don’t know if the job listing data are technically shared yet.
- LinkedIn will give you earlier application access to roles matched based on skill assessments you take. Access these by adding a skill, like HTML, to your skills in LinkedIn. Then you will be invited to take a LinkedIn assessment to validate your proficiency in that skill.
- Seen by Indeed
- GitHub Jobs
- Dice Jobs
- AngelList specializes in startup job roles. These roles often pay less salary but include equity compensation. Be sure to educate yourself on how this works in order to make sure you are being paid fairly.
You can also use general-use platforms. Indeed is the best in my experience. In the spirit of maximizing the number of opportunities, feel free to spend some time on the following three options but don’t expect many quality opportunities to come of it:
- Google Job Search
- Career Services at your past or current university, even if your degree wasn’t in a technology field.
As we transition to the next section on social networking, it’s important to mention one last web resource: That is, whatever the company-specific application page is for any job you apply to. These are numerous and tedious. You will rarely get called if the only thing you do is apply this way, but it’s a power combo to apply this way and then reach out via social media to someone who works at that company. It will be easy for them to look you up in their company HR system after you have applied via their company-specific jobs page. This tip comes courtesy of algorithm interview expert and former engineer with Google and Facebook, Clément Mihailescu:
Utilize Social Networking Techniques
- Referrals are the main way most companies make hiring decisions, so get a referral.
- You can basically use the same techniques to get a reference. Referrals are by an employee to the company they work at. References are to somewhere else.
- Obviously, if you already know people, contact them.
- Meet new people through social media, meetups, clubs, and conferences. Companies source tons of hires from programming-related meetups and clubs. These groups are extremely beginner-friendly.
- Pay people for help, and ask them for a referral after working with them. Some people, such as myself, will mentor or tutor you for a fee, or even sometimes for free, and will give you a referral if you perform satisfactorily. Sometimes this involves quite a bit of work on your part and sometimes not so much. You might even be able to pay someone for a resume review and get a reference out of it.
- You can also cheat and just buy a referral or reference using Rooftop Slushie.
- LunchClub is a great networking tool.
- Schedule a mock interview.
- Recruiters are often easy to network with and can facilitate this.
- You can also ping developers and ask for this as a way they can help you and the community for free, or you can offer to pay them too. Services exist for this as well. See the next item.
- Turn a service into a referral.
- Use a Recruiter
- I obtained my first role by working with TEKsystems. I’m a huge advocate of using a recruiting agency for more junior and even mid-level roles. I’m also a fan of Apex Systems. These companies can leverage existing relationships with employers in your favor, and they can also provide skill assessments.
- Magnetic marketing
- Employers are constantly searching for talent. Help them find and like you by not only having a solid resume, but by having a well-maintained LinkedIn, a GitHub, a StackOverflow account, a Twitter, and even a personal website or blog.
- As mentioned elsewhere, make sure that your online presence everywhere communicates your brand and personal identity in the strongest way which is still fair and accurate. Don’t call yourself a junior.
- Keep your LinkedIn posts professional. You can relax a bit on Twitter and elsewhere, but people do check these things and the following will come back to haunt you:
- Attacking people anywhere on social media.
- Excessively immature or obscene usernames. Note that a little humor is fine and even encouraged.
- Having a StackOverflow account with 0 points or a GitHub account with no repositories.
- This one is minor, but try to have quality content on your GitHub. That is, don’t just clone practice applications. Do provide intelligent commit messages. Do try to actually write quality code.
- Take the time to get a great headshot.
- Ask people to give you feedback on these other elements of your online presence, in addition to the resume.
What About After Getting an Interview or an Offer?
Try to resist jumping at the first offer. I like to see candidates receive three offers before making a decision, but urgency does understandably vary by individual. Do prepare for each individual interview by reviewing the company and the specific job description. Find a way to compliment the role, the company, and the interviewer during the interviewer. If you can’t, maybe it’s not a good place for you to be.
Don’t be afraid to have employers compete for you, but also be reasonable, kind, and empathetic when communicating with them. For example, if you do have multiple offers, then try to communicate to each employer that you appreciate the opportunity for specific reasons, and mention the existence of the competing offer in such a way as to search for a mutually beneficial solution, rather than in such a way as to appear threatening or pushy. Don’t be afraid to ask an employer to let you think over the weekend on an offer, and do try to give employers time to think as well.
I recommend you approach your first role with the purpose of removing your label as a junior. Once you have 6 months of industry experience, you will be able to stretch for a mid-level role by renegotiating or changing companies. Don’t get too attached to your first employer. Do remain open to even a short-term contract for your first role. It could be a blessing in disguise because the short-term nature of such a role promotes your ability to renegotiate to a higher level or leave the company without guilt or a burned bridge.
Let’s wrap up with some loose watermarks for advancing away from junior status. High performers may be able to obtain a senior role with as few as 2 years of professional experience and a mid-level role with as few as 6 months of experience. To achieve such rapid advancement, you will need to show high technical and soft skills when grilled during a technical interview, in addition to having the specified minimum time in the field.
For average to below-average skill levels, aim for a mid-level role in 2-5 years and a senior role with 3-10 years of experience.