in the past few weeks I have heard about a phenomenon called 'code-kata'. When I get it right, it means coding an exercise again and again. What is its point? Does it improve your abillity to design better software? If yes, why does it do so?
This was the first time I've heard of this, so after a quick google, here's my gut reaction:
Code Kata is not repeating an exercise over and over again. Rather it's about constantly expanding your "comfort zone" so you can grow as a developer.
Simply working on projects that you know how to do won't help you. You need to try and tackle projects that you would most likely fail at on your first attempt.
The end goal is that if you continuously try, fail, try again, fail again, etc, sooner or later you will succeed. When you do, you've mastered some new knowledge, and become a better developer.
Enough repetition of this will obviously improve your skill.
(Sorry if it's a bit of a brain dump)
It's not primarily to improve your design skills, rather it is a way to improve your productivity in your chosen IDE.
Repeating a familiar task over and over again allows you to watch out for and take advantage of IDE shortcuts and features that you were previously unaware of to shave seconds from your time. It will also help you find any unnecessary steps you take out of habit so you can cut them out of your routine.
We tried a few of these at my company, our thoughts were to develop a simple game (obviously something with a bit of logic we'd not know how to do). We'd all have a go at doing it, then we'd keep improving it as much as we could until we thought we had the best way to do things, then we'd meet up again maybe a week later and compare our results. It's interesting to see how different people come up with different solutions, and everyone learns from the experience. Maybe not a proper kata, but we always try and bend these things to something we'd find useful :)
I collected a bunch of references her: http://slott-softwarearchitect.blogspot.com/2009/08/code-kata-resources.html
The most important of these is http://codekata.pragprog.com/