An interesting post is making the rounds on the NANOG mailing lists today.
It started out as an argument about whether a network engineer should be responsible for things like racking and stacking. There are some who believe engineers should take on these tasks, and some who believe they shouldn’t. A particularly interesting reply from someone that struck a chord with me follows below. It is a response to someone who suggested the network engineering model be modelled on a trade instead of a white collar profession:
I disagree. The best model is - gasp - engineering, a profession which many in "networking" claim to be a part of, but few actually are. In the engineering world (not CS, not development - think ME and EE), there is a strongly defined relationship between junior and senior engineers, and real mentorship. The problem with "networking" is that TOO MANY skills are learned on the job (poorly), rather than folks coming in with solid fundamentals. I blame our higher education system for being ineffectual in this regard. Most of the "book learning" that you refer to is not true theory - it's a mix of vendor prescriptions and overgeneralizations. In "networking", you don't learn real theory until you're very senior - you learn practice, first. The true problem is that most "networking" professionals came out of a CS background or are self-taught. They might be clueful and they might be highly adept, but they lack the structure of an engineering educations and formal mentorship. They also lack real licensing, which is a separate problem. Rack and stack is not a network engineer task, anymore than running a 208/3 phase circuit is an electrical engineer's task. Instead, rack and stack is a task for a skilled telecom tradesman. I have nothing against network engineers getting out of the office to do this, but the quality of their work will never be up to a real telecom guy. Look at the cabling. You can always tell which has been done by a "network engineer" and which has been done by a real tradesman. Guess which one is better?
It is true. A lot of engineers I’ve worked with have learnt the job on the trade, and have learned to diagnose things through feel, and a reliance on having seen something before than using a troubleshooting process. There’s a lot of “good enough for the business is good enough for me” attitude towards work. A lot of of work is done by rote because “that’s the way we’ve always done it”.
I’m an engineering graduate. I studied to be one and I find myself an engineer, but there are days when I wish I’d not bothered with university because I feel there’s no real advantage to it. It means I understand what an ASIC is, or what an XOR operand is compared to someone who fell into networking by starting from the bottom, but the people having conversations about ASICs and mathematical operands are not engineers at my level. They’re “Architects” who work on high level designs and leave. I am not against racking and stacking, but the difference between the professional telecomms engineers’ work and mine is vast.
A lot of time “Senior” engineers in networking are senior not because their theoretical and practical knowledge is superior, but because they’ve been on-site for longer. Their value would rapidly diminish if they were moved to another network, because it is tied into their knowledge of “this” network. In that respect, it’s somewhat akin to being a senior tradesman.
I wish networking were taught in a vendor agnostic manner. I wish there were an equivalent of the Engineering Council for networking, or a method in which we could be assimilated into it. It would separate the people who bodge things around on networks until it’s good enough and say “don’t touch it!” and those who know why a network works, why it breaks, and how to fix it when it does. It would be good to be able to aim to be a member of an accredited body of peers than just being a jockey with a number who can be used as a vendor’s poster boy because they jumped through their required hoops.