[150564] in North American Network Operators' Group
Re: Programmers with network engineering skills
daemon@ATHENA.MIT.EDU (Owen DeLong)
Mon Feb 27 17:15:37 2012
From: Owen DeLong <owen@delong.com>
In-Reply-To: <alpine.BSF.2.00.1202271527490.425@murf.icantclick.org>
Date: Mon, 27 Feb 2012 14:14:00 -0800
To: david raistrick <drais@icantclick.org>
Cc: NANOG <nanog@nanog.org>
Errors-To: nanog-bounces+nanog.discuss=bloom-picayune.mit.edu@nanog.org
On Feb 27, 2012, at 12:31 PM, david raistrick wrote:
> On Mon, 27 Feb 2012, Owen DeLong wrote:
>=20
>> I think you're more likely to find a network engineer with (possibly =
limited)
>> programming skills.
>=20
> 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.
>=20
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.
>=20
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.
>=20
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)