A Journey from Software Engineer to Dev/Ops
Do you feel you have gained sound knowledge of the SDLC framework and want to try your hand at things other than writing code? Or are you an IT graduate researching different engineering job opportunities to chart your career growth and know about domains that pay more? Well, the DevOps engineer position is the right career to transition into after you have gained a solid software engineering experience. DevOps engineers not only write code and create services, but they are also responsible for maintaining them. In this role, you will be a part of both the development and operation team, so you get to write code according to client specs, oversee its release and also manage and maintain its deployment and operation. To successfully transition from software to DevOps engineer, you will require many additional skills.
1. Learn infrastructure design/cloud computing:
A DevOps engineer is more than just an expert and experienced software engineer. He or she is also responsible for building tools and infrastructure design. For this, you will need to learn cloud computing platforms like OpenStack, Kubernetes and/or Rackspace Cloud. If your current role has not made you familiar with these, you will have to learn on your own time and money. Understand each infrastructure’s components and their importance to get a hang of these infrastructure projects. If possible invest in learning Amazon Web Services (AWS), Google compute engine and Microsoft Azure. Learning these additional projects will be hard on your pocket, but they will pay off in the long run. If you are recently graduated, the best thing to do would be to sign up for job-oriented IT courses, like HCL First Careers, to get the most for your money. Programmes like these not only teach you Virtualization, Azure and AWS but also gives you a crash course in programming languages, including Java and Python, provides classroom training and live projects to work on, and provides employment in HCL following successful completion of the project.
2. Brush up your scripting skills:
This one is the easiest for IT and engineering graduates; brush up SQL and DBA, Python and Java. You need to know how to work on different operating systems and databases. Move your OS to Linux, as most production systems are deployed on it. This will help you learn the OS and its commands faster.
3. Learn automation and configuration management:
You will require analytical skills similar to that expected from a good software engineer; that is, how to develop software efficiently through automated infrastructure deployment. Get your basic concepts right and try deploying, configuring and managing your own components. This will help to reduce your learning curve. Be ready to code to automate, so that it can be easily run by anyone and plugged with other modules. This will help to improve productivity. You will also have to learn configuration management tools like Ansible, Terraform or Puppet.
The DevOps engineer is a good career to transition to due to high demand around the world. The role often involves leading a software development team, and thus requires people who can work under pressure, handle clients independently and understand business requirements and have good communications skills. This domain is the right choice for you if you are the type to keep abreast of industry trends and best practices. It will not only allow you to grow more but also move into a different and higher paying direction.