How Continuous Delivery drives career progression in development
4 MINUTE READ
When people think about Continuous Delivery, what usually comes to mind is how it can improve the software delivery pipeline in a cost effective way. Countless use cases now attest to the fact that this is a true and valid point. However, framing the methodology in these terms fails to address how Continuous Delivery can open up career growth opportunities for developers.
Continuous Delivery isn’t going away anytime soon. The concept first emerged in 2010 when Dave Farley and Jez Humble released their best-selling book on the topic, “Continuous Delivery: Reliable Software Releases Through Build Test, And Deployment Automation”. The methodology has now been used for years (with great success) by tech giants such as Google, Amazon, Etsy, and Facebook.
As it is becoming an increasingly mainstream practice, there is an onus on developers to at least familiarise themselves with the fundamentals of Continuous Delivery. But the advantages of the methodology aren’t limited to improved efficiency. It also enables developers to enhance job satisfaction while simultaneously building out technical and professional skill sets. Expertise in Continuous Delivery gives an edge to developers who want to stand out in a crowd of highly skilled job candidates.
Boost job satisfaction
All developers will know that the job can get stressful at times, especially when delivery deadlines are approaching. Working numerous late nights and being on call over the weekend to fix emerging problems can quickly cause burn out. Furthermore, frustrations often arise due to a lack of control over tasks assigned by management. It’s difficult to maintain a sense of enthusiasm when faced with a mountain of monotonous work.
Continuous Delivery enables developers to sidestep some of these issues. It improves job satisfaction by reducing development drudgery. Advantages of Continuous Delivery include:
- Automate repetitive tasks (configuring environments, compliance steps, maintaining deployment etc.) and focus on actual coding and testing
- Self-service, no waiting for operations to create deployment environments
- Fewer release delays because of testing congestion/bottlenecks
- Less time spent waiting for approvals
- Fewer last-minute surprises during deployment
- Faster feedback from end-users, allowing for rapid improvement of software
Ultimately, Continuous Delivery enables developers to devote more time and energy on the technical work they enjoy and less to the boring stuff that does little for career development.
Get assigned to cutting edge projects
This is of particular relevance to new developers. With little experience under their belt, getting assigned to the company’s most interesting projects poses a real challenge. It’s difficult to prove your worth if the majority of your time is spent maintaining scripts or dealing with operations handoffs. Taking the time to get to grips with Continuous Delivery offers a way for developers to avoid tedious tasks by building the skills needed to work on more innovative initiatives.
If your company already has or is thinking about adopting a Continuous Delivery approach to software development, then it’s time to get involved. As well as making life easier and more enjoyable in your current job it will also put you on firm footing to carve out a successful career in development.
‘Continuous Delivery and DevOps: A Quickstart Guide’, written by Paul Swartout, is a resource designed to help developers, software engineers, and other IT professionals understand what these methodologies actually look like on the ground. It provides a concise and straightforward point of reference for those seeking to change established ways of working, processes and responsibilities.
Paul is a software development manager with significant first-hand experience in how Continuous Delivery, in combination with DevOps, can help organisations deliver products faster. Speaking to InfoQ, he outlined his motivations for writing the book.
“CD and DevOps seem to have a reputation of being geeky and the realm of software engineers and systems operators. I’m your typical management type but I get it. I may sound a bit altruistic but I believe (hope) that if more people get an insight into how to deliver quality software to customers quickly, effectively and frequently they will also get “it” and realise the business benefit “it” can bring. In addition they will see that spending less time and effort trying to ship / support software will allow more time and resource to be spent creating products that their customers want,” he said.
Continuous Delivery makes software release a less stressful experience. Releasing smaller changes more often gets everyone used to a regular, predictable pace, leaving room to come up with ideas and actually enjoy the work. Best of all, a successful release becomes a shared success, one that all staff can celebrate together.