The DevOps workflow. Credit: Devops

One day, it struck me that I didn’t actually have a well formed view of what a modern, industrialised, software development/delivery processes should look like. Sure, I could blag my way through technical conversations but would I be able to teach someone from scratch what the terms ‘commit’, ‘unit test’, ‘deploy’ really meant? In all my time in IT, I’d never worked closely enough to these details and it was time for me to change this.

I wanted to understand:

the key steps involved in creating high quality software in teams

the practices and types of tools that are used to accelerate these steps

a high level development environment software architecture and supporting process flow

I was surprised to find next-to-no content covering these topics to the degree I wanted for readers that weren’t already professional developers or software architects: all I could find was abstract preaching, startups blowing their own trumpet (“we use <some-tool> to deploy code 6 million times a day”) and low-level instructions on how to install and configure specific tools which were apparently relevant.

As such, it took me a little longer than I expected to achieve what I set out to, but eventually I got there and I’ve written this article series to help others in my shoes.

This article series is targeted at readers having some knowledge of software development/operating practices interested in learning more, such as:

aspiring developers starting out their own extra-curricular projects, or

non-technical professionals working near development/operations teams

In this article series I will cover: