Codewars Advice from CYFers
Interpreting Requirements
Some problems may get confusing and complicated so write down exactly what you are trying to do in plain English first (pseudocode) then look at each step and think about what you need to do to complete it.
Code wars has helped me a lot in practicing the way I approach programming problems. Interpreting and breaking down code has helped me a lot to figure out a lot of the solutions on code wars. If given time, you can greatly improve you confidence working around JS syntax and see how to apply the different data structures you have learned.
If you are stuck on the interpretation , then sometimes you can get a hint in the discussion or a bit of clarification. The solution will be hidden but sometimes another user will have asked the question you're wondering about already.
Iterating Solutions
At first I would jump into coding straight away, due to the excitement, eagerness and curiosity to find the solution as quickly as possible. That was a mistake. Because I skipped pseudo code, it took me even longer. I am still not at my best yet but it is getting better. Please don't skip pseudo code step and try to break your problem into as many smaller problems as possible. That extra 15 mins you spent on your pseudo code will save you hours you can potentially waste while solving your Kata.
Some problems may get confusing and complicated so write down exactly what you are trying to do in plain English first (pseudocode) then look at each step and think about what you need to do to complete it.
For larger problems setup a folder in VSC and use the test cases from Codewars to test your solution until it passes, its much easier to work on the problem in a familiar IDE.
Start off with the easy ones and if the next level ones are too difficult just keep going on the same level till you are ready to move up a level. It is better to complete 10 katas at your level than spend the same amount of time staring at the screen on one that is too difficult and not even completing it.
I have found that doing more of the easier Katas increased confidence, helped to practice syntax and break down problems.
Refactoring
Always read other peoples solution after you solve the kata, its nice to see how other people have approached the problem, just remember, the shortest solution isn't always the best!
It is good to read all the solutions once you've successfully submitted. The more I have learned JS , the more I can recognise how others have refactored/refined their solution - e/g using ternary operator or arrow functions.
You may not seem to benefit from them but if you look back at yourself from a couple of months ago, some problems you did not understand back then, seemed much easier now. I just experienced it myself, last week during React week 2. I had better understanding of array methods when I did some katas from array methods
Time Management
With the 20 minutes you have do not waste time agonizing over a solution in the code editor. If the problem requires new areas of knowledge save the example code and text and name of the challenge to a folder. Move on to the next challenge.
Start doing the codewars ASAP it helps to start early so you're not playing catchup and also not studying 2 different subjects like React and CSS at the same time.
Donβt sit on problems too long - google for help to work out what is going on in other code examples and look for the simplest solution that you understand. Take notes and build a library of similar solutions you can use again.
IMPORTANT: if you are stuck and cannot seem to find a solution through Google searches or any other method, ask for help from mentors or Education buddies. Do not give up or suffer in silence. It may be difficult now, but it will definitely get better.
I do find codewars helpful and if I skip it for a week I can tell that I am a little out of practice. I have started to time myself doing Katas after not doing as well as I should on the codility test which wasn't particularly difficult it was just completely different under pressure which was a bit of a wake up call for me.
Ideally, you would have covered some of the topics through other coursework to help with your Codewars. For instance, I did not know what promises were when I did my CodeWars. After spending hours finishing them, I moved onto other tasks and realised that promises were covered in that week's coursework...
Finally, know when to walk away, it wouldn't be the first time Iβve done this and been able to just know what to do when I come back.
Last updated