In a resume evaluation, how do you determine a software developer’s level of experience in a programming language?
It seems like every programming resume includes a lengthy laundry list of skills. Unless developers specifically note how long they’ve worked with a language, and on which projects, there is no obvious way to determine whether their experience with that language is comprehensive.
With a careful software developer resume evaluation, you can simplify the hiring process by zeroing in on candidates with the experience you seek, and learn the true differences between the skills of a senior developer and those of an entry-level developer. Watch for these red flags and green flags.
Quality of experience: Compare the quantity to the quality of experience during a resume evaluation. If someone has five years of experience in Java but the project they list as their crowning achievement is a CD-collection application, it means they lack experience using the language in a sophisticated fashion.
“Familiar with”: This phrase often pops up on programming resumes. “Familiar with” does not equal “proficiency.” Candidates who say they are “familiar with” a programming language may be trying to pad their resume, or keyword stuffing to help their resume pass through automated HR tools.
Using the wrong name for a technology or a strange spelling or capitalization — for example, “C-sharp” instead of “C#” — is another sign that a candidate may not actually have the skill set listed in his or her resume.
Exaggerated Experience: Someone who has been working with a programming language for only a year and claims expertise may be bluffing. It only takes a few minutes to learn enough of the syntax of most languages to make code changes, and within a few hours you are probably able to write new code fairly well. However, modern programming languages are extremely sophisticated and learning to master them can take years.
Jack-of-all-trades: Approach with caution software developer resumes that indicate the candidate has amassed skills in a wide range of programming languages in just a short period. Assuming the candidate truly did work with all of those languages, how well could they have actually learned them, given the time frame?
Steady progression: Advancement in project difficulty is a positive sign during a software developer resume evaluation. It is a sign that the developer has been learning and growing, and is being given increasingly sophisticated and difficult assignments.
Look also for growth in related technologies. For example, a developer who has recently taken on additional responsibilities around the database is probably someone with a thirst for knowledge.
Variety of experience: A range of experiences over a lengthy period of time gives a candidate the experience to handle different challenges. Someone who has tried three or four languages over five years has likely worked with them deeply enough to learn them well. Programmers grow when they try new languages and systems, but too many at once is counterproductive.
Certifications: Certifications in programming indicate that a developer has a certain level of knowledge. In the resume evaluation process, keep an eye out for industry-standard certifications such as the Microsoft certifications for developers. Many certification programs require regular recertification to make sure that the developer stays current with the information. For example, a Microsoft Certified Solutions Developer (MCSD) needs to recertify every two years. Certifications are re-assuring, but be sure to check that they are still valid.
Programmer resumes often look very similar to each other. But by watching for the red and green flags listed above, you’ll be able to quickly single out the most qualified candidates to interview.
Once you've chosen your top candidate, check out our Salary Guide to determine the right starting salary range for the job. In addition, our Gen Z guide offers additional tips on what's most important to that generation. Get your free copy here:
This post has been updated to reflect more current information.