We practice software development every day when we go to work. However that practice is task centric, we are doing for the sake of finishing the task. Deliberate practice switch the focus to doing it for the sake of becoming better. We set a time and some rules to guide us and do it until we master it. This talk introduces the concepts and gives ideas to implement it in the context of software development using pair programming, code katas, dojos and code retreats.