Over a million developers have joined DZone.

When the going gets tough – automate it!

DZone's Guide to

When the going gets tough – automate it!

· DevOps Zone ·
Free Resource

Get the fastest log management and analysis with Graylog open source or enterprise edition free up to 5GB per day


Let me tell you a story about my first job: a long ago I was hired for my very first software development job. I worked with some really talented people on a cutting edge technology and it was fun.

After a few weeks at work I’ve noticed something odd – Although I was hired to write code I’ve spent more than 50% of my time doing other things - I’ve administered development machines, created test environments, built installers and such.

Being a junior developer I accepted this as a necessary evil that must be done in order to produce value for the organization…

Fast forward a few years I’m no longer a junior developer but the overhead is still the same – but something changed, I no longer spend my valuable time doing repetitive tasks.


nummi39 Corolla Assembly Line, Fremont CA 2000 by CanadaGood


The change didn't happen overnight, I wasn’t even aware that I had a problem until while complaining about the hassle of releasing a new product and how long it took – my team lead asked my why I didn’t automate the process.

A few words about the release process: it was well documented and consisted from multiple stages - from building multiple installers based on the product offering to uploading the results to our site using FTP.

Automating this process seemed like a lot of work most of it pretty trivial when done by hand - it seemed like a bad tradeoff to work two days to create an automatic release process instead of two to four hours to release the product manually. To my amazement my team lead insisted I drop what I was doing and do exactly that, after two days I had a release process that with a click of a button – fire and forget style. Since then I no longer needed to do the tasks that was the manual release – and looking back at it I know today that it was an error infested waste of time.

I’ve understood my lesson – and nowadays when I find myself frustrated with a task I do I immediately look for a way to automate it, not only is it a waste of my time but because manual steps need to be documented while an automatic script is self documenting.

One example for a process that must be automatic is Continuous integration - It always amazes me when a development team fails to automate it’s CI process – Instead of trusting all of the developers in all of the teams to remember to run all of the unit tests each time – have a server that gets the latest version of the code and runs all of the tests for you. Although it’s still a good practice to run the tests on your machine before commit/check-in we’re human and so we err.

My advice to you is - next time you feel like you’re wasting your time doing a boring repetitive task, just ask yourself how you can automate it…

Get the fastest log management and analysis with Graylog open source or enterprise edition free up to 5GB per day


Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}