"Don't waste my time, buddy. You're just a dogsbody sysadmin; I write the software and you merely service it. So just shut up with your petty concerns and do as I say, OK?"
Comment from serverfault.com
Today I'm going to write about one of the main reasons, in my opinion, why cooperation between dev and ops is not working most of the time: respect and understanding of the other persons job.
dev and ops have different types of work to do, but all have the same goal: bring an application to production and make it as good as possible (depending on time, money, technology, ...)
So in my experience some people mix up their jobs:
- Some sysadmin believe every developer has to know everything about infrastructure
- Some sysadmin even think they know how to program and that they could do the job of dev people much better
- Some developers think they know how to set up infrastructure and how to configure all systems
- Some developers think ops people should know all about the app without telling them anything
Respect each other and be polite. In my opinion dev and ops have different tasks during a project, which they should accomplish to make cooperation between both possible:
- ops: Set up a development environment which matches the production environment in the main points: OS, network setup, ...
- dev: Explain what the app should be doing and what type of systems it is using
- ops: Make clear what other system exist which might influence the new environment
- dev + ops: talk about non-functional requirements as early as possible and not two weeks before launch, otherwise it might get really messy