Welcome to Networkcareer!
Where do you work and what’s your role?
I’m my own boss in a 1-employee company (ipSpace.net). This has some obvious benefits, but also a few drawbacks – one of them being that my boss agrees with every stupid idea I get.
What kind of roles and work did you do before arriving at ipSpace?
- Programmer (including building operating systems, simple databases, and programming languages);
- Database- and sysadmin;
- Networking engineer, instructor, team leader, CTO
What have you learned in your career so far that you would like to tell the younger you?
- Some problems are simply not worth solving;
- Don’t try to be overly smart and twist the network into whatever concoction will heroically solve the customer’s problem – every problem has to be solved in the right place (and time) using the optimal tools.
What are the most important skills you have picked up in your career so far?
Also, it helps immensely if you’re able to explain complex technologies in simple terms, because that process forces you to (A) understand the technology and (B) distill it into easy-to-explain fundamental chunks.
What’s your opinion on degrees? Are they useful for someone in the networking industry?
Absolutely. Any reasonable degree proves that you’re able to complete a complex long-running task.
Also, a good computer engineering degree forces you to learn about topics you’d never consider being young and stupidly focusing on the shiniest next-big-thing. For example, my professors forced me to learn about relational databases, ray tracing, operating system concepts, computer hardware, digital signal processing, computational complexity (yeah, I hated this one), linear algebra, statistics and probability… and while I’m far from being an expert in any one of these fields, I still know enough to at least appreciate the problems someone in that field might be facing (or know just enough to be doling out unwanted dangerous advice).
What about certifications? Are they losing their value?
(Some) Certifications are a great framework that forces you to study a specific topic into the details you’d never spend any time on if you’d be on your own, in the process potentially making you into a better engineer… assuming, of course that you’re pursuing them for the knowledge, not for the title and increased salary.
Speaking about HR aspects of certifications: I don’t think I have to comment the value of the fact that someone with a few months or years of lab time and no practical operational experience can put Expert on his CV.
Finally, don’t get me started on memorizing monkeys that know all the right answers without ever understanding the reasons why those answers tend to be correct.
Is the skillset of network engineers changing? What skills are important to have in the coming years?
The skillset of networking engineers has been changing as long as I’ve been in networking. We no longer measure the quality of coaxial cable connections, or troubleshoot modems, and in a few years we won’t do a lot of things that we’re doing today. Who cares… although it helps if you understand how we got to where we are. The fundamentals of being a good engineer will stay the same:
- You have to understand your toolset (= technologies and products)
- You have to know how to use them to build optimal solutions (for whatever criteria)
- You have to be able to troubleshoot them once they fail.
Who cares whether you look at ARP or ND packets, use Ethernet or Token Ring, call GRE+IPSec DMVPN or SD-WAN – you’ll still be solving the same challenges years from now using completely different technologies and products.
What skills are important for Network Architects?
I’m always struggling with this question. On one hand, it’s extremely important to be able to listen to the end-user needs, understand what they really need, not what they think they want, help them adjust their expectations, and finally transform them into a network blueprint.
On the other hand, working purely on that level quickly makes you into whiteboard-cloud-drawing person. You still have to understand how things work and the vendors (and whitepapers) will never tell you the inconvenient truths. Can you combine the two? It’s hard…
Will the need for networking experts go away? Is it better to be a generalist than an expert?
No. In the end, things will always break, and someone will have to troubleshoot them. Do you really want to be totally dependent on your vendor, and wait weeks while they’re trying to figure out what’s wrong? That might be OK if you’re buying a car (the analogy some pundits love to beat to death), but maybe not if your entire company depends on your network.
We will probably need fewer hard-core networking experts. On the other hand, someone will have to troubleshoot the spaghetti mess made from multiple public cloud instances using non-standard forwarding models and linked with haphazardly-configured tunnels, and if you don’t understand how networking works you have absolutely no chance figuring out what’s wrong in such a mess.
What do you think of soft skills? Do we need them in the networking industry? If so, which ones are the most important?
Believe it or not, soft skill as probably the most important skills you should have. Most important ones? How about listening to people and trying to understand what their real problem is, not what they think they’re telling you.
With SDN, orchestration etc. can we throw the “traditional” networking knowledge out the window? Why or why not?
Yeah, sure 😉 Unfortunately networking won’t change (fundamentally) until we change TCP/IP stack, and that won’t happen any time soon. There are only so many ways to solve well-known challenges based on the assumptions built into the TCP/IP stack, and once you’ve mastered them in one form or another, learning new technologies (or shiny new products) becomes way easier than trying to absorb them without the fundamental (you might call it traditional) network knowledge.
Should someone in the networking industry learn to code? Why or why not? What is your language of choice?
You should absolutely master the art of computational thinking – decomposing problems in smaller chunks, and describing processes in easy-to-follow steps. Once you do that, it’s easy to turn the problem definition into a script/playbook/recipe/whatever. Should you be the one doing that? Maybe not – there are other people out there that are way better programmers than you are, so focus on what you’re doing best (= networking) and let other experts do what they do best. You’re not becoming your own accountant and web site designer, are you?
Having said that, you should master the very basics of speeding up boring one-off tasks – similar to mastering Word macros and Excel formulas (you do know how to write Word macros instead of applying the same crazy formatting to every figure in your document, don’t you?). Language of choice? Pascal was wonderful, but it’s mostly dead these days, so I’m left with Perl.
What’s your best advice for staying updated in the networking industry? How do you stop the sipping from the firehose?
Never stop learning. Never stop looking around and investigating things adjacent to networking – be it virtualization, virtual labs, automation, databases, storage, security, cloud computing…
I guess you stop sipping from the firehose once you retire. However, once you’ve gained enough fundamental knowledge, the firehose turns into a straw – it’s amazing how fast you can digest a technology, product or solution once you’ve seen a dozen similar things in the past.
Before we close out. What would you want to give as a final piece of advice to the NC readers?
Networking is great, but it’s not the only thing you should be doing in your life. Go out, have fun, find some great company, and enjoy life!