by Keith Cline
128 Technology makes your network do what your business needs, by changing the way networks work.
We connected with Michael Baj, 128 Technology’s Co-Founder & VP of Engineering to get an inside look at the company’s engineering team. Baj also went into lots of details about the company’s technology, the various projects, the team’s culture and more!
The Internet is built on 25-year-old technology that depends on a web of complexity filled with a variety of middle-boxes that attempt to address issues of quality, security, and predictability. Self-driving cars, connected home appliances, mobility, and intelligent wearable devices are the new norm. These devices run on top of an aging network fabric that was not built with today’s technology in mind.
Our mission is to make the network smart enough to do everything businesses need to win. Whether it is supporting a network of branch offices, taking advantage of the hybrid cloud or strengthening a company’s security posture, 128 Technology builds the software for the network of the future.
The 128T Networking Platform is primarily written in C++14/17. Our CLI and plugins are written in Python and our web stack is React and Node.js. Our tools team keeps up with the pace of development, manages and extends our CI/CD pipeline and leverages Robot, Ansible and Terraform on a home-grown computer cluster— the size of which could get you rich mining for Bitcoins. (No, we are not mining for Bitcoins.)
Our product scales from a small 2 core, 4GB RAM system to the highest-end servers on the market. In deployment, our customer’s networks are on the scale of 10,000 systems communicating with each other across the world.
128 Technology is redefining the language of the Internet by inventing a new routing protocol to address the limitations of today’s networks. Simply put, if the Internet were to be redesigned today, this is how it would look.
Our product heavily leverages open source. We would not have gotten our product to market in a timely manner had everything been written from scratch. To that end, the team extends and contributes back to those open source projects as often as possible. We have a number of open source projects of our own, including our web client framework.
Part of the culture of 128 Technology is about empowering engineers. We work toward deadlines, much like every software team, but we do not micromanage. Developers are free to craft solutions to problems in the ways that they see fit, leveraging new technology if necessary. Developers actively contribute to the product feature set, innovating and implementing their own ideas.
Steeped in the culture of a development organization is its software development methodology. At 128 Technology, we take pride in our commitment to clean code, test-driven development, continuous integration, and continuous improvement. The nature of our business – a disruptive networking startup— means that product definition can be somewhat fluid. Customers have ever-changing requirements and bespoke networks that put more demands on the software to operate in ways that cannot be anticipated. Building the product incrementally allows us to have clarity on near-term features that will have the greatest impact on our customers. Do not be afraid of change – embrace it. Design and build what is needed now with a mind toward the future. Providing value to customers is always the primary focus.
We conduct an online programming exercise as well as an in-person technical interview. You will be expected to write code and go over system designs on the whiteboard. You should use whatever programming language you’re most comfortable with. For the online portion, we encourage you to use online resources (books, Stack Overflow, etc.). During the in-person portion, consider your interviewer a collaborator on the problem. Share what you’re thinking with them and ask them for help when needed.
During our interview, you will be asked about your prior experiences and interests, as well as your thoughts about your role and how it fits into 128 Technology. The interview is an opportunity to proactively ask about what it’s like to work at the company and to seek answers to anything else that might be on your mind.
We always have three beers on tap; one light, one dark and one hoppy. Right now, we are pouring Victory’s Home Grown Lager, Firestone’s Walker Mocha Merlin Stout and Peak Organic’s The Juice APA.
Star Wars. The follow-up question is, having never watched Star Wars before (yes, those people exist), in what order should you watch the movies? IV, V, II, III, VI, VII, VIII, IX. That’s not a mistake, don’t watch Episode I.
iPhone. Although if I took a poll around the office, I think it’d be a 50/50 split.
There are many, but probably the craft beer on tap. Building and maintaining the social fabric of the team is important to us.
Modern Family. We have a healthy mix of younger and older generations. Sometimes the experience teaches wisdom to the youth. Sometimes the old dogs learn new tricks from the new hires. As a whole, we are a family, we all get along, and have a lot of fun along the way.
We don’t play music in our office, but if we did it would be Rick Astley’s “Never Gonna Give You Up.” Why? Because we love a good prank, and everyone knows what it is like to be Rick-Rolled.
Chris Main, Principal UI Engineer
Chris joined 128 Technology in November of 2014 – the early days. Chris has architected our web stack from the ground up, allowing it to scale to support thousands of nodes, look beautiful and be responsive at the same time. Chris pours himself into everything he does and often comes up with the best solution to a design problem. He is also one of our resident beer aficionados and ensures that we have the best craft beer on tap all the time.
]Anya Yungelson, Datapath Technical Lead
One of the very first engineers at 128 Technology, Anya has had a very heavy hand in shaping the product architecture. Anya has had a long and successful career in high-performance datapath engineering. Surprisingly, there are fewer and fewer developers these days who have an understanding of higher-order programming languages but understand the details of their implementation and what it takes in order to maximize performance. It takes a lot of know-how to get 80Gps going at line rate.