After finishing writing a functional piece of code, spend half an hour or so (maybe more?) trying to break it.