This is a repository filled with my daily coding challenges, from Codewars.com. I'm ranked in the top 3% of programmers worldwide with over 300 challenges completed.
Tech used: JavaScript
I use Codewars challenges to push my coding ability beyond the limits of what I'm comfortable with and to build good habits with best practices. Completing them daily ensures that I'm always a better coder today than I was yesterday, thanks to the lessons I learn with each challenge. I start by outlining expected inputs & outputs, followed by simple pseudo-code, and finally a written code solution. After I've solved the challenge, I reverse engineer solutions shared by other coders to learn new coding tools and conventions.
Challenges are separated into "kyu" categories, with smaller numbers being more difficult.
Over time, I've refined my process for completing these challenges. Several weeks ago, I began adding additional information before attempting a solution. This helps me build the habit of analyzing and digesting the problem before diving head first into solving it and avoid making unnecessary errors.
I also try to come up with multiple solutions to each challenge. In the "real world," it's often beneficial to think of multiple solutions so that different options can be weighed for their advantages/disadvantages.
To further challenge myself, I often try to build the shortest/simplest solution possible. This often wouldn't be best practice for real world projects as they aren't always readable, but it's a nice way to learn shorthands and find clever ways to solve problems.
No matter how long you code with any particular language, there is always more to learn. Solving a new coding challenge every day reinforces this lesson heavily. Small improvements with great consistency can produce tremendous results over a long period of time!