Spotlights
Site Reliability Engineer (SRE), Release Engineer, Automation Engineer, Continuous Integration/Continuous Deployment (CI/CD) Engineer, Infrastructure Engineer, Build and Release Engineer, Systems Engineer (DevOps), Platform Engineer, Cloud Engineer (DevOps), Deployment Engineer
Testhouse sums up DevOps as a relationship between “people, process, and products.” In a way, the job of Developmental Operations Engineer came as a result of learning from mistakes. Software used to be developed by one team, then revised by another, creating conflicts and confusion. Then a concept called agile development came along to offer people a more collaborative way of making changes. DevOps provides relevant developmental and operations parties a means to engage in a more productive evolutionary process. As a result, there’s more standardization, more control, more predictability...and less disruptive infighting.
DevOps Engineers are like mediators. They come in during the process and keep everyone on-target, ensuring goals are outlined and achieved as updates are made. They must maintain a bird’s eye view of the overall project while also being able to zoom into smaller functions to see how they affect the whole. Their judgment is relied upon as they evaluate changes and offer ideas for improved efficiency and effectiveness. Other job titles may include Development Operations Manager, Integration Specialist, Release Manager, or Automation Engineer.
- Working with a big picture overview of projects
- Serving as an intermediary between teams
- Managing change in a smooth, efficient, and effective manner
- Practicing good leadership and management skills
Working Schedule
- DevOps Engineer ranks #5 on Glassdoor’s Best Jobs in America 2020 list. Demand is high, so expect full-time work, at least. The supply of highly-qualified engineers in this sector is still not aligned with the demand. Organizations rely on the unique skill sets these workers bring to the table during times of transition. Overtime hours may be needed when projects get behind schedule or unexpected problems arise.
Typical Duties
- DevOps Engineers ensure users get what organizations want them to get, without disruption or diminished quality, even as changes are being made to platforms
- Infrastructure management is a key responsibility, to include developing and deploying apps
- Applying principles of agile methodology
- Building the Continuous Integration & Delivery pipeline
- Connecting tech goals to business needs
- Liaising with different teams
- Managing effective security and hunting for vulnerabilities
- Using automation tools to deliver code to various environments
- Planning application and infrastructure; testing and development
- Understanding IT ops and sysadmin functions; strategizing integration and deployment
- Working with open-source tools and scalable databases
- Additional Responsibilities
- “On-call” Incident response and management
- Ensuring compliance with organizational protocols
- Optimizing processes, people, and tooling
Soft Skills
- Ability to facilitate collaboration
- Change management skills
- Flexibility
- Attention to detail
- Customer service
- Decisiveness
- Highly organized; good time management skills
- Strong security-consciousness
- Leadership and management skills
- Patience and analytical problem-solving
- Strong communications skills
- Team-oriented and goal-focused
Technical Skills
- Continuous Integration
- Familiarity with infrastructure automation
- Knowledge of coding languages, such as Python, JavaScript, Ruby, Perl, C/C++, Go, and Java
- Understanding containers (standardized units of software)
- Computer systems design agencies
- Corporations/companies
- Governmental/Military agencies
- Healthcare
- Higher education institutions
- Media and entertainment
- Self-employed
Companies rely on the soft skills of a seasoned DevOps guru nearly as much as their tech abilities. Developmental Operations Engineers are expected to be outstanding facilitators of seamless change. There’s a huge responsibility for them to ensure that teams can come together to achieve goals that may not always seem to be in common.
When changes need to be rolled out quickly, time is of the essence. But when it comes to writing software, rushing leads to mistakes that cannot be afforded. That’s where the cool-headed, analytical powers of the DevOps Engineer comes into play. Sometimes stuck between a rock and a hard place, it’s up to them to find ways to overcome all hurdles, mediate issues, and get things done right the first time.
Automation is king. The more automation can be successfully utilized, the less likelihood of human mistakes. DevOps Engineers need the ability to analyze their organization’s practices and find areas to automate or places where existing automation can be improved upon. Another trend is shifting from monoliths to small, scalable microservices that are less complex to manage. Google’s popular Kubernetes container management tool is also helping many DevOps teams and will continue to do so in the coming years.
As with any role in the IT world, the endless creep of artificial intelligence/machine learning will continue to impact DevOps and the challenges inherent with juggling massive datasets. AI, used properly, can relieve the burden and get rid of bottlenecks. Other current developments in the world of DevOps include migration to serverless architecture and ever-increasing focus on security.
DevOps Engineers, like other IT professionals, spend most of their days inside, working at a desk and staring at screens. Most were avid tech fans growing up, content to while away hours at their computer keyboard unraveling the mysteries of software and coding languages. However, Developmental Operations requires strong people skills, which suggests workers weren’t just sitting in their rooms alone all day.
On the contrary, they were more likely collaborating with peers, either in-person or online. The skills needed for this career field require strong social abilities in addition to an objective mindset. Workers who take an interest in DevOps were probably respected at an early age for their fairness, rationality, and talent for arbitrating disputes and bringing about consensus. They may have been good at debating, as well as English, marketing, and art.
- DevOps Engineers often need a bachelor's degree, preferably in Computer Science or something related. Sometimes certifications and a good range of work experiences are enough, but to be competitive, a degree always looks good
- Data center migration coursework is suggested
- There are loads of courses and certifications available to help you specialize or sharpen your edge in a job market. Options include:
- DevOps Agile Skills Association (DASA), which offers three-tiers of certifications:
- Leadership - DASA DevOps Product Owner, Leader, or Coach
- Professional - DASA DevOps Enable and Scale, Specify and Verify, or Create and Deliver
- Foundational - DASA DevOps Fundamentals
- Amazon Web Services offerings (note, watch for work experience prerequisites):
- AWS Certified Cloud Practitioner
- AWS Certified SysOps Administrator – Associate
- AWS DevOps Engineer – Professional
- Certified Jenkins Engineer
- Cisco DevNet
- Microsoft Certified: Azure Administrator Associate
- Puppet Certified Professional
- Red Hat Certified Specialist in Ansible Automation
- Other experience needed can include Java, Python, and Groovy; Microsoft Server, Linux, Apache, Bash; IP networking
- Learn on your own with the following:
- CompTIA Linux+
- Coursera DevOps courses
- edX DevOps courses
- LinkedIn Learning’s DevOps course offerings
- Pluralsight’s DevOps: The Big Picture
- Udacity’s Intro to DevOps and other courses
- Udemy DevOps courses
- Don’t forget courses to build soft skills in English, writing, speaking, teamwork, and leadership!
- There are many tools and skills to learn to master DevOps. Not every program offers them all, but look for programs that feature as many applicable courses as possible
- Are there any prestigious faculty? How are the program’s facilities? What are their research areas? How do they get funded? Good programs talk about these things!
- Examine the program’s post-graduation job placement rates, if published. Usually if a school has something to brag about, they’ll post the numbers
- What free career services or other job-seeking help do they offer?
- Make sure the institution is fully accredited
- Online programs have pros (like accessibility) and cons (lack of in-person peer activities), but the value you get is tied to the effort you put in!
U.S. News & World Report’s 2020 listing of Best Computer Science Programs is a good starting point. Remember, they refresh their list every year. It’s good to understand their methodology, because what’s important for their rankings may not be important for yours.
Remember, while a degree can be important for a DevOps Career, employers are looking for specific knowledge and skills along with experience. Don’t assume that just graduating from a good program will be enough to land you a job. The certificates and training listed above can be equally important for some employers. It all depends on what they need, and needs can change.
The key to success as a DevOps Engineer is to stay flexible, stay current, and tailor your academics to the precise demands of your target employers. Take the initiative to look up the contact information of DevOps Engineers currently working where you want to work, and ask them directly where they went to school, what they majored in, what electives they recommend, and which additional certs and job experience they suggest. You can also use discussion threads or Q&A sites like Quora to post questions (but keep an eye on the dates that answers were written).
- Before you even start looking for a job, start looking at job openings. Read the listed required qualifications for jobs you want to have, at companies you want to work for
- Get lots of skills practice, the sooner, the better! (see the above Education and Training section for classes and certs you can do on your own time)
- Remember, DevOps works smack in the middle of things, so keep training balanced
- Look for ways to practice required soft skills, like serving on school committees in positions where leadership and management are necessary. Don’t take backseat roles
- When you have some marketable tricks up your sleeve, start putting them to work on freelance sites such as Upwork, to gain hands-on, paid experience
- Find DevOps internships on job portals or ask your college program for assistance
- Be a joiner! Sign up for IT-related clubs to grow your network and socialize with others who share your interests
- Find a senior DevOps ninja willing to take you under their wing and mentor you
- Become a master communicator and mediator
- Read articles and participate in discussions on Quora, Reddit, Dev.to, and other spaces
- Take the TripleByte DevOps screening test. If you pass, you will get an interview with employers in their network.
- Scour job portals like Indeed, Monster, USAJobs, ZipRecruiter, LinkedIn, Velvet Jobs, and Glassdoor
- Think like a recruiter! Read ZDNet’s “Eight best practices for hiring a DevOps Engineer”
- Tell your network you’re job-seeking. Ask them to contact you with any good leads
- Ask your school’s department or career center for info about job fairs, recruiting events, internships, and other assistance such as resume writing and interviewing practice
- Pay close attention to the required experience and skills listed in job postings
- Competition is fierce, so focus your energies on jobs you’re highly qualified for, and tailor your resume to each specific job you apply to
- Check out Indeed’s DevOps resume examples
- Never go in for an interview with a plan to “wing it.” Read Simplilearn’s “Top 86 DevOps Interview Questions and Answers” and be prepared to leave a great impression!
- Interestingly, it isn’t uncommon for workers in this field to deny that “DevOps Engineer” is an actual job title. Thus figuring out how to climb the ladder in such environments is a challenge
- Some options after DevOps include working as a tech lead, architect, or principal engineer. There are a lot of possibilities and much depends on the size of the organization you work for (and whether you’re willing to leave and work elsewhere)
- Speak candidly with your supervisor and management about your desires to move up when the time is right. Better yet, ask what you can do to make the “time right” sooner!
- Don’t get ahead of yourself or give the impression you’re only looking for a better deal. Demonstrate loyalty and a commitment to earning promotions through hard work
- It might make sense to pursue a master’s degree, but understand that some companies label their certificate programs as “master’s certificates” or “masters programs”
- Keeping up with changes and trends is imperative. Keep up with the times or you’ll get behind them!
- Pass on what you have learned by teaching others. This can be done in-person, online, through articles, threads, vids, and more...
- If you’re really into social marketing, brand yourself and generate revenue from content views, affiliate marketing blogs, Google Ads, or selling your own courses
Websites
- Atlassian Blog
- Continuous Delivery
- Dev2Ops
- DevOps.com
- DevOps Cafe Podcast & Videos
- DevOps Cube
- DevOps Days
- DevOpsGroup (on LinkedIn)
- DevOps Reactions
- Distributed Podcast
- Docker
- DZone
- Etsy - Code as Craft
- Everything DevOps (on Reddit)
- iHeavy
- IT Revolution
- Microsoft Azure
- Network World
- Packet Pushers Podcast
- Puppet
- Security Now! Episode Archive
- The Food Fight Show
- The Ship Show
Books
- DevOps For Dummies, by Emily Freeman
- Mastering Python Networking, by Eric Chou, Michael Kennedy, et al.
- Python for DevOps: Learn Ruthlessly Effective Automation, by Noah Gift, Kennedy Behrman, et al.
- The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations, by Gene Kim, Patrick Debois, et al.
- The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win, by Gene Kim, Kevin Behr, et al.
- The Unicorn Project, by Gene Kim
DevOps is an exciting field that functions in the middle of the action when it comes to software development. However, some workers prefer to stick to one side or the other. Meanwhile, others want to specialize in areas other than software.
A few alternative careers to consider include:
- Front-End Developer
- Back-End Developer
- Full-Stack Developer
- Computer and Information Systems Managers
- Computer Programmers
- Computer Support Specialists
- Computer Systems Analysts
- Database Administrators
- Information Security Analysts