Developers are straining under the demands of ‘You build it, you run it,’ and operators are feeling more pressure too. Is it time for development and operations to be separated once again?
In an era where developers are increasingly expected to handle operations tasks, this InfoWorld article discusses the growing discontent among developers and operations specialists. The 'You build it, you run it' model has led to overwhelming responsibilities and created bottlenecks due to different skill sets. The article suggests that a shift in responsibilities could be the solution, where developers have more control over development and testing environments without being fully responsible for production. It also discusses the rise of Site Reliability Engineering (SRE) as a popular solution to balance developer velocity and operational stability. Interested to hear your thoughts on this topic!
I have held both positons: SRE, and Software engineer. SRE workflow in my experience has been break/fix. Your job as SRE is interrupt-driven. You must put out fires while promising everyone that another fire won't ignite for similar reasons.
Software engineering is more structured. You estimate an amount of bugs/features you can deliver, and work to make it so. You have some extra padding from the fires, but the fires can still change your priorities from features to bug fixes and better testing.
I prefer Software Eng to SRE because bugfixing/testing over new features doesn't bother me, as where every new fire as an SRE was painful and sucked the life out of me.
As SRE I always had some software dev work I hoped to do, but never could get into that zone because of the constant fire fighting.
It's incredibly frustrating, as a developer, how much our jobs keep ballooning to encompass more and more stuff.
I'm expected to be able to work in the backend, frontend (in two DIFFERENT frameworks no less), database, and also to fully understand the infrastructure the code runs on, how to manage and control that infrastructure, how to manage access to that infrastructure, how to interface with that infrastructure in the software I'm working on, and how to do testing from unit to integration testing, and to do ALL of it as well and as fast as it was done 5 years ago- when there was a guy on the team who was the "frontend" guy, a guy who managed everything about AWS, and a dedicated tester.
It's all a scam from management; they cut down on costs by cutting a bunch of jobs and offloading those responsibilities onto the rest of us. But if things break, it all comes down onto my head. And also they don't pay me more for the added responsibility.
Oh, and the real kicker is that all of it is intermittent. Sometimes I spend 3 months doing all backend work as we set up a new microservice. Sometimes, I spend 3 months doing all frontend work as we create a new UI. That intermittency makes it EXTREMELY difficult for me to really master any of it, because I'm jumping around often enough that I don't get enough time to really build a deeper skillset. Then, I'm quietly shamed by management for not spending my spare time developing my skillset to make them more money.
I'm expected to, somehow, keep up to date on 4 different languages, all of the new shortcuts and capabilities of those languages, and also all of the infrastructure that we are using to deploy and manage our code. When I joined the workforce 7 years ago, we were right in the middle of this transition- so, not only did I never get the time to really master any of the languages I work with, I have perpetually felt a kinda strong imposter syndrome- and talking to other developers online and in person, I'm not alone.
The result is that myself and everyone around me are more stressed, producing less optimized and less reliable code that could be WAY better if we had more time (but we don't get more time, because timelines keep getting tighter while management keeps doing what I described above) and are not feeling like we are really learning how to do better.
I know I'm not the only one who feels this way either because I see the same sentiment literally everywhere. It's incredibly frustrating.
Many of my friends in the software developement world have said the same things. As a former sys-admin, it's happening to us too.
Management wants a single sys-admin to be an expert in databases, virtualization, cloud infrastructure, networking, cyber security, backup and redundancy, ERP systems, oh and handle all the help desk tickets, installations, physical upgrades, purchasing, cabling, and be able to automate and monitor it all.
BTW, do all of that for 75-95k per year, and you can't work remote...sound good?
Scam is totally the correct word for it. What used to be a 4-6 person team is now a junior and senior sys-admin with a single help desk person if you're lucky.