Becoming great at what you do, in development as in other disciplines, involves practice. PragDave has compiled a list of Code Kata for you to practice. The Katas include problems posed to do things like calculating supermarket pricing rules, Anagrams, estimations and code reviews. Next time you are trying to find something to do to get better at writing software, you will have some options..