In most places, I would be considered a junior developer having some mastery over smaller scale work before delving deep into software production and design topics. This confuses several people when they see my years of experience, especially recruiters who usually have to cope with their own limited sense of technical knowledge to accurately fit workers into proper roles.
Seems like I have greatly missed out on a part of the pipeline that has creeping into more developer jobs, and I (possibly a bad luck thing) somehow has continued to evade this invasion through particular jobs that don't expose me to it.
Despite that, I tell myself and others that I am not a systems admin, but a developer. I have 0 experience working with an "operations" team and have little experience with the deployment part of the pipeline, with the exception of blogs and brochure-style websites that use shared hosting services.
My understanding is that it's the people that would be doing the job of fortune 50 companies if they were trying to roll their own data infrastructure?
If developers are expected to take more roles, doesn't that turn development into "second class" work if no one is left to fill a dedicated role for software development?
With the work I do, I just "throwing it over a wall" and we pay a third party hosting service to handle it. Uptime, stability, that's usually left on them so I don't really need to think about it.
Yet if new devops work involves more and more writing code for automation systems, then perhaps we need to make a case for why has rebranding take place. Has it been mainly due to shifting more responsibilities around different people?
But I want to address this part:
> If developers are expected to take more roles, doesn't that turn development into "second class" work if no one is left to fill a dedicated role for software development?
The answer is no. My dad started writing software in 1968. From the way he tells it, good developers never just threw things over the wall. They made things for people to use, things that ran efficiently within the constraints of the platform of the day.
I feel the same way today. Devops approaches give teams control over (and responsibility for) the whole lifecycle of the software they write. That's great! Instead of wondering what happens over in ops-land and hoping we get it right, now we can make sure it's right. And this is aided by the rise of the observability movement, giving developers the ability to see inside the running software.
To my mind, there's no such thing as "dedicated" software development, where it happens in isolation. That's like wanting to cook food without caring whether people eat it or how they're enjoying it. I think it's great that teams are expected to operate what they build, and are given the right tools for that.
I think it's actually supposed to mean "the people doing operations should also be developers". They should have the technical skills and the agency to create software to solve their problems. And to the extent that sysadmins hacked together perl scripts or bash scripts to solve problems, it is presumed that it would be better if they were more skilled software engineers who would have hacked together better solutions - maybe less arcane, less one-man-band, better abstractions, reusable, less copy-paste, etc... I don't know if that's fair.
I think it's half true and half rebranding. DevOps theory - and the services that go with / enabled it - has really changed how a lot of software teams work. And the rebranding helps with the paycheck, too - which is why all your DevOps teams are now restyling themselves as SREs (and hey, if they actually do some of the SRE stuff then it's a win, right?)
But, with the cloud, you buy hardware, stick a base OS on it, and it becomes an amorphous amount of cpu cores, RAM, and harddrives (or at least we try to make people think it works like that). And if everything now runs in a VM, or a container, you can "just" write software that says "I need 6 database servers, 8 event bus servers, 9 back end servers, and 3 load balancers, and we'll use a CDN for all the static assets." (gross oversimplification). And if you need to reconfigure it to be 5-7-12-5-9, you just stop the old VMs and start new ones. You don't need to follow a checklist to make sure that you've correctly uninstalled MySQL 5.6.9, and need to install MariaDB 10.1.35.
DevOps is a very different mindset to traditional System Administration.
As programmers were increasingly required to administer the machines and networks they worked with, they also started automating their work a lot more than was possible with the rigid enterprise systems. Hence the emergence of the fusion of development and operations in certain cases. I think that the term "devops" can mean different things depending upon the technologies being used at a given site.
Unless, you know, you like doing ops work all day every day.
Do you see many DBAs anymore? I haven’t seen them for awhile, I’ve seen plenty of Database Engineer or Database Developer job postings.
I’d say if they’re going to call you an engineer, asked to be paid like a software engineer.
now i rent an online service.
the coders behind each of these ventures have different tasks : the first, devising installation and operating manuals for an offline world, the second for a day by day continuous challenge of measuring and updating the service's capabilities and market value