nanog mailing list archives

RE: Programmers with network engineering skills


From: "Holmes,David A" <dholmes () mwdh2o com>
Date: Mon, 27 Feb 2012 17:46:26 -0800

What about the case of the strong coder who decides that networking is more interesting as a life's work, moves into 
networking, will not consider employment where coding is even a remote possibility, and will successfully land another 
networking job elsewhere if management even brings up the subject of coding? I think this describes the great majority 
of networking professionals.

-----Original Message-----
From: Owen DeLong [mailto:owen () delong com]
Sent: Monday, February 27, 2012 2:14 PM
To: david raistrick
Cc: NANOG
Subject: Re: Programmers with network engineering skills


On Feb 27, 2012, at 12:31 PM, david raistrick wrote:

On Mon, 27 Feb 2012, Owen DeLong wrote:

I think you're more likely to find a network engineer with (possibly limited)
programming skills.

While I'll agree about the more likely, if I needed a coder who had a firm grasp of networking I'd rather teach a 
good coder networking, than try to teach the art and magic of good development to a network guy.


Well, I won't call myself a hard-core coder, but, I think I have a reasonable grasp on the art and magic of good 
development. What I mostly lack is speed and efficiency in the language of choice for whatever project. I can write 
good code, it just takes me longer than it would take a hard-core coder.

OTOH, having done both, I would say that I think you are not necessarily correct about which direction of teaching is 
harder. Yes, if you start with a network engineer that knows nothing about writing code or doesn't understand the 
principles of good coding, you're probably right. However, starting with a network engineer that can write decent code 
slowly, I think you will get a better result in most cases than if you try to teach network engineering to a hard-core 
coder that has only a minimal understanding of networking.

I think it really comes down to which you need: a hardcore network engineer/architect who can hack up code, or a 
hardcore developer who has or can obtain enough of a grasp of networking fundementals and specifics to build you the 
software you need him to develop.


I'm guessing that someone who needed a hard-core developer that could grasp fundamentals would have grabbed an existing 
coder and handed him a copy of Comer.

The fact that this person posted to NANOG instead implies to me that he needs someone that has a better grasp than just 
the fundamentals.

Of course I am speculating about that and I could be wrong.

The ones who already know both ends extremely well are going to be -very- hard to find, but finding one who can learn 
enough of the other to accomplish what you need shouldn't be hard at all.


Depends on what you need. However, I think it's faster to go from limited coding skills with a good basis in the 
fundamentals to usable development than to go from limited networking skills to a firm grasp on how networks behave in 
the real world. To the best of my knowledge, nothing but experience will teach you the latter. Even with 20+ years 
experience networks do still occasionally manage to surprise me.

...d (who is not exactly the former though I've played one for TV, and not at all the later)

I am admittedly lost given the three choices as to which constitutes former or latter at this point.

1.      Strong coder with limited networking
2.      Strong networker with limited coding
3.      Strong in both

Owen
Who is a strong network engineer
Who has been a professional software engineer (though many years ago and my skills are rusty
        and out of date)



This communication, together with any attachments or embedded links, is for the sole use of the intended recipient(s) 
and may contain information that is confidential or legally protected. If you are not the intended recipient, you are 
hereby notified that any review, disclosure, copying, dissemination, distribution or use of this communication is 
strictly prohibited. If you have received this communication in error, please notify the sender immediately by return 
e-mail message and delete the original and all copies of the communication, along with any attachments or embedded 
links, from your system.


Current thread: