Watch the film
Contact us

Code challenges are now part of our engineers' work at Digital Detox

Code challenges are now part of our engineers' work at Digital Detox

Back to the Articles
team-members-image

At Digital Detox, we recently started a weekly code challenge, which involves the whole engineering team submitting their solutions to a problem proposed by our Seniors. This is done around the typical cadence of a week, with some exceptions for more complex challenges.

Explaining the concept behind the task (for instance, last week was all about Dynamic Programming), we also delve into its use in everyday work, helping to instantly apply new learnings.

Week by week, our Senior team reviews the submissions based on the performance, complexity, extensibility, and maintainability of the solution, giving some special mentions to outstanding solutions. So far, we’re loving it!

Here’s our thought process:

The Reason

The original idea behind the code challenge was to enhance algorithmic skills within the Engineering team, using JavaScript as language.

On top of that, we wanted to create a fun side project, (or what some of us consider fun) and give some extra spice to a developer‘s week.

It also gave us the opportunity to always include dedicated tech-focused segments in our weekly team meetings and insight into the mind of a developer to the wider team.

CodeWars

To kick us off, we decided to use CodeWars as a platform to run the code challenges. CodeWars allows developers to sign up as warriors and try to solve “Katas” - or code challenges - that other users create. A Kata has a description, a starting point, and some tests set up that will be run to validate the solution.

The other significant aspect of CodeWars is that users cannot see others’ solutions until they submit their own.

The rationale to use CodeWars was pretty simple as we could use their submission system - including the testing platform - and start the challenges quickly by selecting existing Katas, and eventually create our own in the future.

Some Challenges

So far, we’ve selected challenges from a lower Kyu - CodeWars’ level - and are incrementally increasing it week by week, depending on the submission rate.

The first challenge we used was the “Reverse Sequence”, which requires building a function that returns an array of integers from n to 1 where n>0 (e.g. n=5 → [5,4,3,2,1]). It looks pretty simple, right?

The latest challenge we had was slightly more complex: “Packing Your Backpack”. The objective is to select the highest number of more “valuable” items to take in a backpack, which has a maximum weight capacity.

Something else we’ve taken advantage of with CodeWars is being able to onboard new joiners before their start date, giving us the chance to know them as people and align to Digital Detox’s tech standards from the off.

Next Steps

Now that we’ve got the ball running, our plan is to expand the code challenge concept outside of the algorithmic world. Here are just a few ideas we’ve had so far:

  • Find The Bug: We want to create a code sandbox with one or more bugs. As the name suggests, the objective of the challenge is to find (and fix!) said bug.
  • Feature Challenge: Start from a sandbox and implement a typical component or logic that‘s typically difficult to implement, adding some specific objectives. An example would be creating a Search As You Type or some Carousel features.
  • CSS and styles: Using CSS to replicate some animation or fun 3D shapes.
  • VR/AR, Three.js, and new technologies: Try something outside of our comfort zone and have fun with challenges around technologies that are part of our tech strategy but not yet in our day-to-day job.

We would love to find out your solutions to the two challenges posted here, so please get in touch and let us know!