The DevOps Architect Skillset

The DevOps architect requires a wide variety of skills

DevOps encompasses the entire software development lifecycle from writing that first line of code to decommissioning a legacy application. A successful DevOps architect is able to speak the language of both application developers and operations teams.

Development experience

DevOps engineers are traditionally people with an operations background

I can’t stress enough how important it is for those aspiring to grow into an architect role to gain some development experience. I made this transition from developing chef’s cookbooks with Ruby to building Ruby on Rails web-apps on the side.

Version and dependency management

You quickly learn that when writing infrastructure or configuration as code, you’ll need to have a system of versioning in place or else things will quickly become very brittle.

You might also start pulling in other packages/roles/cookbooks/etc. and experience “dependency hell.” These are common issues developers face and have to solve.

Building and testing code

The need to write automated tests and run those tests during a CI process is vital.

It does not matter if you are writing Ansible roles or chef cookbooks or something else. Automated tests are the only way to ensure the confidence needed for automated deployments.

Let’s also not forget about the need to bring in our security experts into the fold, early on in a software project. We don’t want to get to the end of development, be ready to deploy, only to have to refactor code to fix a major security flaw in the design.