A practical guide to getting better code, not just more code