rackAID

Call Sales: 877-435-2445

Navigation

Resources

Why Your Web Developers Should Not Manage Servers

Posted by Jeff H. 04/16/2010



Ok, I am going to poke my neck out and likely get it chopped off by a PHP guru, but in my experience, web developers make terrible server managers. Leaving your server management tasks to your development team may be convenient but could cost you time and money in the long run.

Before I set off some flame war, I just want to say I agree with Patrick Debois about the DevOps approach. In his great post, What is this Devops Thing, Anyway?, he advocates closer collaboration between development and operations. In organizations both small and large, these two departments tend to point fingers at each other rather than shaking hands.

Efficient Developers are Inefficient System Administrators
I work mostly with SOHO’s and SMB’s, so I see a lot of web application developers managing servers. Many of them get things to work, but at what cost?

I’ve seen many web developers download, configure and compile tools that were readily available in their distribution’s package manger. They may not know about the EPEL, Extra Packages for Enterprise Linux., that provides add-on packages for Red Hat Enterprise Linux. As a result, time is wasted downloading, configuring and compiling software that could be installed in 30 seconds.

If your dev team is fixing servers, they are not programming. If they are not programming, they may not be making you money.

Coding for the Future vs. Managing for Now
I understand the desire to write code using the latest and best version of your favorite language. You certainly don’t want your software to be obsolete by the time you push it out the door.

Many developers needlessly use versions of software that are not part of the standard OS.

I see this problem mostly with PHP. Red Hat does not upgrade its version of PHP. As a result, RHEL 5 still uses PHP 5.1 while PHP 5.3 is the latest. So when the development team wraps up their work and gets ready to put it into production, your server management team has to do extra work.

Building custom versions of software is not hard, but it does increase management costs, time and can limit scalability.

When possible, developers should consider using standardized versions of programs that come with the operating systems. This can lower total cost of management, assure vendor support, and allow security updates to be delivered quickly.

Creativity vs. Standardization
While I’ve met many creative sysadmins, I find most of the time we are pushing for standardization.

By working on system operations daily, you become very familiar with standard approaches. These may not be even well documented in the industry or formerly taught in any class. They are simply ways you annotate configuration files, places you put certain types of data, and other server management techniques that are widely used. This standardization makes it easy for multiple system administrators work on a server with little to no documentations.

Web developers often lack the experience to know the accepted standards. As a result, you may end up with “odd” deployment scenarios which can complicate management.

Web programmers have a very different task than system administrators. They often start with nothing and have to build an application. This requires creativity, trial and error, and attention to details. While application frameworks may lend some structure, there are often many ways to do the same thing.

With server management tasks, you can often do things many different ways, but there are accepted ways to approach things. If you are not managing servers daily, then you may not know these hidden rules just as I would not know the accepted conventions for writing a database connection in PHP.

If you let your web developers creativity spill over into your operations, you may discover problems when you go to scale up your project, your have staff changes, or new server software versions arrive.

By standardizing operations, you can more easily find help to manage your systems.

What’s your Take?
While I can read through the PHP or Ruby manuals and write a program, I know I would make a terrible programmer. I simply don’t do the job daily. As a result, I am sure I could get the program to work but it would likely drive a web developer crazy.

I would love to hear from web developers and system administrators alike, but I do have one question:

Why do system administrators make terrible web developers?

Bookmark and Share

Comments

Nick Anderson commented on Why Your Web Developers Should Not Manage Servers

Nick Anderson · 04/16/2010 09:54 am

I tend to agree with your statements. It’s been my experience in the past when working with Developers that the point of view of a Developer and the point of view of a SysAdmin are quite disparate. I’ve been following the devops discussions and while I agree with the main principals I hate the term “devops”. I haven’t quite pinpointed what I don’t like about it but it just doesn’t feel like the right terminology. I’m not even sure it needs a name, none of this is new. People and technologies are ever evolving. SysAdmins learning to understand Developers challenges, and Developers learning to understand management challenges shouldn’t be a “movement” but common sense in working with other people. The same goes for cross pollination of tools and working styles.

Andrew Gill commented on Why Your Web Developers Should Not Manage Servers

Andrew Gill · 04/16/2010 10:19 am

I’m a web developer and i agree! I wouldn’t even try to do any sysadmin work on a production server. I’ve messed around with dev servers and made a real mess of it.

Andy
Linkstream.co.uk - SEO Web App

will pink commented on Why Your Web Developers Should Not Manage Servers

will pink · 04/16/2010 10:25 am

In the case of Ruby dev’s I have seen a great demonstration of skills in system administration, I put this down to some web developers not having the resources to employ a sysadmin and having to do it themselves in the past. Developers are usually a very intelligent bunch who I find who love tinkering with code or systems and educating themselves.

bryanl commented on Why Your Web Developers Should Not Manage Servers

bryanl · 04/16/2010 11:01 am

I really enjoy developers who come into their jobs as a graduation from devops/sysadmin work.  I think the knowledge of how things really work goes far in allowing you to create solutions that take full advantage of the OS/Hardware.

Jeff H. commented on Why Your Web Developers Should Not Manage Servers

Jeff H. · 04/16/2010 12:18 pm

Will Pink:
I don’t doubt that developers have the skill or intelligence. I think many simply lack the experience.  You really don’t want to be “tinkering” with productions systems, especially if the environment is a complex one.

Eric Lubow commented on Why Your Web Developers Should Not Manage Servers

Eric Lubow · 04/19/2010 12:31 am

I definitely fall into this category.  I am a SysAdmin by trade but program because it’s necessary.  I know Perl, Python, and Ruby and use each when it makes sense to. The best programming I do anymore is to automate systems tasks.

I think this is because I spent the majority of my time learning systems while developers spent their time learning programming practices, techniques, and algorithms.  As Jeff H. said, I think it comes down to experience.

Alex Deva commented on Why Your Web Developers Should Not Manage Servers

Alex Deva · 05/02/2010 02:28 am

In my opinion, sysadmins typically make for poor webdevs because they’re task-oriented, not project-oriented. I’m a webdev myself (on the ruby side of the flame war) and I work with high-grade sysadmins. The responsabilities are pretty sharply delimited and we like it that way.

I used to be a sysadmin too (back in the days of RH4, 5) and I know that the job requires a well-defined skill set, many of which cannot be aquired by mere learning and practice. I suppose the same is true for devs, this being why I switched sides.

Add Comment

Notify me of comments?

SUBSCRIBE

The rackAID Small Business IT blog provides information for a wide range of internet focused IT needs - Web Hosting, Data Backups, Server Security, System Management, and Troubleshooting.

rackAID Server Management Blog RSS Feed Follow rackAID Server Management on Twitter I Like rackAID's Server Help Contact rackAID about IT Support

Let your web development team get back to coding. Hire us to manage your server.

Find Out More

Sort By