Skip to main content
Redhat Developers  Logo
  • Products

    Featured

    • Red Hat Enterprise Linux
      Red Hat Enterprise Linux Icon
    • Red Hat OpenShift AI
      Red Hat OpenShift AI
    • Red Hat Enterprise Linux AI
      Linux icon inside of a brain
    • Image mode for Red Hat Enterprise Linux
      RHEL image mode
    • Red Hat OpenShift
      Openshift icon
    • Red Hat Ansible Automation Platform
      Ansible icon
    • Red Hat Developer Hub
      Developer Hub
    • View All Red Hat Products
    • Linux

      • Red Hat Enterprise Linux
      • Image mode for Red Hat Enterprise Linux
      • Red Hat Universal Base Images (UBI)
    • Java runtimes & frameworks

      • JBoss Enterprise Application Platform
      • Red Hat build of OpenJDK
    • Kubernetes

      • Red Hat OpenShift
      • Microsoft Azure Red Hat OpenShift
      • Red Hat OpenShift Virtualization
      • Red Hat OpenShift Lightspeed
    • Integration & App Connectivity

      • Red Hat Build of Apache Camel
      • Red Hat Service Interconnect
      • Red Hat Connectivity Link
    • AI/ML

      • Red Hat OpenShift AI
      • Red Hat Enterprise Linux AI
    • Automation

      • Red Hat Ansible Automation Platform
      • Red Hat Ansible Lightspeed
    • Developer tools

      • Red Hat Trusted Software Supply Chain
      • Podman Desktop
      • Red Hat OpenShift Dev Spaces
    • Developer Sandbox

      Developer Sandbox
      Try Red Hat products and technologies without setup or configuration fees for 30 days with this shared Openshift and Kubernetes cluster.
    • Try at no cost
  • Technologies

    Featured

    • AI/ML
      AI/ML Icon
    • Linux
      Linux Icon
    • Kubernetes
      Cloud icon
    • Automation
      Automation Icon showing arrows moving in a circle around a gear
    • View All Technologies
    • Programming Languages & Frameworks

      • Java
      • Python
      • JavaScript
    • System Design & Architecture

      • Red Hat architecture and design patterns
      • Microservices
      • Event-Driven Architecture
      • Databases
    • Developer Productivity

      • Developer productivity
      • Developer Tools
      • GitOps
    • Secure Development & Architectures

      • Security
      • Secure coding
    • Platform Engineering

      • DevOps
      • DevSecOps
      • Ansible automation for applications and services
    • Automated Data Processing

      • AI/ML
      • Data Science
      • Apache Kafka on Kubernetes
      • View All Technologies
    • Start exploring in the Developer Sandbox for free

      sandbox graphic
      Try Red Hat's products and technologies without setup or configuration.
    • Try at no cost
  • Learn

    Featured

    • Kubernetes & Cloud Native
      Openshift icon
    • Linux
      Rhel icon
    • Automation
      Ansible cloud icon
    • Java
      Java icon
    • AI/ML
      AI/ML Icon
    • View All Learning Resources

    E-Books

    • GitOps Cookbook
    • Podman in Action
    • Kubernetes Operators
    • The Path to GitOps
    • View All E-books

    Cheat Sheets

    • Linux Commands
    • Bash Commands
    • Git
    • systemd Commands
    • View All Cheat Sheets

    Documentation

    • API Catalog
    • Product Documentation
    • Legacy Documentation
    • Red Hat Learning

      Learning image
      Boost your technical skills to expert-level with the help of interactive lessons offered by various Red Hat Learning programs.
    • Explore Red Hat Learning
  • Developer Sandbox

    Developer Sandbox

    • Access Red Hat’s products and technologies without setup or configuration, and start developing quicker than ever before with our new, no-cost sandbox environments.
    • Explore Developer Sandbox

    Featured Developer Sandbox activities

    • Get started with your Developer Sandbox
    • OpenShift virtualization and application modernization using the Developer Sandbox
    • Explore all Developer Sandbox activities

    Ready to start developing apps?

    • Try at no cost
  • Blog
  • Events
  • Videos

Mixing developers and systems administrators for speed and value

January 21, 2015
Ryan Cook
Related topics:
DevOps
Related products:
Red Hat OpenShift

