tags:

views:

387

answers:

4

This is a mirror-image of this question here: http://serverfault.com/questions/4176/what-sysadmin-things-should-every-programmer-know

The original was posted by Nathan DeWitt. Credit should go to him. If you have a serverfault account, please visit his original question and bump it to show appreciation for this inquiry.

To paraphrase Nathan:

As a SysAdmin, we tend to take programmers for granted. The few times I've been without a good programmer have really made me appreciate what you guys do. When we're venturing into an environment without a programmer, what words of wisdom can you offer us?

+3  A: 

I would argue that a system administrator is a kind of programmer. So they should be able to think about programming; use scripting languages effectively, and write clear, well documented programs in them; have some understanding of how a programming project works.

Ideally, they should read up on agile methods, because quick development of small, changeable programs is the usual world they live in. They should understand testing, and if they use a modern scripting language, they should understand unit testing tools, some variant of xUnit.

Charlie Martin
+1 for a mention of scripting, the admin's Swiss army knife of choice.
Avery Payne
+6  A: 

Programmers need access to internet resources (such as StackOverflow). Don't block our access kthnx.

rein
+2  A: 

Perl.

Definitely.

Fortyrunner
Agreed. I used to use Perl all the time when I ran a small gaming community.
Charlie Somerville
+3  A: 

Sysadmins should know stuff that improves their efficiency.

That includes every feature of the shell they are working in (bash is pretty popular these days). There are many very usefull things in the manual that are worth looking into (from keyboard shortcuts through arrays to regexp).

It is very sad to see a junior sysadmin trying to manually log into 200 servers and switch a line in some file in /etc

If I would recriut an admin, I would demand an advanced (but not expert) knowledge of a programming language. It is not important what language is it, as He can easily switch to something else, but if he hasn't ever coded anything, he will not know how much (precious) time he is wasting manually doing things that can be done with a few lines of code.

Admins tend to like bash, php, python, awk and perl. Any of them will at least tripple their productivity on repetitive tasks.

On the other hand, coders should know httpd and loadbalancer's configuration or they will reinvent the wheel.

Reef
+1 for scripting (automation) reference.
Avery Payne