mosura
21 days ago
It failed because there is an ongoing denial that development and operations are two distinct skillsets.
If you think 10x devs are unicorns consider how much harder it is to get someone 10x at the intersection of both domains. (Personally I have never met one). You are far better off with people that can work together across the bridge, but that requires actual mutual trust and respect, and we’re not able to do that.
whynotmaybe
20 days ago
The goal of dev is to be able to change everything whenever they want.
The goal of ops is to have a strong infra that has the fewest changes possible.
They are opposite and usually there are more devs than ops but the first respondent to an issue are ops.
You can only have devops if both roles are intertwined in the same team AND, the organization understands the implications.
Everywhere I've been, devops was just an excuse to transfer ops responsibilities to dev because dev where cheaper. Dev became first respondents without having the knowledge of the infrastructure.
So dev insisted to have docker so that they would be the one managing the infra.
But everyone failed to see that whichever expensive tools you buy, the biggest issue was the lack of personal investment to solve a problem.
If you are a 1.5x dev in a 0.9x team, you get all the incidents, and are still expected to build new stuff.
And building new stuff is fun.
Spending 2 days to analyze a performance issue because a 0.3x dev found it easier to do a .sort() in Linq instead of Sql is fun only once.
random3
20 days ago
People can’t care about stuff they don’t know about. Split the roles and you split responsibility. It’s the same with dev and QA. Suddenly, the person paid to care about quality or stability realizes that the person who’s paid for something else doesn’t care like their job depends on it. Because it doesn’t. So OP above is right, splitting things and specializing horizontally is most times a bad and, if you think about it, not very smart move.
vee-kay
21 days ago
From someone who has managed both Developmentals team and Operations team for decades.. trust me, they are different beasts and have to be handled/tackled differently.
Expecting Devs or Ops to do both types of work, is usually asking for trouble, unless the organization is geared up from the ground up for such seamless work. It is more of a corporate problem, rather than a team working style or work expectations & behavior problem.
The same goes for Agile vs Waterfall. Agile works well if the organization is inherently (or overhauled to be) agile, otherwise it doesn't.
SkiFire13
20 days ago
> Expecting Devs or Ops to do both types of work, is usually asking for trouble, unless the organization is geared up from the ground up for such seamless work.
Could you expand on this? How would an organization be geared up for this?
vee-kay
19 days ago
Best example is the largest eCommerce conglomerate in the world: Amazon.
In the early 2000s, Google, Amazon and few other companies, were trying to crack the conundrum of APIs (Application Programmable Interfaces), i.e., do web-services.
Amazon cracked that conundrum the best and fastest way (and ultimately that's its AWS (Amazon Web Service) cloud platform rules the corporate world).
But how did Amazon do that IT innovation (beating other innovative IT services companies like Google), when it was merely an e-commerce and related site/company till then?
It's because Amazon did the unthinkable. They overhauled how their company worked.
Crucially, Amazon’s engineering teams were instructed in a 2002 memo - by Jeff Bezos, no less - to take an API-first approach: 1. Teams will expose their data and functionality through service interfaces. 2. Teams must communicate with each other through these interfaces. 3. No other form of interprocess communication is allowed. 4. Teams must plan for all service interfaces to be exposed to outside developers.
This mandate that every department in the company must communicate internally only using webservises was pivotal to the company's IT-focused transformation.
So if HR needed to share some payroll related data to Finance team, it needed to do that communication via APIs, instead of traditional way of attaching it via email or sharing over the shared network drive.
This kind of forced, rigorous inter- & intra- communications made the Amazon teams to encounter and resolve every type of issues and concerns that could be faces with APIs/we services and related IT technology.
And thus, Amazon was ready with such incredible new innovative, robust and scalable functionality ahead of every other company in the world.
Today, AWS is THE cloud platform of choice, and it helps drive most of the biggest websites and platforms of the internet and it has world's biggest/richest companies as its customers.
https://gatheringclouds.substack.com/p/the-rise-of-amazon-we...
I feel that simply forcing some Developmental teams to adopt DevOps or Agile in a company doesn't work, if the rest of the company doesn't support DevOps or Agile to the extent needed on a daily basis. Only such deep overhaul can ensure these sorts of innovative best practices can not only survive, but also thrive in the company.
And that's the only way the benefits of such radical changes can be felt where it's needed most: the customer experience and the revenue books.
frogperson
20 days ago
I agree. The domains are just too large for anyone to be an expert in everything. Platform engineers are expected to know 3 clouds, k8s, cloudflare, security, SRE, python, javascript, CI/CD and about 20 other things. Its just not possible to be great at all the things at the same time.
Employers would rather pay one salary than 2. They are not punished for demanding more frim their employees.
We really ought to form some kind of union that operates across companies. We must demand better working conditions.
pjmlp
20 days ago
tsss
21 days ago
You don't need 10x developers. You just need to avoid the 1/10 multiplier of pitting separate development and operations teams against each other.
antod
21 days ago
> You are far better off with people that can work together across the bridge, but that requires actual mutual trust and respect, and we’re not able to do that.
Wasn't that the original goal of DevOps? Getting dev and ops not being siloes and get them collaborating? The "make devs do ops" definition seemed to come along later.
Conan_Kudo
20 days ago
The original goal of DevOps never happened. Companies immediately jumped on this with "rationalizations" and "integrations" to make it so fewer people were in charge of more things.
tstrimple
20 days ago
Case in point, the number of companies who create "devops" teams completely missing the point of the exercise.
DarkNova6
21 days ago
But is DevOps a role or a principle?
The way I have seen it in my carreer is to have operational and development capabilities within the same team. And the idea of a „DevOps guy“ is a guy „developing operations integrations“.
As opposed to completely siloing ops nd dev.
pjmlp
21 days ago
For most companies, it is a role, the new name for IT administrators.
dsr_
21 days ago
DevOps is the practice of using modern software methods to automate the tasks of operations work. That includes using version control, templating languages and various forms of role-based configuration automation.
Anyone who thinks they can hire a devop or declare that they do devops is as deluded as 97% of the folks who claim that they are doing Agile. (If you are firmly on the other side of each of the four principles of the Agile Manifesto, you may or may not be doing great software development, but it's not Agile.)
The problem with the typical DevOps team is that there's no operations expertise.
pjmlp
21 days ago
My experience is that most companies don't do Agile, and DevOps is basically sys admin that also happens to own Jenkins or similar.
RaftPeople
20 days ago
> If you are firmly on the other side of each of the four principles of the Agile Manifesto
The agile manifesto has 12 principles (per the orig: "Twelve Principles of Agile Software")
Are you thinking of a different list when you say 4, or are you maybe combining some together?
ofrzeta
20 days ago
I've had recruiters telling me they are "looking for a devops" (not even a "devop").
tbrownaw
21 days ago
> You are far better off with people that can work together across the bridge, but that requires actual mutual trust and respect, and we’re not able to do that.
Are you claiming it's fundamentally impossible for people to get along, or just that positive interpersonal relationships can't be reliably forced at scale?
ramoz
21 days ago
I mean, look at Kubernetes though. You have to understand both the application and the infrastructure in order to get the deployment right. Especially in any instance of having to pin the runtime to any type of resource (certain disk writing, GPUs, etc).
firesteelrain
21 days ago
My experience has been that devs don’t understand their own app resource requirements
ramoz
21 days ago
This would be considered a failure, or are you saying they don't need to?
firesteelrain
21 days ago
I am saying that in my experience they get upset when the VM or container they provision blows up because it lacks enough resources or they do not place guardrails on their app and end up getting OOMKilled.
Spivak
21 days ago
And that frustration makes sense in the context of the article. Devs don't care about any of that stuff because they're customer facing, it's a distraction from their primary responsibility.
It would be like asking an Amazon delivery drivers to care about oil changes and tire rotations. It's much easier to have a team of mechanics whose primary responsibility is enabling drivers to just drive and focus on delivering packages.
silverquiet
21 days ago
I think my favorite interaction with a dev around this was when I was explaining how his java program looked like a big juicy target for the OOM killer and it had killed it in order to keep the system working. His response was, "I don't care about the system, I care about my program!" And he understood the irony of that, but it was a good reminder that we have somewhat different views and priorities.
7bit
20 days ago
A developer not caring about the system is why the file explorer is painfully slow today, compared to 15 years back.
If a programmes doesn't care about the system, I already know he's shit at his job.
pjmlp
20 days ago
That is basically WinUI/WinAppSDK, the whole WinRT stack and related dev experience, where even plain .NET is faster.
However the team will advertise it as performance, due to being written in C++.
Pity it gets slowed down by COM reference counting all over the place, which cannot be optimised away, and the application identity sandbox.
verdverm
21 days ago
That's not a kubernetes specific issue. If you run on VMs or Edge, devs also need to know the resource requirements. If anything, k8s makes that consistent and as easy as setting a config section (assuming you have the observability to know what good values are). The default behavior I've seen is to set reqs w/o lims so you get Sche'd but not OOM'd
user
21 days ago