No subject
Thu Apr 19 13:57:37 EDT 2007
they rely on maintenance contracts for most problems above & beyond. But an organization that has SA's this knowlegeable should endeavor to retain them.
Gene L. Huft
City Of Seattle Public Utilities IT
---
From: Chris Hoogendyk [choogend at library.umass.edu]
Sent: Tuesday, March 19, 2002 9:37 AM
To: Lumpkin, Buddy
Subject: Re: Opinions Needed: How important is an understanding of C Programmi ngand Internals to a UNIX System Admin?
my gut reaction would be, "No, there are many other more important areas."
however, there is always an exception, and it would depend on the
particular situation. if a company were a VAR assembling systems for
customers that would integrate with exotic devices, then that could be important.
it certainly helps for a sysadmin to have programming background and
skills. knowing C helps in troubleshooting software builds, even when
the sysadmin is not writing any of the software.
personally, I have yet to find a real use for C, although that could be
because I'm dealing with lots of software configurations and setup that
are available from sunfreeware and builds I have had to do from scratch
have gone pretty smoothly.
what is absolutely essential for me are the unix tools and utilities
like grep, sed, awk, shell scripting, and occasionally perl. knowledge
about the applications I'm running is important (Apache, Samba, EZProxy,
etc). security issues are an ongoing and important area that requires a
constant expenditure of effort. disaster recovery is an important topic.
I suppose it also depends on the size of a systems group and whether
they can specialize beyond the generic sysadmin.
Ultimately, if a sysadmin wants training, and wants the company to pay
for it, then they should be prepared to translate the skills into
specific tasks and responsibilities that will be enabled -- "you've
asked me to do ..... that requires ..... with this training I can do
.....", and then be prepared to deliver.
---------------
Chris Hoogendyk
--
O__ ---- Network Specialist & Unix Systems Administrator
c/ /'_ --- Library Information Systems & Technology Services
(*) \(*) -- W.E.B. Du Bois Library
~~~~~~~~~~ - University of Massachusetts, Amherst
<choogend at library.umass.edu>
---------------
From: Jim Winkle [jwinkle at doit.wisc.edu]
Sent: Tuesday, March 19, 2002 9:07 AM
To: Lumpkin, Buddy
Subject: Re: Opinions Needed: How important is an understanding of C Programmi ng and Internals to a UNIX System Admin?
Hi Buddy --
Depends on what the sysadmin will be doing. Without knowing that, I'd
say it's more important to know Perl than C.
--
Jim Winkle, UNIX System Administrator, UW-Madison, DoIT. Contact info:
BioComp: help at biocomp.doit.wisc.edu http://www-biocomp.doit.wisc.edu/
Other: jwinkle at doit.wisc.edu http://jwinkle.doit.wisc.edu/
Or use 264-HELP for help with services, 262-9507 to reach me directly.
--------------------------------------------------------------------------------
On Mon, 18 Mar 2002, Lumpkin, Buddy wrote:
---
From: Bill_Royds at pch.gc.ca
Sent: Tuesday, March 19, 2002 9:04 AM
To: Lumpkin, Buddy
Subject: C Programming understanding to UNIX sysadmin
I think that one needs to know how computers operate (what a stack is,
what a process entails etc.) and because of that, how a programming
language works. C is the most important programming language on Unix, so
it is unlikely that one would understand UNIX without at least
understanding the C paradigm (what include files are, what is a structure,
pointer, subroutine etc.) and being able to read C code to understand what
a utility is doing.
This does not mean that you have to be able to create C programs from
scratch and be an expert C program creator.
But you should be able to understand Man sections 3 and 4 easily.
---
Bill Royds
Acting System Administrator,
Canadian Heritage Information Network
Virtual Museum of Canada http://www.virtualmuseum.ca
(819) 994-1200 X 239
From: Brian Dunbar [Brian.Dunbar at Plexus.com]
Sent: Tuesday, March 19, 2002 8:20 AM
To: Lumpkin, Buddy
Subject: RE: Opinions Needed: How important is an understanding of C Progr ammi ng and Internals to a UNIX System Admin?
It is relevant for a sysadmin to know C, UNIX internals - not sure about the
device drivers. IMHO - yes the 'company' should pay for this - but this may
not always be an option. If the company wants to keep their sys admins
around forever, they will <grin>.
Standard arguements for it - "everything" important in UNIX is written in C,
you'll be a better admin for knowing "why" things happen as opposed to a
button pushing monkey. Note that 99% of the time you WON'T need the
knowledge. But that 1% of the time you DO need you'll really need it bad.
I don't know C, Internals or device drivers yet. Once upon a time I was a
dBase/Clipper code monkey - then after being a bad programmer I became a
better LAN / Network Administrator. But I was a *better* admin for knowing
how those flaky damn dBase/Clipper* apps worked when they fubared and I was
the only IT guy around.
Brian Dunbar
*dBase/Clipper - I was enlisted in the Marines from 1985 - 1993. For a long
time it seemed like the "answer" to every problem was to write a dBase III
app for it, extended into an .exe via Clipper. I even wrote a little
utility prog in Clipper to examine the logs from our Banyan Vines servers,
much to my shame. The point being - everyone had clipper apps for stuff
that could have been dumped into a spreadsheet - and they were RAM hogs.
---
From: Edward Scown [eascown3 at yahoo.com]
Sent: Tuesday, March 19, 2002 7:56 AM
To: Lumpkin, Buddy
Subject: Re: Opinions Needed: How important is an understanding of C Programmi ng and Internals to a UNIX System Admin?
For starters, unix IS a C/C++ program -- at least it's collection of them
working in concert --- think about THAT as you ask yourself your question
again. It's not absolutely necessary to have c/c++ programming skills, but
those skills come in handy when you need to compile a software
package. Generally, writing device drivers is the job of a developer or
vendor, and not necessarily the administrator. In having good C/C++ skills,
you will be a better administrator. Whether or no you choose to get some C/C++
programming skills, LEARN HOW TO SCRIPT. Pick a shell -- sh, ksh, bash, and
learn to SCRIPT --- learn sed awk and grep! Learn PERL --- Oh yeah, all the
shells, sed,awk, and PERL are C programs... So ... while having C programming
skills is not necessary, they truly help... ditto on the internals.
Edward
---
---
From: Kevin Buterbaugh [Kevin.Buterbaugh at lifeway.com]
Sent: Tuesday, March 19, 2002 7:53 AM
To: Lumpkin, Buddy
Subject: Re: Opinions Needed: How important is an understanding of C Programmi ng and Internals to a UNIX System Admin?
Buddy,
Let me begin my answer by stating that I personally: 1) know how to
program in C, 2) have at least a basic understanding of Unix Internals
(I've read (and most understand) both "Unix Internals" by Vahalia and
"Solaris Internals" by Mauro / McDougall), and 3) would have no clue how to
write a device driver.
Having said that, my 2 cents worth is that none of those 3 skills are
a requirement to be a successful Unix administrator. I'm one of 2
SysAdmin's here, and the other one has none of those 3 skills. He is still
a very talented system administrator.
Just as one does not need to know Hebrew / Greek to understand the
Bible, one does not have to know C / Unix internals to understand Unix
system administration. I think it is advantageous to a Unix admin to know
C and have at least a basic understanding of Unix internals. I see no
reason for the typical SysAdmin to need to know how to write a device
driver, however.
As far as paying to train a SysAdmin in those areas ... I'd maybe pay
for a C programming class (but personally, I consider shell / Perl
programming to be a more important skill for a SysAdmin). Once an admin
knows C, they should be able to pick up either of the aforementioned
Internals books and learn what they need to know from them.
Of course, all of this is just my 2 cents worth...
Kevin Buterbaugh
LifeWay
"Failure is not an option. It's a standard feature of every Micro$oft
product..."
Sent by: sunmanagers-admin at sunmanagers.org
To: sunmanagers at sunmanagers.org
cc:
Subject: Opinions Needed: How important is an understanding of C
Programmi ng and Internals to a UNIX System Admin?
---
From: Andrew J Caines [Andrew.J.Caines at wcom.com]
Sent: Tuesday, March 19, 2002 7:47 AM
To: Lumpkin, Buddy
Subject: Re: Opinions Needed: How important is an understanding of C Programmi ng and Internals to a UNIX System Admin?
Buddy,
> Specifically, im interested in any opinions for or against, whether a UNIX
> System Administrator should learn C, UNIX internals and writing device
> drivers (once they are fluent in the two topics mentioned prior).
As a unix sysadmin of eight years who lives and breathes unix at home and
work; builds, packages and/or installs software on an almost weekly basis,
I can say that not only do I not know C (or C++ or Java or Pascal or...)
nor do I expect to do so.
Part of this is the increasing quality of software packaging and build
environments. You don't need to know C to run "configure && make && make
install" or pkgadd or rpm or whatever.
If I was responsible for supporting C coders, however, then I am sure that
knowledge of C would be valuable.
> is it relevant for a company to pay $$ to train UNIX System Administrators
> in these areas.
If it provides specific value to the position, then it should be
considered. If C knowledge is really required (an not just written on the
job ad, as it often is), then training may be necessary.
I think there are many more valuable ways to spend $$ on training and
informing your sysadmin than training them as a programmer.
-Andrew-
--
________________________________________________________________
| -Andrew J. Caines- 703-886-2689 Andrew.J.Caines at wcom.com |
| Unix Systems Engineer, WorldCom Andrew.J.Caines+page at wcom.com |
From: dana at dtn.com
Sent: Tuesday, March 19, 2002 7:45 AM
To: Lumpkin, Buddy
Subject: Re: Opinions Needed: How important is an understanding of C Programmi ng and Internals to a UNIX System Admin?
It is important as a career progression step, if you ever want to proceed
beyond intermediate level sys admin you need it.
I would think it would be up to the sys adm in to get the training, a
couple of classes from your local community college should be enough (your
employer should of course allow this to be reimbursed if such a program is
in place).
Dan
"Lumpkin, Buddy"
<Buddy.Lumpkin at nordstro To: sunmanagers at sunmanagers.org
m.com> cc:
Sent by: Subject: Opinions Needed: How important is an
sunmanagers-admin at sunma understanding of C Programmi ng and Internals to
nagers.org a UNIX System Admin?
03/18/02 06:41 PM
---
From: Thomas_J_Jones at eFunds.Com
Sent: Tuesday, March 19, 2002 7:25 AM
To: Lumpkin, Buddy
Subject: Re: Opinions Needed: How important is an understanding of C Programmi ng and Internals to a UNIX System Admin?
Please don't take this as fact,, it's just my opinions gathered over the
last few years.
While it is not as important for an admin to know C as it once was, not all
that long ago, it will help give them that "deeper understanding" which
will improve their ability to diagnose and solve system problems. Learning
UNIX internals can build on this directly. It does not, however, seem as
important that an admin be able to write device drivers as it once was,
since interfaces are more standardized than in the past and most
manufacturers include their device drivers with their peripherals.
Of course, any company that pays their admins to learn these skills wil
benefit from it as mentioned above, however, most can't be bothered with
another expense. If you can talk your employer into it, congratulations!
TJ
---
From: Mike's List [mikelist at sky.net]
Sent: Tuesday, March 19, 2002 6:59 AM
To: Lumpkin, Buddy
Subject: Re: Opinions Needed: How important is an understanding of C Programmi ng and Internals to a UNIX System Admin?
As a system administrator you do not need to know/understands C
programming, although it will help. You do need to know basic scripting
(shell scripting) as an administrator. So to answer your question
directly, no the company should not put out the money for a system
administrator to learn C, Unix internals, or writing device drivers.
The above are all for programmers/developers not system administrator.
- Mike
---
>
From: Tim Chipman [chipman at ecopiabio.com]
Sent: Tuesday, March 19, 2002 6:57 AM
To: Lumpkin, Buddy
Subject: Re: Opinions Needed: How important is an understanding of CProgrammi ng and Internals to a UNIX System Admin?
Unless your sysadmin work is desperately idle and you have nothing to do, AND you have an interest in learning C, "just for fun", then ... IMHO, learning C, programming skills & internals has very little to do with
system administration skillset.
Certainly, (unless said Co. has much $$ to burn) I wouldn't expect sysadmins to be trained in pay-$$ courses about programming.
Possibly sysadmins should be "trained" in perl / csh / shell scripting .. officially or unofficially ... ? plus of course be given a significant hunk of "play" time to try out new & relevant stuff that will
revolutionize the universe as we know it :-)
Ultimately, it really depends on what your site is doing I guess. If the "sysadmin" is the sole IT employee also wearing the hat of programmer, web developer, etc etc .. then "maybe" it makes sense?
:-)
just my 2 cents,
--Tim Chipman
"Lumpkin, Buddy" wrote:
> Hello All,
>
> I found myself discussing the importance of C Programming skills and internals with a colleague today..
>
> Specifically, im interested in any opinions for or against, whether a UNIX System Administrator should learn C, UNIX internals and writing device drivers (once they are fluent in the two topics mentioned prior).
>
> even more specifically, is it relevant for a company to pay $$ to train UNIX System Administrators in these areas.
>
> I'll leave my own opinions aside in an attempt to not color any answers.
>
> Any opinions at all are very much appreciated; I will Summarize.
>
> Thanks in advance,
>
> --Buddy
> _______________________________________________
> sunmanagers mailing list
> sunmanagers at sunmanagers.org
> http://www.sunmanagers.org/mailman/listinfo/sunmanagers
From: boss [boss at I-Sphere.COM]
Sent: Tuesday, March 19, 2002 6:56 AM
To: Buddy.Lumpkin at nordstrom.com
Subject: Re: Opinions Needed: How important is an understanding of C
Eh, i was a fairly competent sysadmin without any real knowledge of any
of those topics. Its far more important to know perl, shell, sed, awk,
etc as programming languages, and to know network theory.
Unless you're working in something like a commercial development environment,
looking for ways to tweak the kernel to make a package run faster or
something. Most sysadmins are just trying to keep the boxes running for
their users :-)
boss
---
From: Andrew_Rotramel/CCHLIS at cch-lis.com
Sent: Tuesday, March 19, 2002 6:48 AM
To: Lumpkin, Buddy
Subject: Re: Opinions Needed: How important is an understanding of C Programmi ng and Internals to a UNIX System Admin?
I have been a Solaris admin for about four years. I took a semester in C a
year or so ago. I did fine without knowing anything about programming, but
knowing a smidgen of programming helps me with scripting (which after all
is just programming). I took a class in internals a year ago and it has
helped tremendously. Here is my opinion
C = nice to have, but not essential
Unix internals = essential if you want to do more than partition, share,
set up users, etc. If you want to administer a computer rather than just
operate it, you need to know how it works and what changes you can make in
a given situation
writing device drivers = I have not the faintest idea how to do this, and
don't know that I will ever need to do it. I have worked for Exxon and now
I work for a document sharing company. In each case we used off-the-shelf
components. If the vendor expects us to give them money, they damn well
better provide the drivers needed for Solaris to use their hardware.
Andrew
---
From: Harrington, David B (Contractor) [dharrington at dscr.dla.mil]
Sent: Tuesday, March 19, 2002 6:37 AM
To: 'Lumpkin, Buddy'
Subject: RE: Opinions Needed: How important is an understanding of C Progr ammi ng and Internals to a UNIX System Admin?
Buddy;
My $.02 = It depends.
I have seen some entries here on this listservice for help in writing drivers, but must of the time, it appears to be for people who found some orphan piece of equipment and were trying to resurrect it from the trash heap.
Obviously, skill in writing drivers is appropriate for manufacturers and for some service companies, but I don't see it at the 'user level', which is where I would put most SA's.
Is C language appropriate? - maybe at a basic level, but the nature of the enterprise is an issue here. Knowing something about C is good, but the depth of the knowledge required is subject to debate.
Is knowledge of UNIX Internals appropriate? I have a problem with interpreting what you mean by internals.
That being said, I guess my answer is basic C, Yes. The others? Make a case in dollars and cents, and efficiency.
Dave Harrington
---
From: Ray Ballisti [ballisti at ifh.ee.ethz.ch]
Sent: Tuesday, March 19, 2002 6:29 AM
To: Lumpkin, Buddy
Subject: Re: Opinions Needed: How important is an understanding of CProgrammi ng and Internals to a UNIX System Admin?
"Lumpkin, Buddy" wrote:
...
>
> I found myself discussing the importance of C Programming skills and internals with a colleague today..
Hello Buddy
I have sometime a bad feeling, but I am not fluent in C
because I never have to use it, beside some small
adjustment of some existing programs.
My work as a System Manager require more scripts
then C programming. I still do all with the
Bourne shell, and you can do quite well with it!!
I never had to write device drivers. I am working
as System Manager since 1986 when we got our first
three SUN Workstations.
This does not means that you should not have any idea
of C or FORTRAN or Perl; everything can be useful!
Bye Ray
--
From: Christopher L. Barnard [cbar44 at tsg.cbot.com]
Sent: Tuesday, March 19, 2002 6:27 AM
To: Lumpkin, Buddy
Subject: Re: Opinions Needed: How important is an understanding of C Programmi ng and Internals to a UNIX System Admin?
I got my master's degree in Computer Science and did a *lot* of coding
in C. I then became a unix sysadmin. That was seven years ago. The
only time between then an now that I have needed my C coding experience
was to write
main(){return(0);}
to test the license managers for the C compilers. So in my case:
totally, absolutely, positively not needed at all. perl, csh, ksh, etc.
is more than enough.
+-----------------------------------------------------------------------+
| Christopher L. Barnard O When I was a boy I was told that |
| cbarnard at tsg.cbot.com / \ anybody could become president. |
| (312) 347-4901 O---O Now I'm beginning to believe it. |
| http://www.cs.uchicago.edu/~cbarnard --Clarence Darrow |
+----------PGP public key available via finger or PGP keyserver---------+
---
From: Jeff Kennedy [jlkennedy at amcc.com]
Sent: Tuesday, March 19, 2002 6:12 AM
To: Lumpkin Buddy
Subject: Re: Opinions Needed: How important is an understanding of CProgrammi ng and Internals to a UNIX System Admin?
I don't think C should be a requirement for System Administration; after
all, that's what a programmer does. An SA *does*, however, need to know
whatever is needed to fulfill his duties; whether that be shell
scripting or perl or something else.
Writing device drivers is an occupation all on it's own. Expecting SA's
to do this show's some ignorance towards the duties and functions of a
systems administrator.
As for paying to train an SA to do this, chances are it's waste of
time. Generally an SA enjoys what they do, which does not include
programming. If they wanted to program they would have been a
programmer after all. And spending the amount of time for an SA to
learn these things is time better spent learning or honing the skills an
SA needs to do his actual job.
Of course, just my opinion.
~JK
---
From: Allan West [allan at clas.ufl.edu]
Sent: Tuesday, March 19, 2002 6:09 AM
To: Lumpkin, Buddy
Subject: Re: Opinions Needed: How important is an understanding of C Programmi ng and Internals to a UNIX System Admin?
I would say that C is important since there will always be a few tweaks needed
in compiling and an understanding of C makes that much easier. I also think
understanding unix internals is useful, though slightly less so, as a means of
knowing where to check for performance tweaking and troubleshooting.
I have never written a device driver, nor do I expect to do so any time soon.
I would love to know how, so that I could use various USB devices with my
SunRays. It's a _very_low_ priority, though, since device drivers have never
stood between me and getting work done. This would probably be different if I
used an under-development environment like Linux instead of the more stable
Solaris and AIX.
Allan
---
From: system administration account [sysadmin at astro.su.se]
Sent: Tuesday, March 19, 2002 6:06 AM
To: Lumpkin, Buddy
Subject: Re: Opinions Needed: How important is an understanding of C Programmi ng and Internals to a UNIX System Admin?
On 2002-03-18 17:41:43 -0700, Lumpkin, Buddy wrote:
> Specifically, im interested in any opinions for or against, whether a
> UNIX System Administrator should learn C, UNIX internals and writing
> device drivers (once they are fluent in the two topics mentioned prior).
In my view, a reading knowledge of C is absolutely essential.
Familiarity with the system API (at least to the extent of knowing how
to look up the details in the man pages) is perhaps even more important,
although it's probably enough to know how to use it from Perl rather
than C. (That doesn't make much of a difference in practice.)
Writing device drivers, on the other hand, I don't think of as a system
administration skill. A system administrator may occasionally need to
*read* the source code to a device driver (especially in the Linux/*BSD
world), but writing one from scratch is a different story. The typical
use of reading the source code is for documentation purposes ("what does
that error message really mean?", "how do I use that ioctl?").
An understanding of UNIX internals certainly doesn't hurt when one's
job duties include system tuning and troubleshooting.
> even more specifically, is it relevant for a company to pay $$ to train
> UNIX System Administrators in these areas.
I'm agnostic on that one. Ask the system administrators' trade union.
(Also, I have a hunch that the answer will depend on the size of the
company. In small places, the system administrator needs to be more of
a jack-of-all-trades. In larger ones, there may be room for both
operators and site analysts.)
From: William Enestvedt [Will.Enestvedt at jwu.edu]
Sent: Tuesday, March 19, 2002 5:47 AM
To: 'Lumpkin, Buddy'
Subject: RE: Opinions Needed: How important is an understanding of C Progr ammi ng and Internals to a UNIX System Admin?
Erm, I don't have any programming experience besides shell scripting and
some Perl -- and while I'd *love* it as background, it hasn't kept me from
getting things done.
Sure, it'd be nice to know, and probably very valuable as a
trouble-shooting aid, but an admin's job is to keep the system running, and
lack of programming skills shouldn't be a show-stopper. (I will readily
admit that being able to puzzle out device drivers and C programs is useful
both for the upkeep of old hardware and for fighting off the script
kiddies.)
>
> even more specifically, is it relevant for a company to pay
> $$ to train UNIX System Administrators in these areas.
>
Yes: again, it shouldn't prevent a hire, but any company really ought to
consider broadening its employee's skills in this way.
-wde
--
Will Enestvedt
UNIX System Administrator
Johnson & Wales University -- Providence, RI
From: Eric Priebe [epriebe at ACUS.com]
Sent: Tuesday, March 19, 2002 5:41 AM
To: Buddy.Lumpkin at nordstrom.com
Subject: sysadmins knowing how to program
I think that one needs to be carefull about seperating
'good programming skills' with 'C' programming skills'.
To me, good programming skills means someone is able to
think logically through a problem, plan a course of action
and record what they did so that the next person can see what
was done. Those skills are necessary for good sysadmins.
The ability to know the 'C' syntax , or the difference between
a function and a subroutine are almost useless in most
sysadmins lifetimes.
With that said, I do think that a sysadmin MUST know how to
program in shell.
Yes, I've spent 10+ years programming in different languages,
and also 10+ years doing sys/database/network admin...
HTH, Eric Priebe
From: Place, Richard [rplace at uslec.com]
Sent: Tuesday, March 19, 2002 5:15 AM
To: 'Lumpkin, Buddy'
Subject: RE: Opinions Needed: How important is an understanding of C Progr ammi ng and Internals to a UNIX System Admin?
Knowing C would definitely be an added benefit, due to the fact that UNIX is
written in C and that many of the utilities are derivitives of C syntax, but
it really isn't necessary. I've been a SysAdmin for 12 years and the only C
I had was about 10 years ago in a college course as a prerequisite to
another class. UNIX internals on the otherhand would be an added benefit
right from the start, as UNIX is a really complex monster and the more you
can learn about the low level OS the better you'll be able to handle the day
to day problems you can expect to face. It would make it a lot easier to
actually solve the problems vs. putting a band-aid on it. Writing device
drivers would really only be needed if you actually had to write them
yourself for hardware that your company creates. Drivers are readily
available, and come with configuration files that don't require an
understanding of how the driver itself is written.
Hope this helps,
Rick Place
Sr. Unix Systems Administrator
US LEC of North Carolina
---
From: Boldin, Bob [Robert.Boldin at bellsouth.com]
Sent: Tuesday, March 19, 2002 4:48 AM
To: 'Lumpkin, Buddy'
Subject: RE: Opinions Needed: How important is an understanding of C Progr ammi ng and Internals to a UNIX System Admin?
Buddy,
Just my opinion of course - However I think those skills would be beyond the skill set of a Sysadmin and at that point into the realm of a Systems Programmer/Engineer. A Sysadmin should be able to script in native shells / perl in order to automate tasks. They should also be able to
compile from source code in order to add software. If by some means you get compelling information to the contrary and you think you can provide the basis for getting a company to pay $$ for this training I would of course be willing to learn beyond my self-taught 'c' skills.
Looking forward to this Summary:
Robert Boldin: Operations System Admin.
BellSouth Technology Services, Inc.
Internet Delivery and Services Group
Email: Robert.Boldin at bellsouth.com
Voice: 678-969-8544
---
From: Bara Zani [bara_zani at yahoo.com]
Sent: Tuesday, March 19, 2002 4:45 AM
To: Lumpkin, Buddy
Subject: Re: Opinions Needed: How important is an understanding of C Programmi ng and Internals to a UNIX System Admin?
Strange ,
I've mailed the same questiona while back .
most replies said it is the next step in sysadmin but is not neccessary .
I myself have managed ( with the help of this list and google ) to avoid any
C programming .
i do how ever feel i need to learn it .
i think it will take my unix skills to the next level but it does not affect
my preformance and sysadmin functions now .
----- Original Message -----
From: "Lumpkin, Buddy" <Buddy.Lumpkin at nordstrom.com>
To: <sunmanagers at sunmanagers.org>
Sent: Monday, March 18, 2002 7:41 PM
Subject: Opinions Needed: How important is an understanding of C Programmi
ng and Internals to a UNIX System Admin?
---
From: ed.rolison at itc.alstom.com
Sent: Tuesday, March 19, 2002 1:48 AM
To: Buddy.Lumpkin at nordstrom.com
Subject: Re: Opinions Needed: How important is an understanding of C Programmi ng and Internals to a UNIX System Admin?
In my opinion, C programming and unix internals are extremely useful.
(I'm reading unix internals as an understanding of how the kernel works
with C etc).
There have been a number of occasions when I've found being able to write a
few lines of C to accomplish a task,
rather than search for, or grow a huge botch of a shellscript to accomplish
the same task.
This does trace back to 'are programming skills important in a sysadmin'
and FWIW I think that that's a definite yes. You
can get by without writing a shell script, and without writing any C, but
your life is so much easier (and effficient) if you can.
Writing device drivers, I'm not so convinced.
As for getting a company to pay for it, well, I guess that would depend on
the company. It is definitely going to be a benefit to your job,
and so if that's enough for them, then great :)
I've had enough trouble convincing my company to send me on the Solaris
training courses (I'm not entirely convinced I need
them to be fair, but I would rather like to get the Solaris Cert).
---
From: Steve Elliott [se at comp.lancs.ac.uk]
Sent: Tuesday, March 19, 2002 1:07 AM
To: Lumpkin, Buddy
Subject: Re: Opinions Needed: How important is an understanding of C Programmi ng and Internals to a UNIX System Admin?
Erm,
well I've been a sys admin for 12 or so years now.
My C is VERY rusty and very limited.
writing device drivers? ha! no, never had a need for that.
Steve Elliott
---
>
From: Merrell, Vince [IT] [vince.merrell at ssmb.com]
Sent: Monday, March 18, 2002 11:13 PM
To: 'Lumpkin, Buddy'
Subject: RE: Opinions Needed: How important is an understanding of C Progr ammi ng and Internals to a UNIX System Admin?
Hey Buddy,
My personal take on the subject is that if a System Administrator has got
the time to learn C, Unix internals and/or write device drivers then he's
probably not doing a very good job of administering the systems he's looking
after.
Perhaps these are the kind of skills an SA acquires naturally over time but
shouldn't really be the skills a company spends good $$ on making an SA
acquire. After all, being an SA doesn't really suggest an interest/aptitued
towards being a programmer does it?? Therefore, spending $$ to push an SA in
that direction may not pay off at all.
Also, be mindful that you're empowering a person to a new level. Say he/she
*loves* what they learn, they may decide they can double their salary
elsewhere and not need to be an SA no more :)
The deciding factor has to be, whether your site will benefit from
upskilling the SA to these new heights. If so then yeah, go do it. If no, I
don't think there's much benefit from doing it.
Be interested to hear the opinions of others, especially your original
conversation.
Vince
---
From: Gert-Jan Hagenaars [gj at hagenaars.com]
Sent: Monday, March 18, 2002 11:02 PM
To: Lumpkin, Buddy
Subject: Re: Opinions Needed: How important is an understanding of C Programmi ng and Internals to a UNIX System Admin?
Hi,
I've been a unix system administrator for almost ten years, and I've
not had to write a C program in all that time.
Knowing what things _are_ is important though: you should know what
system calls are, what libraries are, and how they are used. You have
to be able to edit Makefiles (see? I'm old school... no ./configure :).
You have to be able to look at source code and understand what's going
on. It helps.
I've trained system administrators with no C programming background, and
they still do their job well. So I would say it is not a necessity.
If a company is willing to train a unix system administrator (and I have
yet to find a company that's willing to train beyond the "oh yeah, sure"
at your interview), send them to usenix or lisa and mingle and get to
know people. _that_'s valuable.
---
CHeers,
Gert-Jan.
--
+++++++++++++ -------- +++++ --- ++ - +0+ + ++ +++ +++++ ++++++++ +++++++++++++
sed '/^[when][coders]/!d G.J.W. Hagenaars -- gj at hagenaars dot com
/^...[discover].$/d Remembering Mike Carty 1968-1994
/^..[real].[code]$/!d UltrixIrixAIXHPUXSunOSLinuxBSD, nothing but nix
' /usr/dict/words I'm Dutch, what's _your_ excuse?
From: Craig Reynolds [craig.reynolds003 at cyf.govt.nz]
Sent: Monday, March 18, 2002 8:08 PM
To: Lumpkin, Buddy
Subject: Re: Opinions Needed: How important is an understanding of C Programmi ngand Internals to a UNIX System Admin?
Once upon a time, it was considered extremely useful. Nowadays, it
seems to be discouraged.
Cheers
Craig
---
-------------------------------
This email message is intended solely for the person or entity to which
it is addressed. The information it contains is confidential and may be
legally privileged. Any review, retransmission, dissemination or other
use of this email may be unlawful. If you are not the intended
recipient, please notify us immediately and destroy the email from all
sources. Thank you.
Child, Youth and Family Service accepts no responsibility for changes made
to this email or to any attachments after transmission from the Office.
------------------------------
From: Vinarsky, Boris [Boris_Vinarsky at maxtor.com]
Sent: Monday, March 18, 2002 6:53 PM
To: 'Lumpkin, Buddy'
Subject: RE: Opinions Needed: How important is an understanding of C Progr ammi ng and Internals to a UNIX System Admin?
It depends on the job functions. 99% of the tasks are pretty routine, and do
not require any advanced skills. However, at some point these skill may
become critical, and make a big difference. Even when you use help of a
technical support it is helpful to understand the subject better.
I use some rudimentary C to build PLI modules for EDS tools for my users,
and use some kernel understanding to tune HP-UX kernel for EDS tools.
Boris Vinarsky
---
From: Thomas Wardman [wardtj at hoser.ca]
Sent: Monday, March 18, 2002 6:53 PM
To: 'Lumpkin, Buddy'
Subject: RE: Opinions Needed: How important is an understanding of C Programmi ng and Internals to a UNIX System Admin?
Buddy,
It would all depend on the tasks that a particular Sysadmin was asked to
perform. In general, a good working knowledge of programming in almost
any language would be valuable. It's not the skill to know a language,
such as C, that is important. The important part is the thought process
in regards to problem solving. Typically, good programming skills will
lead to not bad problem solving abilities. The best employees can
easily learn a new language in a few hours.
The question to ask is, "If I have all these programming skills, why
would I want to do sysadmin, especially since it pays less..." That's
exactly the attitude that many people have. If the person has skills
that enable them to write device drivers, they should be working at some
development company, getting the money they deserve.
Again, it all comes down to scope of the job. At a smaller company,
these skills would probably be more valuable, while at a larger firm or
institution they may not be.
Hope this helps,
Thomas Wardman
@Hoser.ca -- Get it eh?
---
From: Steve Sandau [ssandau at bath.tmac.com]
Sent: Monday, March 18, 2002 6:51 PM
To: Lumpkin, Buddy
Subject: Re: Opinions Needed: How important is an understanding of CProgrammi ng and Internals to a UNIX System Admin?
I find a little knowledge of C to be necessary as an admin, but only
because I compile programs. If I knew C very well, I'm afraid I'd lose
sight of the "big picture" and tend to micro-manage everything by
writing a C program for it. I think shell scripting is much better for
system administration.
If the job entails specialized equipment, being able to write device
drivers might be a real asset. In my case, the company would *never* pay
for a course for me to learn C, no matter what type of administration I
was doing.
I currently administer several Solaris workstations, a dozen or so Linux
boxes, and a few Solaris servers. They run Oracle, Informix, firewalls
and standard Internet services like DNS, mail, http, ntp, etc.
Just my $.02
---
Steve Sandau
ssandau at bath.tmac.com
From: Nicholas Tang [ntang at mail.communityconnect.com]
Sent: Monday, March 18, 2002 6:44 PM
To: Lumpkin, Buddy
Subject: Re: Opinions Needed: How important is an understanding of C Programmi ng and Internals to a UNIX System Admin?
Well, I'll start off with a question: is it ever bad to understand more
about what you're working with?
Having said that, there's a whole lot of sys admin work you can do without
knowing how to program in C and without being incredibly fluent in Unix
internals - but they help. It depends very much on the type of work you're
doing. Are you doing project work, installs or configs and the like? Are
you tuning existing boxes for performance and reliability? Are you auditing
code and/or modifying existing code for the environment and/or situation?
Answers to questions like that really answer your question. In other words:
it depends on the job and the environment. It never hurts, but it's not
usually necessary.
If you need an admin that really can dig down into the nitty gritties of the
system, then having someone with those skills and/or training them in those
skills can be helpful. If not, then it's less helpful, although as I
mentioned, it never hurts.
Nicholas
---
From: Carl Ma [carl_ma at scotiacapital.com]
Sent: Monday, March 18, 2002 6:27 PM
To: Buddy.Lumpkin at nordstrom.com
Subject: Re: Opinions Needed: How important is an understanding of C Programmi ng and Internals to a UNIX System Admin?
When I was in university, our teacher,who taught us operating system, drew a
picture in class - two biases , one is 30 bevel, one is 60 bevel. He said if you
want to reach the same level, with 60 bevel, it can save you a lot of time even
thought the process is more difficult. Programming just likes the 60 bevel, if
you want && LOVE to understand OS better, you should choose this road. You
should follow the way like:
student -> programmer -> senior programmer -> system admin -> architect
I am lucky to have a good teacher when I was young. It has proved that he is
correct even though there are a lot of admins with only 6 month school training,
a lot of misunderstanding of admin's duty.
That is also why I refuse M$. It leads people to 30 bevel and try to fool
people.
Above is my .02 cent opinion. :-)
carl
Btw, this subject is off topic of this list. :-)
:Date: Mon, 18 Mar 2002 17:41:43 -0700
:From: "Lumpkin, Buddy" <Buddy.Lumpkin at nordstrom.com>
:Subject: Opinions Needed: How important is an understanding of C Programmi ng
and Internals to a UNIX System Admin?
:To: sunmanagers at sunmanagers.org
:MIME-version: 1.0
:X-BeenThere: sunmanagers at sunmanagers.org
:Delivered-to: sunmanagers at sunmanagers.org
:X-Original-Date: Mon, 18 Mar 2002 17:41:43 -0700
:X-Mailman-Version: 2.0.8
:List-Post: <mailto:sunmanagers at sunmanagers.org>
:List-Subscribe: <http://www.sunmanagers.org/mailman/listinfo/sunmanagers>,
<mailto:sunmanagers-request at sunmanagers.org?subject=subscribe>
:List-Unsubscribe: <http://www.sunmanagers.org/mailman/listinfo/sunmanagers>,
<mailto:sunmanagers-request at sunmanagers.org?subject=unsubscribe>
:List-Archive: <http://www.sunmanagers.org/pipermail/sunmanagers/>
:List-Help: <mailto:sunmanagers-request at sunmanagers.org?subject=help>
:List-Id: The Sun Managers Mailing List <sunmanagers.sunmanagers.org>
---
From: Christophe Dupre [duprec at scorec.rpi.edu]
Sent: Monday, March 18, 2002 6:15 PM
To: Lumpkin, Buddy
Subject: Re: Opinions Needed: How important is an understanding of C Programmi ng and Internals to a UNIX System Admin?
On Mon, 18 Mar 2002, Lumpkin, Buddy wrote:
> Specifically, im interested in any opinions for or against, whether a
UNIX System Administrator should learn C, UNIX internals and writing
device drivers (once they are fluent in the two topics mentioned prior).
Here's my personnal opinion on this, which parallels what my department is
looking for when hiring SysAdmin staff.
I think knowledge of several programming languages is a must. Bourne Shell
is a very important as it's the lowest common denominator between all
types of Unix. Another scripting language (like Perl or Python) is also a
strong requirement for heavy-duty scripting.
Basic knowledge of C is a big plus, as a sysadmin often has to compile
packages (and find where the problem is if things do not compile). This is
open-source stuff of course, but also commercial programs delivered in
source form (happens a lot for scientific software). Then also, there are
some things that are hard to do in scripts, like special-purpose SUID
programs, where C (or C++) is required.
Unix Internals should also be well understood - how are you supposed to
troubleshoot problems if you don't know what's going on under the hood ?
As for device drivers, general knowledge of how they work is necessary
(but I think that's included in unix internals), but I don't see actual
development of drivers as a requirement - I've never heard of an admin
having to do that in all my years of admining.
> even more specifically, is it relevant for a company to pay $$ to train
UNIX System Administrators in these areas.
Well, that really depends - I wouldn't hire an admin with no programming
experience and no kernel internals knowledge, except in a very junior
position. And then I would expect him to learn from his peers. I don't
believe in any coursework for unix internals - the best information is in
books (so yes, paying for a few good books is worth it). As for
programming, it's easy to pick up C if you have Java or Perl experience.
If the admin has NO programming experience whatsoever, then yes, it's
worth it as a jump-starter (just look up Computer Science 101 at your
local College).
--
Christophe Dupre
System Administrator, Scientific Computation Research Center
Rensselaer Polytechnic Institute
Troy, NY USA
Phone: (518) 276-2578 - Fax: (518) 276-4886
From: Jay Lessert [jayl at accelerant.net]
Sent: Monday, March 18, 2002 5:52 PM
To: Lumpkin, Buddy
Subject: Re: Opinions Needed: How important is an understanding of C Programmi ng and Internals to a UNIX System Admin?
On Mon, Mar 18, 2002 at 05:41:43PM -0700, Lumpkin, Buddy wrote:
[long lines wrapped for readability]
> Specifically, im interested in any opinions for or against, whether a
> UNIX System Administrator should learn C, UNIX internals and writing
> device drivers (once they are fluent in the two topics mentioned
> prior).
IMO, a senior sysadmin should be fluent in C, plus at least one runtime
debugger and one source revision-control package.
You can read section 2 and 3 man pages and understand what they're
saying.
You can read /usr/include/* and understand what *they're* saying.
You can write secure setuid wrappers and other small C programs when
there isn't any other way to do what you need to do.
You can debug and fix open-source software.
You can debug (with truss and a debugger) closed-source software,
increasing your chances of getting a fix or workaround quickly.
Other languages are lovely, but C is mandatory.
Kernel internals, hmmm. Again, for a senior sysadmin, you certainly
need a working knowledge of the high-level architecture of kernel
subsystems: I/O, VM, signals, process scheduling. But detailed
knowledge of particular kernel data structures, etc. would be hard
to justify unless you're running an open-source OS shop, and even
then... But high-level architecture, yes.
Device drivers? Yet a bit more esoteric, unless your shop actually
does custom driver development. In general, I'd rather make sure
a sysadmin knows network protocols.
> even more specifically, is it relevant for a company to pay $$ to
> train UNIX System Administrators in these areas.
You mean budget for a continuing education that includes conference
tutorials, and college/university tuition reimbursement? By all
means. That's pretty much industry standard, isn't it?
What isn't industry standard would be salary for time spent in
class for college/university credit hours.
--
Jay Lessert jay_lessert at accelerant.net
Accelerant Networks Inc. (voice)1.503.439.3461
Beaverton OR, USA (fax)1.503.466-9472
From: Deb [deb at tickleme.llnl.gov]
Sent: Monday, March 18, 2002 5:47 PM
To: Buddy.Lumpkin at nordstrom.com
Subject: Re: Opinions Needed: How important is an understanding of C
All I can give you is my experience. I've been a unix sysadmin since 1989,
and in all that time I have never had the need to write a device driver.
HOWEVER, it depends upon the industry the SA is in, whether or not there is
a need to interface non-standard hardware to some Unix OS.
For the most part, this is a programmer's job.
That said, I think it is extremely useful for a syadmin to understand and
apply unix internals knowledge. I don't think it needs to be terribly in
depth, but it does come in handy. Understanding what the kernel is, how it
can be manipulated, why some areas should be manipulated and others left
alone - all this is very good knowledge in an engineering environment, for
example (my kind of environment for the last 20 years).
Gotta run,
deb
"If it dies, it's biology. If it blows up, it's chemistry,
and if it doesn't work, it's physics."
-- University bathroom graffito
t?t
~
From: blymn at baesystems.com.au
Sent: Monday, March 18, 2002 5:20 PM
To: Buddy.Lumpkin at nordstrom.com
Subject: Re: Opinions Needed: How important is an understanding of C
According to Lumpkin, Buddy:
>
>Specifically, im interested in any opinions for or against, whether a UNIX System Administrator should learn C, UNIX internals and writing device drivers (once they are fluent in the two topics mentioned prior).
>
Some knowledge of C is a definite advantage... knowing how make works
as well helps a lot also from the point of view that if you are trying
to install a tool from source and it falls over you can just fix it.
Knowing kernel internals, IMHO is recommended but not essential, you
could get by without them but knowing what goes on under the hood does
make a lot of things less mysterious (like why zombies or processes
in the D state cannot die).
Writing device drivers...mmmm... interesting, less recommended than
kernel internals but does give an even better idea of what is going
on, less mystery but not that useful in day to day running.
>even more specifically, is it relevant for a company to pay $$ to train UNIX System Administrators in these areas.
>
If they are willing to pay for it then great.... I would suggest basic
C and shell programming would be a good thing to have. Deeper
training is hard to find (at least that is what I have found) and may
be of dubious value, the other thing to consider is that a lot of
admins are simply not interested in that level of detail.
--
===============================================================================
Brett Lymn, Computer Systems Administrator, BAE SYSTEMS
===============================================================================
From: Ian Clements [ian at artisan.com]
Sent: Monday, March 18, 2002 5:20 PM
To: 'Lumpkin, Buddy'
Subject: RE: Opinions Needed: How important is an understanding of C Progr ammi ng and Internals to a UNIX System Admin?
depends on what you expect to achieve.
my opinion is that a certain percentage of a large staff
should know how to program but once you get beyond the basic
stuff, then you're talking big $$ salaries and then, how often
do you write (or even maintain) device drivers?
pay the cost to train in the areas you spend time working. as
folks get more sr., then it's ok if they take additional classes.
on the flip side, say you are a development organization and
someone comes in that has a lot of potential, then it's worth it
to the organization to spend the time training. the benefit to the
company over time will be well worth the investment.
ian
---
From: Douglas Palmer [palmer at nyed.uscourts.gov]
Sent: Monday, March 18, 2002 5:20 PM
To: Lumpkin, Buddy
Subject: Re: Opinions Needed: How important is an understanding of C Programmi ng and Internals to a UNIX System Admin?
On Mon, 18 Mar 2002, Lumpkin, Buddy wrote:
> Specifically, im interested in any opinions for or against, whether a
> UNIX System Administrator should learn C, UNIX internals and writing
> device drivers (once they are fluent in the two topics mentioned
> prior).
More information about the summaries
mailing list