The Code Challenge Pitfall

The Code Challenge Pitfall

I just finished another Code Challenge that left me with the same sensation as when I wake up after a hangover, swearing that I will never drink again. Before I go deeper on this subject, I need to highlight that there are several point of views about it depending on the professional experience level. For juniors with limited experience, it would be hypocritical of me to say, “You shouldn’t accept it, you need to impose yourself against it.” When we are still establishing our careers, it’s hard to stand up for a cause, putting our own professional future at risk. For you, that is still without an alternative besides taking the d*** Code Challenges, my message is: Don’t get frustrated! Code Challenges are not a good way to check your code skills.

Article content

To explain myself, I will talk a little bit about my experience doing Code Challenges. After countless Code Challenges, I began to sense that it is more a matter of luck than skill. On a specific occasion, I had to solve two questions using Python to develop a script that was capable of reaching a given result. When I was trying to answer the first question, I missed a little detail in the script logic that made me spend all my time looking for what I did wrong in my code. In the end, I failed the test, but right after it I realized what I did wrong in my code, feeling awful for failing for something so stupid. Surprisingly, the next day the recruiter sent me a message asking what happened for I failed in the Code Challenge and I told her the story. So, she offered me to give another chance to do the test, and this time I was able to complete both questions in less than five minutes. This time I could prove my feeling, is not only about knowledge, but it’s also about luck! You may miss a small but crucial detail, or you may be in a bad day. Is like the math exam where you were able to solve integral calculus and derivative, but the professor gives you zero because you made a mistake in a sum in the middle of the process.

Article content

Right, let's jump to a completely different situation. This time, I was solving a Code Challenge with two questions related to SQL and one related to Python. Quickly, I realized that I had already done those questions in other Code Challenges, so I already knew how to solve them. I wasn’t really interested in the position, so I took the opportunity to prove my point. I answered the question related to Python using a core library that easily handled the problem. But I went further! I used the functions of the library, returning values  one inside the other, just to let me bring my answer all in just one line of code (of course, returning the expected value in the end). What do you think happened? That's right! I was approved being praised for my high score in the Code Challenge. I’m sure that some people check the code in Code Challenges, but many people don’t. They just check if the output was achieved or not, and that makes the Code Challenge pointless.

Well, as a tech leader in data projects, I have already driven several hiring processes and technical interviews. I already sent Code Challenges for the candidates, and what I have to say is that the only person that I regret having hired was exactly the person who delivered the best performance in the Code Challenge. I learned my lesson, and I will never again hire someone because I was impressed with the candidate's technical skills and didn’t pay attention to the red flags in the candidate’s behavior. The result was a professional with good technical deliveries (the best in the team), but that, in the short time that was part of the team, had serious communication problems, never actively participated in the team’s meetings and ceremonies, and left a permanent noise even a long time after leaving the team. I can say for sure, it wasn’t worth it! I another company, I convinced the manager to stop with the Code Challenges and start using a mix of Live Code and technical interview. The idea was just to check if the candidate knows how to code and the concepts behind it. We applied questions such as how to transform this script into a function and return the value to a variable, or if we want to improve the performance of this part of the code, what could we do?. The result was the hiring of incredibly talented people. For many of them, it was the first professional opportunity, and I am still following up with many of them and I know that most of them have an amazing career in the technology field. But the most important thing is: None of them was a bad hire. All of them delivered value to the projects that they passed in the company and leave only after have a much better proposal in another company.

But I’m not completely against Code Challenges, and I do understand if you’re feeling frustrated by reading it at the end of the article. The truth is that Code Challenges became a problem when they were applied without understanding the context or considering other factories. The problem is that it is what happens most of the time. For recruiters, it becomes a simple filter that reduces the number of candidates to interview. It is likely to eliminate all the plats in a menu that don’t have a fancy French name. In the end, you may lose the opportunity to eat a good Ribs on the Barbie and have a Pithiviers Salé, which is actually pigeon meat (it’s just an example, I am using common sense). In the end, always remember that it is easier to teach technical skills to an employee than to teach soft skills. After all, tech professionals maybe will not need to use the technical skills for what you hired them after a few months. But they will always need to have the soft skills to handle the challenges of the projects and to be integrated with the team.

Article content

Finally, I think that Code Challenges should be used with responsibility (sending a Code Challenge and not even checking the candidate’s answer should be a crime, with the penalty of the law). Recruiters should have the sense to know which technical skills are really considered the basic knowledge necessary for the position, avoiding the d*** speech of but I that all those 20 skills are completely essential for the mid-level data engineer position. While Code Challenges are still one of the main criteria for hiring new employees, companies will keep losing talented professionals, just because they where in a bad day.

To view or add a comment, sign in

More articles by Rafael Araújo, MCs

  • Sentiment Analysis: beyond positive, negative, and neutral

    Keeping track of Natural Language Processing (NLP), this article discusses the subject of my research for my master's…

    1 Comment
  • Is Natural Language Processing (NLP) still relevant?

    In this article, I have decided to revisit the subject of Artificial Intelligence, focusing on a specific field within…

  • The raise of Data Quality

    Currently, the subject of data quality is growing in importance in the data field. When we talk about “data quality”…

  • A few cases of data quality

    In one of the first projects I worked on, I was tasked with developing several web scrapers to collect public datasets.…

  • Using Airflow for data quality

    In this article, I decided to explore the possibilities of using Airflow as a data quality tool. This is now something…

  • Five movies about data

    In this article, I decided to try joining two of my passions: movies and data technology. I’ve been a cinephile since I…

  • Do not hire me because of my technical knowledge; hire me because of the games I platinumed!

    Okay, the title of this article is clearly clickbait, but if you are not a gamer, it's worth reading on because you may…

  • Organizing the analytical data

    Data can be viewed in two ways: transactional or analytical. Handling data in these different ways creates a need to…

  • Presenting the library BR Utils

    In today’s article, I will talk about a Brazilian open source project that may be very useful for those who are working…

    1 Comment
  • Which database should we use?

    I recall when I first began studying the data area and came across databases called NoSQL. Reading about the…

Others also viewed

Explore content categories