True. While many programmers seem to think they can also do server stuff, as a 15 year veteran "server guy", I can say that I've rarely, if ever, seen a programmer who makes a good server guy. The things you need to focus on are just too different.
Programmers tend to focus on the very small details and seem to only look at the short term question of "if something is possible to accomplish". A server guy needs to think about the big-picture, with a focus on not only if something is possible, but the impact of a particular approach on the rest of the infrastructure and the long-term maintenance cost of any given action.
The contrast that you describe between the state of spirit of sysadmins vs. programmers seems to mean that programmers do not need to consider impact on the rest of the architecture and the long-term maintenance cost of any given code change.
The programmer you are describing are a kind of programmer who makes lousy programs. I've read enough of those programs to say: they are not pretty -- they do not work well in large scale -- and they cost a LOT.
I am developer (about 12 years of commercial experience, more than 20 years of total experience). I was tech-lead of admin team on last big project for about 3 years.
I can administrate servers (about 9 years of commercial experience, about 20 years of total experience with UNIX administration, starting from school), but I hate that. My choice is to create copy of the server, then make changes and write them down, then test them on the copy, then apply verified solution to production server (see http://vlisivka.pp.ua/en/modern_administration , sorry for my English).
I even implemented my own run-book automation tool, which reads documentation and then executes steps in automatic or semi-automatic mode (I prefer Documentative Programming style).
I often prefer to develop script or RPM package to make change to the system instead of making changes by hands.
Comments
True. While many programmers seem to think they can also do server stuff, as a 15 year veteran "server guy", I can say that I've rarely, if ever, seen a programmer who makes a good server guy. The things you need to focus on are just too different.
Programmers tend to focus on the very small details and seem to only look at the short term question of "if something is possible to accomplish". A server guy needs to think about the big-picture, with a focus on not only if something is possible, but the impact of a particular approach on the rest of the infrastructure and the long-term maintenance cost of any given action.
The contrast that you describe between the state of spirit of sysadmins vs. programmers seems to mean that programmers do not need to consider impact on the rest of the architecture and the long-term maintenance cost of any given code change.
The programmer you are describing are a kind of programmer who makes lousy programs. I've read enough of those programs to say: they are not pretty -- they do not work well in large scale -- and they cost a LOT.
I am developer (about 12 years of commercial experience, more than 20 years of total experience). I was tech-lead of admin team on last big project for about 3 years.
I can administrate servers (about 9 years of commercial experience, about 20 years of total experience with UNIX administration, starting from school), but I hate that. My choice is to create copy of the server, then make changes and write them down, then test them on the copy, then apply verified solution to production server (see http://vlisivka.pp.ua/en/modern_administration , sorry for my English).
I even implemented my own run-book automation tool, which reads documentation and then executes steps in automatic or semi-automatic mode (I prefer Documentative Programming style).
I often prefer to develop script or RPM package to make change to the system instead of making changes by hands.