What’s Next for a Network Architect?

A network architect working for a system integrator sent me a number of questions along the lines of “what would be an interesting alternative to pursuing another CCxE certification?

He wrote:

Lately I've been playing a bit with Python just to get started a bit with network automation but as an Architect and considering I'm more likely to move more towards the business side of things I won't be the one doing these things on a day to day basis. But I still enjoy playing around with Python and I like the programmatic way of thinking and being able to interact with devs and understanding a bit of their world.

Playing with Python is a nice hobby, but it’s probably not something someone who’s already a network architect should be aiming for as a full-time job. Compare how much a junior programmer (which is what we’d be) is getting compared to what a network architect makes. Also, I’ve been told it’s a bit easier to master programming than networking (please feel free to disagree in the comments).

However, as an architect you should know what’s possible to do, and have an order-of-magnitude estimate of how hard it is to get the job done, so getting some exposure to Python and other network automation tools is not a bad thing from that perspective.

Finally, do keep in mind that Python is just a low-level tool. If you’re trying to build a cabinet, Python is your multi-purpose router (the other router). Not great for any one job you need to do, but good enough to get most of the jobs done. However, you still have to understand how to make the parts, how they fit together, how to do the joints… you need to understand the architecture of an automation/orchestration system, particularly if you want to build one instead of buying one.

I'm thinking that what I should do is perhaps to broaden my skill set a bit. Perhaps pick up one of the AWS certs. Learn a bit more about Linux. Learn a bit more on virtualization, storage etc.

A few years ago, I’d say it depends on who your customers are, but today everyone needs to either build a data center and a private or public cloud on top of it, or move into the cloud, so learning a lot about virtualization and networking in the cloud can’t possibly hurt.

I would also strongly recommend to get more fluent with application architectures… the good ones, not the enterprise crap. It’s always so much fun when you tell the apps people sitting in the room how they could redesign their stuff so we could have a cheaper and easier-to-maintain network… and watch a few of them go like “yeah, that’s a cool idea, we could do that…”


  1. As a CS major working most of the time as a Network Engineer, I'll take your offer to (partially) disagree :)

    To get into an "advanced proficiency" level in Network is harder to achieve than in software engineering, I would say. This for me is the level where Network engineers are aware of how packets move at the ASIC level and the architecture and protocols that allows the best outcomes. At the development side, is the level where you know and understand the best algorithms, where to apply them, complexities and caveats of each.

    But to really master each, the stakes are higher at the software engineering side. To claim that, one to be extremely proficient in his field of expertise (Network, Database, Filesystem, etc.) plus understand all the ways to make correct, efficient, sane, sustainable and secure code.
    1. Totally agree with you - that's why I was a bit careful wording it as "programming" and not "software engineering" ;)
  2. >I would also strongly recommend to get more fluent with application architectures…

    Can You recommend some study materials for someone who is more or less at this network engineer/architect stage and would like to follow this path?

    1. See below. When I was preparing my lectures at local university I also relied heavily on HighScalability blog as a source of useful links. Other than that, it takes a lot of time, reading and studying.
    2. >it takes a lot of time, reading and studying.
      I suppose so :)

      Any particular books You can recommend? Something every network engineer should read about application architecture, like "High performance browser networking" is a must for every developer to read about networking ;)

    3. Scalability Rules. See also "Interesting Links" document in Building Active-Active Data Centers webinar.
  3. Ivan,
    I am a ipsapce webminar subscriber - if you could suggest which webminar covers the application design topics - I am referring to your suggestion related to being fluent with app architecture. The content is huge and it's not easy to find required material quickly.

    1. Designing Active Active Data Centers is the only one that talks about application architecture considerations, and if you want to know more about load balancing, look into Data Center 3.0 webinar.
  4. Hi Ivan - care to elaborate on "I would also strongly recommend to get more fluent with application architectures… the good ones, not the enterprise crap" ?

    1. You know the stuff that's running on a single Windows server and is declared mission-critical, so you can't even patch the server, and have to move the VM around the globe while doing maintenance? Do I need to elaborate more? ;)
Add comment