I have a programming background but have spent a good part of my time in administration, primarily as a Microsoft Sql Server DBA. Often times my favorite role is to stand (sit?) between the developers and the administrators in an organization.
That’s a real friction point.
In my experience I have found that most developers consider administration to be a necessary–but barely necessary–evil. It’s boring and easy. And the administrators have all these restrictive policies and rules and requirements…all they do is get in the way. Developers just don’t understand what the big deal is with these guys.
Administrators, on the other hand, think of developers as these egotistical people who always think that whatever they’re working on is the most important thing in the universe. They’re loose cannons who honestly don’t care whether their application will actually work in production, as long as it looks cool or uses the latest technology. And they’re always in a hurry. Administrators just don’t understand why they should continually be asked by developers to take shortcuts that will harm their own systems in the long run.
It seems to me that comparatively few people understand both roles and value both equally. There’s always something that can be done to help both developers and administrators meet their goals and requirements.
Then there is project management. And quality assurance. And a lot of other, frequently competing, needs. There’s a lot more to software than code. Doing these things right can help the code (and the developers) be better. I’m hoping to write about these things, although I may sometimes talk about code as well, especially if it helps developers make their code supportable in the eventual production environment.