Coding Challenges: Why is it important and how to process it?

Denis Lafontant
4 min readAug 3, 2021
Photo by Nubelson Fernandes on Unsplash

Development is about problem-solving daily. Usually, we work on specific projects with predefined milestones which is a great way to craft our skills, having a better understanding of the syntaxes and logic of a particular language. But what are the fundamentals of programming?

I interviewed a senior developer once, and I asked him if he could write a program without a computer? He said No! Why would I do that? It doesn’t make any sense. He knows how to write pseudocode but doesn’t find any utility in that. It is pretty common to encounter such behavior, but when it comes to coding challenges computational thinking makes a great difference.

Why is it important?

Every aspiring developer or developer should take into account the importance of coding challenges. We are using code to solve problems, build useful and helpful products. If you want to have that perfect body for the summer you have to hit the gym regularly, the same goes if you want to be a ninja in development you have to practice coding challenges regularly. If you want to know how it could be, just keep reading.

The brain is a muscle, it needs to work out to develop and provide the expected result. Coding challenges is an activity that pushes us to think, to dive into full abstraction, and come up with a concrete solution, it is the pure essence of problem-solving.

Photo by Per Lööv on Unsplash

Training our brains to solve problems regularly through coding challenges is as important as learning a new language through projects. A good developer is a good problem solver, and this is why we are paid.

How to process it?

A wise man told me once “The best way to start a job is by doing nothing”, it sounds confusing, right? But he is right. Jumping on a coding challenge and starting to code right away always lead to catastrophic results. I know what I’m talking about, I hit that wall a thousand times.

What does it mean by starting a job by doing nothing? It means that we have to start by thinking about how we are going to tackle that job. Abraham Lincoln said, “If I have eight hours to cut a tree, I will spend six hours sharping my ax”.

Photo by ThisisEngineering RAEng on Unsplash

1 — Breath slowly

Coding challenges are always stressful, do not see it as something that your life depends on. It is a quest, not a conquest. Take a deep breath, calm your mind because you will need the full power of your brain cells to solve that challenge.

2 — Read the challenges loud and rephrase them with your words

This process assures that you have a clear understanding of the problem. If you understand a problem, you can rephrase it with your vocabulary. Now the goal is clear, you know exactly what is being asked, and what is the expected result.

3 — Give examples

Providing examples is a good way to set different scenarios on how the problem could be solved, and show that you have a deep understanding of the challenge’s requirements.

4 — Write pseudocode

Writing pseudocode first is the rule of thumb, it helps especially non-development people to understand what you are doing. It is always good to keep on explaining the pseudocode while you are writing it. During that process, you can use divide and conquer, one of the best strategies to tackle coding challenges

5 — Translate your pseudocode into code

Once done, it will be easier to translate the pseudocode into the required language for that challenge with the proper syntaxes, it is a time saver strategy.

6 — Test

Always test your code! It is another golden rule. Your code must provide the exact expected output with the proper input.

7 — Presentation

Finally, all is well, now you have to make a presentation of your masterpiece to the audience, even though you are practicing on online platforms like hackerrank or leetcode, always try to cultivate good habits. Who knows it will help you in a coding interview?.

Conclusions

As the saying goes: “Practice makes perfect”, training our brain with coding challenges is worthwhile, it improves our computational thinking and makes us better problem solvers than ever. At first, it could be annoying, stressful, and hard, but it matters more than learning the syntaxes of a new language. The ability to solve problems with code is what makes us developers.

--

--

Denis Lafontant

Full-Stack Web Developer, Mentor, former Programmer Analyst for the Haitian National Police, Law graduated.