meta data for this page
Soft skills and attitudes to evaluate backend developers
In 2018 I created a form to easy and consistently evaluate candidates for the role of backend developer for a IT department. Because technical questions are useless to evaluate the attitude and the learning potential of a person, I spent 2 hours doing pair programming with each of the applicants. There were moments where I left them alone so they don't have any pressure and they can think clearly. My goal was to see that their motivation for the job was and how they react to complex problems. On the other side, I showed them my everyday tasks and answered all their questions related the the server landscape, our department and what we do. This helped them decide if they wanted to work with us.
All in all, I had nice experience with the candidates because they were happy to program with me without the pressure of knowing everything about spring or other frameworks and have an interview in a real everyday setting. For me it was great, to summarize in the next form, what I expect from my workmates.
Pair programming session with the applicant: Evaluation
Name:
Colours used in this form
- Green: He has this ability
- Red: He does not seem to have this ability
- Black: It could not be judged during the pair-programming session
Junior (must have)
- Degree in computer science or equivalent (FIAE in German) or equivalent professional experience as a developer → Knows the basic theory behind computer science
- Knowledge of OOD, OOA, relational databases and a programming language -used in companies-, HTML, CSS.
- He wants to become a developer without specialising in one area (backend or frontend)
- He is capable of learning
- Willingness to specialise in one area, with the flexibility to build up knowledge outside his specialisation (T-shaped Dev).
- He asks questions about topics he doesn't know.
- He wants to understand the systems he is working with.
- He can spend hours debugging because he enjoys finding the cause of errors
Professional (should have)
- Three years of professional experience as a software developer
- Ability to find solutions for different project requirements and customers → Pragmatism
- Has professional experience in different software projects and team sizes → Experience alone does not bring anything, you have to learn from the experience
Senior (could have)
- Ability to structure a big problem → He can divide a big problem into sub-problems and in a structured way find the root cause
- Reflection and improvement of the development process → He has self-criticism and wants to improve the development process
- He appreciates the value of automated testing for increasing his own productivity as a developer
- Interest in methodologies, architectures, new tools
- Ability to perform analytical evaluation of approaches and solutions
- At least one year of work experience in a microservices project → He is familiar with the problems of microservices architectures and their solutions (He has learned from experience)
- Coaching developers (encourage further development of juniors and professionals).
- He dares to look for errors in the productive environments
Won't have
One of these qualities leads to rejection.
- Sociopath Developer who can only develop alone
- Bad reference from an acquaintance who has worked with the applicant
Discussion