Any programmer will tell you that practising is one of the essential building blocks to getting skilled at writing code. However, finding challenging, or even fun ways to do this may be difficult.