Automation for developers

As developers, especially on large or long-term projects, automation allows us to get more done. The more of the boring, repetitive stuff we automate, the more time there is for doing the creative and fun parts of development.

A few things we can automate:

  • Builds
  • Unit tests
  • System level tests
  • Code formatting (especially if there’s more than one developer)
  • Code reviews (some types of checklists, but even automated help for posting and commenting on code reviews is useful)
  • Putting commands (or other type of data) into a parseable format for automated code generation, automated help generation, etc.
  • More sophisticated error checking (e.g. turning appropriate warnings into errors, additional static code analyzers)
  • Memory testing (e.g. running valgrind over unit or system level tests)
  • Generating status messages or work logs from version-control logs
  • Bisecting versions for tracking down bugs (e.g. git bisect)

None of these will increase your productivity by 10x, but the more things you automate, the faster you can develop software. Little things like these do add up. It pays to look at what you do that’s repetitive enough to automate.

Leave a Reply

You must be logged in to post a comment.