Hey Reco,
I want to verify couple things to make sure we do understand couple basics.
What certifies a sysadmin? is there any requirement else then knowledge
and experience? is there an alternative to understanding the
fundamentals of computers?
And I would try to clear the question in couple directions.
Leaving debian, ubuntu, redhat, ms and all the others aside for a sec,
what a company expects from a sysadmin is not to be programmer.
System administrator is required to know the fundamentals of the
machinery and software he operates.
It would not be sane for any company to take a janitor or a plumber to
handle their IT infrastructure, but, and couple of them:
- What if a plumber could operate an IT infrastructure or even a single
system? why not? because his title is a plumber?
- What if a sysadmin took the exams and have the background and
knowledge in IT and other areas but keeps taking the wrong turns?
- Why by definition a sysadmin should be a programmer?
- Why are there so many IT systems that requires the admin to know so
many things?
I would not imagine what would happen to a company that builds
microwaves or AC that requires the user\operator to know a shelf of
handbooks just to touch the power button.
In reality there are devices which requires background and understanding
but this is what many companies are trying is to prevent.
There are many companies that builds products that by definition require
to fit a non-programmer operator.
There are a lot of products which are designed to give the sysadmin a
product he can simply use and operate.
A sysadmin is not a debugger, QA tester or a programmer!!!
The basic task of a sysadmin is to take a piece of computerized
machinery and operate it.
It is not a common sense that a sysadmin would be required to know the
internals of the system he operates in the programming level.
The industry in general do tend to create products that passed a proper
QA and was designed for simple operation.
This is how it was for many years and many still do their best in it.
But there are products in the industry which are built in the wrong
way(which might still fit some clients)
I would not argue that there are products which requires more knowledge
and more background and experience due to their complexity.
I argue that a sysadmin is not an engineer and they are both not
programmers by definition while in some cases these roles will require
them to have a really good programming background and experience.
I have heard more then once something like "CISCO and MS are the worst"
or something similar but in in their products they do separate the role
of the operations admin and operations engineer from the software
architect and implementer as a part of their idea of a product.
There is a good reason for that!
It is a fact that the RHEV product doesn't require the sysadmin to know
how to program in C to operate the system.
If some company requires their sysadmin to know C programming to operate
this kind of a system it's their decision, it doesn't make it a
requirement for the definition of the job.
And yes it really helps the employer to have a sysadmin that knows how
to debug and program in C when they have troubles but it is a bad
practice to operate IT systems this way.
There is a big difference between software operations engineer to a
software design engineer, and while it is very common to confuse between
them it is a fact that these are two different roles.
Helpdesk should basically just cover on the gap of knowledge that the
end user have for software basic operation, if you call it drone it
doesn't change the role definition.
I think that sometimes for a linux sysadmin the difference between an
operator role to a programmer one is being lost due to non other then
bad industry habits.
It is a very very bad habit to create products that your commitment to
the perfection of the product tend to be low.
I think that a computerized system administrator role is one while a
Linux\unix system administrator can be under this category.
Once you switch off the assumption that all computerized systems are
Linux alike and also switch off the assumption that a product should not
be simple to operate and config you might see that a basic understanding
of programming doesn't mean that it is a requirement for daily operations.
And I will finish with a question:
Why companies wants their sysadmin to know c\c++\java\ruby\python\others
? Why IT roles in many cases have a requirement that tends to stretch
the employee to extreme knowledge?
I will not answer that and will leave you to maybe answer that, but I
will add that a Cisco network engineer is not required to know C but to
just learn how to program a Cisco device using a shell, and by the way
it is the same for traffic lights systems, as an operator and engineer
you are not required to know C.
All The Bests,
Eliezer
On 29/09/2015 20:38, Reco wrote:
On Tue, Sep 29, 2015 at 07:03:57PM +0300, Eliezer Croitoru wrote:
+1
* And if indeed the basic requirement from a system operator would be "a
programmer" then it would suck to be a sysadmin for many.
-1.
Being a sysadmin requires task automation (among other things), and
that inevitably boils down to some programming skills at least.
Inability to grasp basics of programming can produce only a helpdesk
drone, not a real specialist.
Reco