Is DevOps really dead now?
TLDR; Q: Is DevOps dead? A: Well… sort of. It’s more accurate to say it’s transforming.
In the fast-paced world of software development, DevOps has been a game-changer. It’s hailed as a revolutionary approach to bridging the gap between development and operations teams, enabling faster and more reliable software delivery. However, recent rumblings in the tech industry have sparked a debate: Is DevOps dead? In this article, we’ll explore the evolution of DevOps, the challenges it faces today, and its relevance in 2023.
What is DevOps?
DevOps, short for Development and Operations, has a rich history. It emerged in response to the traditional silos that existed between software development and IT operations teams. The core principles of DevOps, such as collaboration, automation, and continuous integration/continuous delivery (CI/CD), revolutionized software development practices. Over the years, it became an integral part of many organizations’ workflows.
From philosophy to title
DevOps isn’t just a job title or a specific role within an organization; it’s a comprehensive set of practices and principles combined with appropriate tooling. At its core, DevOps is a cultural and organizational philosophy that emphasizes collaboration, automation, and continuous improvement across the entire software development and delivery lifecycle. It transcends traditional silos by promoting the integration of development and operations teams, fostering shared responsibility for delivering high-quality software. However, in reality, DevOps has sometimes been reduced to a title for a middleman in the software delivery cycle, with manual interventions in immature cases.
DevOps is a multifaceted and interdisciplinary field
A DevOps practitioner’s responsibilities can encompass a broad spectrum, from automating deployment pipelines and managing infrastructure as code to fostering continuous improvement and communication between teams. The adaptability and versatility of DevOps make it an ever-evolving and indispensable part of modern software development. Professionals need to be prepared to wear multiple hats and engage in diverse tasks to ensure successful development and deployment processes. Throughout my career, I’ve encountered various types of DevOps practitioners: from those who merely follow online guides to expert YAML programmers and those proficient in multiple programming languages.
Is DevOps a must-have? Size matters
Whether DevOps is necessary often depends on the size and nature of a company. For larger enterprises with intricate software development and IT operations, DevOps is essential. In contrast, smaller companies or startups might initially question the need for DevOps, believing their projects can manage without its practices. Yet, even for these entities, there’s a strong case for gradually incorporating DevOps principles as they expand. Early adoption can prevent future bottlenecks and maintain a competitive edge.
Who is a good fit for DevOps
We’ve all seen variations of the famous DevOps depiction.
While many associate all its sectors with DevOps, not everyone realizes that each sector represents a vast knowledge domain.
Here’s a brief look at skills currently required for DevOps positions, based on job postings:
- Java; Python; GIT; Chef, Puppet or Ansible; Kubernetes; AWS (3 years); Docker (3 years); Jenkins (3 years); Linux (3 years); Splunk (3 years); and DevOps/Release Engineering (2 years) src
- Cloud infrastructure: Azure, AWS, OpenStack; Application deployment: Pivotal Cloud Foundry; Config management: Chef, Ansible, Puppet; Pipeline building; Containerization; Docker; Application development: Java, .Net; Linux; Windows; Continuous Integration: Jenkins, TeamCity; Monitoring: NewRelic, CloudWatch; Databases; Build tools: Gradle, Maven; Networking; Troubleshooting; Python; Deployment strategies; Code Quality Governance; Scalable services; Interpersonal skills; Communication; Scrum; JIRA; Technical design; Cross-functional collaboration src
- HTML; JavaScript; Angular; Database; Networking; AWS; Docker; Node.js; Python; Windows; Linux; Java; Apache Tomcat; CSS; SAP UI5; Selenium; Maven; Spring Boot; SKlearn; and Numpy src
- debugging and problem solving; verbal and written communication skills; Python and Bash; continuous integration and agile development; Jenkins; Git and GitHub; building, unit testing, code analysis, the release process, and code coverage src
- JavaScript, Python, bash/command line; npm or yarn; Docker; Github Actions or Jenkins; Cloud: Networking (VPC, CloudFront, Route53), Serverless (Lambdas), APIs (API Gateway, AppSync), Security (WAF, KMS, IAM, Cognito), Logging (CloudFront, CloudTrail); Terraform; cyber concepts, penetration testing methods, vulnerabilities, information assurance, and security methodology
Seams that companies wants someone like this:
What’s the verdict for now?
DevOps is evolving across industries, with a trend toward distinguishing roles for specialized expertise. We see platform engineering as a potential successor to DevOps. SRE has a vast overlap with DevOps. Finance-focused teams are beginning to merge to form FinOps. DevSecOps has emerged from the security side. The role of a Cloud Engineer has become more defined, focusing solely on cloud-based aspects. And there’s much more. The “DevOps specialist” title may soon become obsolete. In small to medium-sized organizations, the DevOps role might become outdated, replaced by a shared DevOps philosophy as initially intended. In medium to large entities, we’re likely to see more specialized roles and a new set of titles.