hello frens, another edition of ramblings by celt. the skill of architecting software and systems is often a job function of staff level engineers. In this post i will reveal the secret skill that all architects MUST have to succeed. with tech jobs becoming more competitive, this fundamental skill is a MUST.
Being able to think across systems and silos requires an extreme level of familiarity and context to a company’s existing processes AND industry trends. looking across a vast array of systems will require an architect or staff level eng to understand many technologies and their purpose in an environment. these people are setting the technical direction of a company along with Sr. management.
The fundamental skill across all systems and silos is:
Networking. The stepchild of computing, i know. Most people dislike networking and can barely recite the OSI 7 Layer Model. The fact is most people in tech like to imagine networking doesnt exist, and everything is magically connected. well let me tell you, after being in the bowels of a bank data center, and working on translating that to aws for a cloud migration. Network engineering is just as complicated as any software engineering project. Many people have such a strong dislike for networking that they just stop learning it, dont keep up with industry trends, or invest in learning more advanced topics.
This is good for YOU. when people refuse to learn something that means that you have an opportunity. an opportunity to be different, to stand out from the crowd, to have a specific set of applicable skills. I will not lie to you, learning my firm’s network infrastructure was boring, painful, and required reaching out to a lot of people to find out the context behind the decisions made. Before i could do that i had to go back to the fundamentals. Learn again the OSI 7 Layer Model and the relevant protocols at each layer.
The physical layer also involves electrical engineering. to be honest, i am not that strong on layer 1. Additionally my firm no longer operates our own data center, so it just doesnt make sense for me to dive deep into it. learning a little about bit streams, signals, and fiber optic is nice.
Things like MAC, frames, packets, segments, encapsulation, TCP, UDP, TLS, HTTP, and BGP all of these will build you a strong networking foundation. I dont think it makes sense for me to go over each topic as there are so many great free resources on each, and i cant add much value as these protocols have existed for many years.
One i want to highlight specifically is Border Gateway Protocol (BGP). Why BGP? because someone would only learn this skill while in a fairly complex production environment. Its not taught in schools and one can go a career without interacting with it. This is a real test for who understands and has worked with networking.
Here is a good writeup from cloudflare on BGP.
BGP is what helps make AWS Direct Connect (DX) possible. DX uses fiber optic cable to connect a customer to aws. Customers have to use BPG to help control how the connections into their network work and how the routes will be.
If you want to increase your skills in networking there are some great certifications in the Cisco space like CCNA. Other ones like Network+ exist also. Specifically in the AWS space there is the aws advanced networking specialty which in my opinion is in the top 3 hardest exams to pass.
If you want to learn more about networking i have some posts you can read:
Been pushing the W2 hard given all of the layoffs and turmoil. Looking for any suggestions people have for the next premium post. Short and sweet one for everyone today. keep grinding
-celt