👋 Hello from Portugal,
In this week's newsletter we will go over Codewars, a programming exercise platform I joined recently to practice coding challenges and other life updates.
Codewars is a website where you can practice coding by solving different challenges which are called "Katas". Every time you complete a kata you will make progress towards improving your rank on the platform. Katas help a programmer to "sharpen their skills through practice and repetition". Exercises are presented randomly but are filtered depending on your rank/skill level.
Katas can be focused on training and improving fundamental skills or for solving highly complex problems and are offered in many programming languages. Katas are also rated and ranked by the Codewars' community aka "warriors", you gain honor every time you help other fellow warriors and for your contributions to the community.
My experience with Codewars
Since I joined Codewars, I started taking on more complex problems than what I have been exposed to in my JavaScript courses. I had to start looking at documentation for clues on how to solve the Katas through resources such as MDN Web Docs, W3schools and Stack Overflow. Learning how to understand and use these resources has been challenging and sometimes overwhelming but I see it as a skill that sooner or later I had to get acquainted with and master if I want to be able to solve coding problems on my own.
When I began working on Katas I started at level (aka Kyu) #8 and and I hope to work my way down to level #1. The coding exercises I have been working on so far are called string manipulation problems. These problems generally involve taking a text, aka string, as an input, manipulating that string in some way and returning the result. At my current skill level, I have been using arrays and for loops to solve these problems. I have enjoyed these challenges so far and try to do one Kata per day. I like the Codewards interface because I can write my code in the built-in editor, run unit tests on my code to see if it passes all the different scenarios that are provided and see the results immediately in the output box.
Every time I complete a Kata I can see other warrior’s solutions and get motivated to learn more. It’s a great feeling to finally solve the Katas after struggling for a bit and I learn a lot when I see how others solved it as well as learning about how many different types of approaches are possible. One of the common solutions I have been seeing is using RegEx (regular expressions) which is essentially a form of pattern matching for strings. I am just beginning to learn how to use regular expressions but overall they feel like a much more efficient way to solve string manipulation problems.
Community
The community in Codewars seems to be very active and it feels like there is unlimited content but what I find most interesting is this content has been created and verified by the community itself, so Katas are generally bug free. Additionally, I could easily ask questions about any Katas and interact with other people in the comment sections.
There are also groups/clans I can join and follow other users, which lets me see what type of Katas they've done and how they solved a particular problem. If you want to follow me on Codewars, here is my username, Clashmoonpy.
Ranking system
There are two levels in Codewars, Kyu and Dan which are based on a Japanese martial arts system. These ranks are used to designate your progression on the platform and the difficulty of a particular Kata. You begin with Kyu level 8 and move towards level 1. Eventually, you advance to Dan, where you work your way up from level 1 to level 4.
Other Updates
I have started the #100daysofcode challenge on my Twitter account. The idea with this challenge is to have an extra excuse to write about what I learned in less than 280 characters at the end of each day and have a record of my progress.
One last thing
To end this newsletter, I want to share a quote from one of my favorite authors James Clear from his last article.
This quote made me ponder because it reminded me of the importance of writing and showing up. It is in practicing writing each week where I feel I am making progress and seeing the amount of material I have completed, the problems I solved and in general the momentum that I am creating.
I have to be honest and the main reason why I didn't send out a newsletter last week was that I was having insomnia and last week I could barely focus on problem-solving or writing the outline for this post. Hence, I decided to postpone it for this week when I knew I would have more energy and hopefully I would have had more sleep. Thankfully I did! So here I am writing again because I refuse to let go of this practice. I know my actions will move me closer to my goals so I will continue writing about my progress no matter what.
Are your actions moving you closer to where you want to be? I would love to hear about your experiences.
Thank you for reading!
-Juliana 💗
Good job!! 👏