I had been stunned a couple of times when employers asked me to show them a project that I'm proud of for a lot of reasons.
Such a question is wrong on so many levels. The question implies a lot of hidden messages that can be interpreted even as passive aggressive behavior rather than giving the developer a chance to project confidence.
Below are the reasons why you should never ask candidates such a question:
1- Not Every Developer has a Demo Project Sitting on Github
I'm one of those very few people who got into Development without having my own personal repository. It all happened when I was given the opportunity to work on a project that required a bit of coding skills. I was already accustomed to the idea of coding applications. However, as a fast learner, this came to me by surprise that I'm capable of coding and creating applications even when I had limited knowledge in the past.
Expecting a Developer to have a project ready to show is made on the assumption that every Developer started with an online Github or Bitbucket repo which is very narrow or shallow way of thinking about careers and how people enter into an industry.
Despite the fact that I worked on many projects, in the past, I couldn't show anything or any project due to simply NDA and companies' policies that prohibit sharing proprietary software or property.
Even in the case of Open-Source projects, there isn't always an opportunity to contribute to those projects in a meaningful way due to a lot of factors or reasons outside the candidate's control such as the project maintainers' and their strict guidelines.
2- No One Size Fits All
Today, it's pretty wild to see a project that utilizes all aspects of software development. While you can try to create your own project and try to show case CI/CD skills, you'll never be able to showcase everything sometimes specially at the level or scale of an enterprise software where you have 100s of Developers working on a solution in a company versus you alone trying to put in the same amount of effort for only the sole purpose of showcasing your skill.
Imagine that you're applying for a position for a Back-end Development but the project that you put too many hours and sweat to work on during your short weekend, is a front-end project with limited back-end development. It can also be the other way around.I know that many of you will argue that the whole point is to tell what skill level in general the Dev has but it's still considered a bit narrow-minded to try to sum a Dev's overall profile or skills based on a weekend project that they made solo.
3- Passive Aggressive Message
The question also implies that you view most Devs with a negative assumption that the majority of Devs aren't really that skilled/strong; on top of that, you're telling the candidate that you want "Top" talent depending on what does the top talent means to you.
An assertive and well aware Dev would view your question as projection rather than a question.
The question projects a negative attitude where you think that you're above and beyond all other Devs around you which raises the question about your relationship with your teammates or colleagues.
While it's not necessary to always agree on everything with your teammate, your question might imply that you have a hard time adapting to other people's views or solutions.
4- Job Interviews are Subjective
Due to the overall nature of the tech industry, there are so many metrics that makes any questions you formulated only draw a subjective image/picture of a candidate's real potential. Therefore, it's still considered a very reductive/arbitrary approach to asses someone's potential based on a single project or piece of code they wrote on their weekend.
5- The Job Interview Should Never Harm Candidate Emotional Well Being
The most important reason why you should never ask candidates such a question, is that your interview should not have any side effects that could impact the candidate's well-being regardless of the result of the job interview.
If the candidate is rejected because of #4, you're telling the candidate that their best project or the project they are proud of, is not good enough and that they are not worthy of being Devs or doing Software Engineering.
Let's admit it, there will be a lot of reasons of why job candidates will get rejected most of which are either subjective or external factors (e.g. position canceled or no longer available due to restructuring).
When you send the candidate a rejection email with generic responses which is the case most of the time, you're telling the candidate that their best is not good enough.
6- The Best Project Doesn't Exist
In real-life, most projects will have bugs, performance problems, technical debts, lack of unit tests, etc...
Most Devs aren't actually writing a project from scratch; most Devs, even senior ones, are merely making small adjustments to existing software and each task in an organized manner, most likely needs a business justification and prioritization by the project managers.
If there was a situation where a Dev single handily created a whole CRM from scratch and made it so perfect, you'd fail to assess their ability to collaborate with others in a productive seamless manner. Unless you're applying for the position of an Architect or Project Manager who will manage the whole project, neither a Software Developer nor Software Engineer will have a project that they worked on from scratch in most cases.
While there could be some cases where a Dev was entrusted to work on a whole project from scratch, it still raises doubts about their ability to collaborate/cooperate with other Devs specially on larger projects that require more man power to handle.
Not every interview question is a good question to ask. Just because others might be also asking those questions, doesn't mean that you also should. Quite the contrary, specially in the tech industry,where thinking outside the box is often a plus, you should be rather focused on approaching everything with question marks since nothing is black or white.
The job candidate, regardless of anything, they are people worthy of respect and dignity. Even if you do not see them as good fit for the role, you should respect the fact that they have given you their time and effort to engage with you in a meaningful manner.
You should view the job candidate from a more holistic point of view and even if things don't workout for whatever reason, remember that what you think is quite subjective and nothing predicts a Dev's potential more than actually working with them.
In reality, the most important factor you should be focused on, is their willingness to learn new topics they might not be familiar with and their receptiveness to ideas from others and/or considering others' feedback.
A good engineer, is not necessarily the one that has the "Best" project but in reality, they have the best willingness to learn and adapt.
Top comments (0)