Share:

    https://openclipart.org/detail/188792/conversation-by-ousia-188792In many organizations development teams are split up from systems administrators.  Both teams focus mainly on their roles and responsibilities, but this can lead to problems.  Tensions between the groups can hinder your organization's efforts in getting the best product to the consumers in the shortest amount of time. Below are quotes which are commonly come up between developers and systems administrators.

    • “Why doesn't the development team have to be on call? It's their code that breaks the system.”
    • “Why does the sysadmin get to dictate what tools/languages I can use to solve the problem?”
    • “Add more hardware to the server”
    • "Stop using so many resources on the system!"

    You begin to easily see how this relationship is strained and broken, but does it have to be? Let’s talk about some more of the common stereotypes and discuss the ways to move past them.

    Developers in Prod

    A very dated, yet still common, idea is not allowing developers any access to production. Ever. Period. There are many different excuses cited by system administrators for  limiting developers access to production systems such as auditing, the concern that “developers will break prod”, and additional security concerns. Some companies feel allowing developers into production may allow for them to maliciously insert code that may compromise the production system.

    We’d like to encourage a different way of thinking: Developers should be hired for their skills in development. If you do not trust the person and their skills then it does not make sense to hire them in the first place.

    Speaking as a systems administrator it would be very difficult to parse through all lines of code to even check to ensure a developer was not doing something maliciously.  Giving a developer Production access also allows collaboration in the solving of problems that a systems administrator notices and then use that information to create a fix and promote it up to the production environment. This is not to say that developers get access to everything, but certainly access to the areas where they are the best people to be handling the issues.  At DOES14, Netflix’s Dianne Marsh and Roy Rapoport had similar thoughts on this topic.

    This is also not a one way street. System administrators should feel welcome and even be encouraged to join in development design sessions and even during programming. After all, who better than those versed in infrastructure to lend a hand in designing a solution?

    Problem Solving and Perspective

    Once, Steve Milner and I were walking down the hall and I brought up a thought about the water temperature at the faucets. I asked him something along the lines of how the proper portions of hot and cold water were mixed to gain a nice warm, but not hot, water temperature on every use. After all, the warm and cold temperature wouldn’t always be the same and it would be tough to maintain the same mix. I thought the warm and cold water mixtures could be adjusted per faucet. His response was that the same water was likely heated in a single tank to the proper temperature and not mixed before dispense. Yeah, it’s a silly example but right there we had two different ways of thinking about a simple process and his view of how it works probably wouldn’t have crossed my mind!

    Having developers and systems administrators work closely together allows for complex issues to be analyzed by people with vastly diverse backgrounds.  For example, as a systems administrator, I may feel like we could set up monitoring using Nagios and create custom checks to monitor a service, but a developer may know that the product we’re trying to monitor has an API designed specially for this purpose. Both solutions may work but the approach is dramatically different.

    Developers Don't Do Deployments

    In many organizations there is a hand off that takes place from the developers to a deployment team. Actually, the term “hand off” might be a little too reassuring, more often than not, it’s more like a relay race with a stick of butter baton on a hot day. The deployment team is usually comprised of one or more operations teams and, in many cases, are already slammed with other work on their plates.  The problem with that is if the queue for the operations teams is full then the developer is left waiting around or, even worse, another release from the development team may “stack on top” of previous release which can make it very difficult to troubleshoot issues that may arise from one of the deployments.

    Final Thoughts

    The Inception team is one of those unicorn teams where developers and systems administrators work together both locally and remotely. Working in a group designed like this is a dream come true.  We enabled the developers in our team to deploy code in any environment through the use of deployment scripts. As an Administrator, I am creating a process that not only better serves my developers, but also better services the company because it gets code out the door in a much more efficient manner. The admins and developers enable each other to be successful and that has delivered immeasurable value to our IT organization as well as to the home grown Winternewt tool.  Like the Osmonds, developers and systems administrators are little bit country and a little bit rock-and-roll but if you combine these two groups you can increase the speed of deployment from development to production and enable the teams to create the best version their product or application.  Oh, and both groups will be much happier with each other. Always a bonus.

    Last updated: February 26, 2024

    Recent Posts

    • Expand Model-as-a-Service for secure enterprise AI

    • OpenShift LACP bonding performance expectations

    • Build container images in CI/CD with Tekton and Buildpacks

    • How to deploy OpenShift AI & Service Mesh 3 on one cluster

    • JVM tuning for Red Hat Data Grid on Red Hat OpenShift 4

    Red Hat Developers logo LinkedIn YouTube Twitter Facebook

    Products

    • Red Hat Enterprise Linux
    • Red Hat OpenShift
    • Red Hat Ansible Automation Platform

    Build

    • Developer Sandbox
    • Developer Tools
    • Interactive Tutorials
    • API Catalog

    Quicklinks

    • Learning Resources
    • E-books
    • Cheat Sheets
    • Blog
    • Events
    • Newsletter

    Communicate

    • About us
    • Contact sales
    • Find a partner
    • Report a website issue
    • Site Status Dashboard
    • Report a security problem

    RED HAT DEVELOPER

    Build here. Go anywhere.

    We serve the builders. The problem solvers who create careers with code.

    Join us if you’re a developer, software engineer, web designer, front-end designer, UX designer, computer scientist, architect, tester, product manager, project manager or team lead.

    Sign me up

    Red Hat legal and privacy links

    • About Red Hat
    • Jobs
    • Events
    • Locations
    • Contact Red Hat
    • Red Hat Blog
    • Inclusion at Red Hat
    • Cool Stuff Store
    • Red Hat Summit
    © 2025 Red Hat

    Red Hat legal and privacy links

    • Privacy statement
    • Terms of use
    • All policies and guidelines
    • Digital accessibility

    Report a website issue