nanog mailing list archives

Re: Programmers with network engineering skills


From: Peter Kristolaitis <alter3d () alter3d ca>
Date: Tue, 28 Feb 2012 14:32:15 -0500

Education in theoretical concepts is definitely a problem in general, but I've found it's particularly noticeable in the technology field which has become increasingly commercialized (or commoditized); where once a "sysadmin" was a long-running process, grown from a person with the mindset of "how does this work?" and "let's build cool stuff!", eventually culminating in someone who knew operating systems, networking, and programming inside out (see: "UNIX greybeard" types), nowadays people haul off to a 5 day course in "Advanced System Administration(TM)", write a certificate exam or 15, and call themselves a "sysadmin".

There still are people with the "greybeard" mentality -- all of the very best sysadmins I know are of this type, and many know real programming (that is, data structures, algorithms, etc) better than the mass-produced developers our there -- but unfortunately, they're relatively rare, and usually very hard to recruit. You have to have a very interesting project first and foremost -- salary is important, but building new, cool stuff is usually the #1 factor for top-notch generalists.

- Pete


On 12-02-28 01:51 PM, Owen DeLong wrote:
This problem is not limited to programming.

Education in general has moved from teaching conceptual knowledge
re-inforced by practical examples and exercises to teaching methodological
and/or procedural knowledge without any effort to convey concepts.

It's much like the difference between teaching a man to buy a fish using
cash vs. teaching a man more generalized economic skills and money
management.

In the former case, you get a man who can eat fish as long as he still
has some cash. In the latter case, you get a man who can keep cash
coming in and use it to obtain a varied diet and other things he may
want.

Today, the indoctrination mills (hard to call them education centers
at this point) churn out people who are good at repeating the same
process and solving the same problems over and over.

Unfortunately, when faced with a problem that doesn't look like something
from their text book, they either become completely lost or they take
the hammer approach (when the only tool you have is a hammer, every
problem looks like a nail).

I'm not sure how to solve this. Teaching methodologically is much much
faster than teaching conceptually and the endemic lack of patience makes it
hard to get people to sit still long enough to learn conceptually.

Owen

On Feb 28, 2012, at 6:03 AM, John Mitchell wrote:

<rant>

I would wholeheartedly agree with this, but I believe its worse than
just that. I used to categorize myself as a full developer, now I'm
slightly ashamed to be tainted with that brush since there's so many
people using the term who don't know the first thing about programming.

It used to be that when you were taught programming, you were taught
concepts (when to use a for loop, while loop, Boolean algebra), then
you built on the foundations by learning advanced concepts  (data
structures, how to program concurrently using semaphores etc etc), you
would then pick some optional classes to make up for some non
programming specific knowledge (networking, linux admin, etc etc).

I now have a lot of friends who work in academia and they are worried
by a decline (as am I when trying to hire new talent). Currently the
teaching process is one of learning to program like a monkey, monkey
see monkey do. People are no longer taught to think for themselves, but
instead taught to program in a specific language (PHP, Java, rarely C
or C++ any more, C#, or VB) and that is all they know. I don't believe
this is a failing with the lecturers but with the fundamental change in
attitudes to programming.

One of the tests I give all interviewees is write a very short program
in a language they have never ever used before ( personally I recommend
http://en.wikipedia.org/wiki/Brainfuck ) since this gives people a
chance to show they can program rather than being able to tell me "I
know PHP" or "I know C", suprisingly very few newer programmers can
make it through, or even try it, because the concept of thinking for
themselves is so last year.

</rant>

On 27 February 2012 20:02:13, Brandt, Ralph wrote:
Generalists are hard to come by these days. They are people who learn
less and less about more and more till they know nothing about
everything. People today are specializing in the left and right halves
of the bytes....  They learn more and more about less and less till they
know everything about nothing.  And BTW, they are worthless unless you
have five of them working on a problem because none of them know enough
to fix it.  Worse, you can replace the word five with fifty and it may
be still true.

I know of three of these, all gainfully employed at this time and could
each find at least a couple jobs if they wanted.  I am one, my son is
two and a guy we worked with is the third.

At one time (40 years ago) the mantra in IS was train for expertise, now
it is hire for it.  Somewhere there has to be a happy medium.  I suggest
this, find a good coder, not a mediocre who writes shit code but a good
one who can think and learn and when you talk about branching out with
his skill set he or she lights up.  His first thing on site is take the
A+ networking course.

No, I do not sell the courses.  But I have seen this kind of approach
work when nothing else was.




Ralph Brandt
Communications Engineer
HP Enterprise Services
Telephone +1 717.506.0802
FAX +1 717.506.4358
Email Ralph.Brandt () pateam com
5095 Ritter Rd
Mechanicsburg PA 17055

-----Original Message-----
From: A. Pishdadi [mailto:apishdadi () gmail com]
Sent: Sunday, February 26, 2012 8:27 PM
To: NANOG
Subject: Programmers with network engineering skills

Hello All,

i have been looking for quite some time now a descent coder (c,php) who
has
a descent amount of system admin / netadmin experience. Doesn't
necessarily
need to be an expert at network engineering but being acclimated in
understanding the basic fundamentals of networking. Understanding basic
routing concepts, how to diagnose using tcpdump / pcap, understanding
subnetting and how bgp works (not necessarily setting up bgp). I've
posted
job listings on the likes of dice and monster and have not found any
good
canidates, most of them ASP / Java guys.

If anyone can point me to a site they might recommend for job postings
or
know of any consulting firms that might provide these services that
would
be greatly appreciated.




Current thread: