Reposting this Good software development habits