Identifying a good developer by his/her resume
Recently we started involving more developers from the team in the hiring process. As a training objective, we asked ourselves: what makes a good developer, and how can we identify him/her quickly from a resume?
This formalization allowed us to realize clearly how cultural aspects were far more important than any technical or experience aspects. After a few hours of brainstorming, we narrowed down the list to 3 simple criteria:
– Rigor and consistency
Identifying the criteria: the applicant has worked on personal development projects, outside of his school or university, on his own time. He has developed a website, a mobile app, he has a GitHub repository…
What it brings: passion creates engagement, for the developer and for the team as well. On one side, the passionate developer will engage in a project, go beyond what is expected, with a will to improve technical aspects as well as functional. On the other side, he is going to communicate his passion to the rest of the team (and even to the other departments), and pull everybody up.
Bonus point: a passionate developer knows how to communicate his passion about technology, which he uses for the different types of public: development, marketing, sales, top management, and customers as well. He knows he is building applications for a public, for users, he is impatient to confront his work with a real world usage.
Rigor and consistency
Identifying the criteria: the resume has a clear structure, uses consistent fonts, alignments… These elements don’t guarantee the work rigor afterwards, but they are a first indicator of the attention that the candidate bears to structure and details of what he is building. Furthermore, a tool as simple as a word processor should be mastered by any developer.
What it brings: the candidate likes well-thought architectures. He is going to build them for himself, and for the rest of the team as well, whatever his level: for a file or a small program, for a module, or for a full application.
Bonus point: the developer who cares about consistency between architectures is going to be more involved in teamwork: he is going to look for advice and coordination with the other team members for all architecture elements, creating a better communication in the process.
Identifying the criteria: this is the only criteria that might be harder to identify in the resume, and that will require a face to face or phone interview. The candidate should show his will to learn, whatever his experience or technical level. He shouldn’t show any “seen that / done that” side.
What it brings: a humble developer knows his technical skills will be obsolete in 3 years. He is always trying to discover new technologies, and will continue learning even outside of the « standard » work hours. This element loops back to the “passion” criteria mentioned above. He can be a ninja/guru/rockstar without acting like one.
Bonus point: a humble developer knows how to detach himself from his work. He accepts criticism well, even welcomes it, his objective being continuous improvement. He is going to try and confront his ideas with more experienced developers but also more junior, because he knows he can learn from anybody
The resume can display clear elements of culture and practices from a candidate, outside of any specific technical skills. It can also help identify « unusual » candidates, who would have been eliminated in a standard process for the absence of a keyword or skill in the document.
These criteria allow also to target discussion topics for the following interviews, the objective being to validate the elements in the resume but also to start building a relationship with the candidate, and that the 2 parties understand each other’s culture: this is a key element that will make a successful recruitment.