For some months now, and following one of our identity marks as it is continuous improvement, we undertook a new initiative that would lead us to achieve and keep excellence in our skill as code developers. Every week, we face a bunch of different Code Katas that prove our ability as programmers, our knowledge of best programming practices, SOLID principles, etc.
What is a Code Kata?
The term known as Kata has its origin in martial arts and it refers to a serie of basic exercises usually carried out by a person on his own with the goal of perfect the knowledge bases of a concrete martial art.
It has been centuries later, that developers have taken over this term and have extrapolated it in a really interesting way. Code Katas are small programming exercises exposing a problem, that must be solved in the best possible way by the developer.
Road to excellence through Code Katas
How do Code Katas help us to improve our programming skills?
It is not just about solving the problem providing a working solution. It is about taking time to think about your solution and checking that it fulfills all that best programming practices stablished. Is your solution scalable? Is it mantainable? Does it follow SOLID principles?
As the objective of Katas in martial arts is that the person masters perfectly and subconsciously every basic movements, the objective of Code Katas is that the programmer acquires and applies, also in an almost subconsciously way, all of that good practices when he writes the code of his projects.
And the key for that is practise and more practise. To solve a Code Kata, analyse your solution, compare it with other solutions, and learn. And face again a similar but different problem, apply your recently acquired knowledge and learn some new things again.
Code Katas in Solid GEAR
Our system
Every week, we bring up a different Code Kata with a concrete purpose. Do you know Liskov substitution principle? Can you apply inheritance or composition in a proper way? Are you able to detect cohesion or coupling problems at a glance?
Focusing Code Katas help us to learn something new each week, or to master something we already knew. And at the end of each week, we share our solutions together to see which ones are most interesting.
Code Kata + Code Review = Win
In Solid GEAR we have found a perfect match between our Code Reviews system and Code Katas. Following our good practices code, each time a developer completes a feature, it undergoes a Code Review by one or more of his colleagues. If it turns out that the code (all or part) of this feature is interesting enough, it is proposed as a Code Kata for the rest of the colleagues.
This allows that the exercises are not just theoretical tests, but real applications to current problems.
You can also learn with our Code Katas
Exactly! The best part of this is that you can also improve your programming skills with us.
Access our Public Repository that is updated weekly with the selected Code Katas and test your knowledge solving the variety of problems that are set up.
Do you accept the challenge?