If you aspire to become an enterprise architect, learning DevOps is a great way to boost your career. DevOps provides experience with various tools and overlaps with numerous roles, such as developers, quality assurance (QA) engineers, site reliability engineers (SREs), and many others.
I believe DevOps is both a methodology and a role. From a methodology perspective, it's an approach that unites the development (dev) and operational (ops) sides of the house and makes continuous software delivery possible.
As a role, DevOps differs from team to team and from organization to organization. The role exists on a spectrum from the SRE at one end to a full-stack developer on the other end. That means you have lots of freedom and potential to own a bigger part of the solution and gain more responsibility; and with greater responsibility comes more thorough experience, upskilling, and job security.
My path to becoming an architect
It took almost seven years for me to become a solutions architect. I started my career as a systems administrator and spent four years growing to become the lead systems administrator.
I discovered it would be impossible to get relevant experience by just doing my day-to-day sysadmin tasks. I started to learn on my own by reading professional books about Linux, networks, automation, and more. I began implementing some practical DevOps configuration automation and monitoring tools in my work infrastructure. I went the extra mile and became proactive with those tools to build total automation.
Once I felt ready, I interviewed for a DevOps systems engineer job and was hired at the first interview. Working with DevOps, I accomplished continuous integration and continuous development (CI/CD) and infrastructure automation projects. My next move was to become a cloud solutions architect. I like to think of that role as DevOps++. I did many consulting engagements focusing on deploying cloud-native platforms and delivering Kubernetes training. I had a lot of fun on business trips around the globe. I also earned certifications such as Google Professional Cloud Architect, Kubernetes Administrator, and Azure Solutions Architect Expert during that time.
[ Build skills and address knowledge gaps with a free trial of full access to Red Hat's curriculum. ]
After two years, my experience and certifications helped me get an offer to become a solutions architect for a large organization. I learned many new skills related to systems design, documentation, presenting, and overall IT solutions life cycles. It was a significant shift from the daily hands-on work on the command line to a role with lots of meetings, presentations, and design decisions.
How DevOps helps your architect career
DevOps played a huge role in my ability to transition away from hands-on work to making informed design decisions. Here are four reasons why DevOps was so integral in my career progression.
1. Infrastructure experience
Part of the DevOps engineer's responsibility is provisioning infrastructure for development, testing, production, and other environments. While doing that, I bumped into architectural design decisions daily. Good or bad, you can see them from the operator's perspective. You might be asked to create and provision infrastructure from scratch for some projects. That's not uncommon on small teams without a dedicated architect to plan infrastructure. In those cases, it likely becomes part of your DevOps role to first "make it work" and then make it secure, reliable, highly available, and more. And that's valuable experience if you want to become an architect.
As a person who deploys environments and applications and works with both developers and operators, a DevOps engineer is the main point of contact when something goes wrong with any part of the solution. As a DevOps engineer, you may be able to participate in troubleshooting sessions. Try to get to the root cause of the problem or learn from the person who does, regardless of whether the application or the infrastructure was to blame. When many parties are involved, good communication skills and a proactive approach are necessary.
3. Early feedback
The DevOps role is generally needed from the early stages of the IT solution to set up infrastructure for test and development environments, create the first pipelines, and provide the necessary level of testing for automation and CI pipelines. This also helps you understand your IT solution's weak points early on.
4. IT solutions knowledge
An architect covers many aspects of the IT solution. DevOps experience provides an advantage because it's a role with broad responsibilities. On the one hand, the DevOps role understands how applications are developed, delivered, and updated. On the other hand, the role understands how IT solutions need to be managed and operated once they go live. The above creates a "big picture" view of the entire IT delivery process, which is vital for an architect.
My DevOps experience was a crucial part of becoming a solutions architect. It seems like a natural career path to grow from DevOps or systems engineer to an architectural role. If you want to become a solutions architect, DevOps experience can definitely help by boosting your expertise in understanding, designing, and managing IT solutions.