All this fuss about AI and machine learning, but have you seen the state of the average codebase? Let's get the basics of software engineering right before we try to build Skynet.