Skip to main content
Back to top

When DigiPen graduate Andrew Macedonia says he has a passion for networking, he’s not talking about handshakes and meetups — at least not the human-to-human kind. He is, however, deeply fascinated with the way in which computers connect and communicate.

“There’s something magical about it. It’s absolutely incredible that we can have a computer running a program with all this data, and then be able to transfer that data to a computer on the other side of the world in milliseconds,” Macedonia says. “It’s phenomenal.”

As a senior software engineer at F5, Inc., one of the preeminent suppliers of computer networking products and solutions, Macedonia has spent the last 10 years of his career developing new and improved technologies to help facilitate that “magical” process of safe and seamless data transfer. Among his employer’s many products and services, F5 is perhaps best known for their application delivery controller (ADC) and load balancing devices, used to manage the flow of web-based traffic across multiple servers with the aim of preventing crashes, bolstering security, optimizing speed, and more.

“I used to say we were like the shadow government of the internet,” Macedonia says with a laugh. “Because no one had heard of F5, but I guarantee your internet traffic has passed through one of our devices.”

Looking back, Macedonia says his interest in networks originated during his time in the BS in Computer Science in Real-Time Interactive Simulation program. He had initially come to the program with a desire to develop artificial intelligence for games, but it was a required course called CS 260 Computer Networks I that had his neurons firing on all cylinders.

“I was one of maybe three people in the entire program that was really into network programming,” he says. “It’s a fairly small class, so you have a bit of a reputation for liking networking.”

As such, Macedonia had no problem being the go-to networking programmer on his junior year game project, Redemption, a colorful first-person shooter that allowed for two-player cooperative play over a local area network. Macedonia still fondly remembers the first time he got to show off his networking chops when his game team delivered one of their final milestone presentations to a packed lecture hall. Since he had only recently gotten the networked gameplay up and running in the DigiPen labs, his plan to demo the new feature in a live setting was a risky proposition.

“I had a plant in the audience, so at the end, I go, ‘Does anyone want to join the game maybe?’ A friend of mine raised his hand, ‘Me, me, me!’ I call on him, have him load up the game,” Macedonia says. “The whole time I’m holding my breath, thinking, ‘Please work! Please work!”

The gamble paid off.

“A few seconds later — Bam! — we see player two load in on the screen,” he recalls. “Amazing moment!”

An even better moment came toward the end of Macedonia’s senior year in the spring of 2013. That’s when a recruiter from Nintendo of America contacted him about a job opening with the company’s Nintendo Technology Development division.

“They had gotten my name from one of my instructors as someone with a passion for network programming. They were looking for someone to join their networking team at an entry level,” Macedonia says. “I never got to find out which instructor it was and thank them profusely, but needless to say I went to Nintendo for interviews, it went well, and I was lucky enough to secure a job before graduation.”

For the bulk of his job, Macedonia worked on bugs and features relating to the Wii U console’s online capabilities and internal network stack, built atop a universal framework known as TCP/IP (short for Transmission Control Protocol/Internet Protocol) — initially developed in the 1970s and later deployed as the first standardized protocol for regulating and controlling internet website traffic.

“Different components of your computer will speak to different components of other computers, and these all sort of build on each other in various layers that we then, taken as a whole, refer to as a stack,” he says. “It just describes how data is getting communicated from one computer to another, all the way from the hardware to your application.”

While he enjoyed the work at Nintendo, which tied directly back to the foundational knowledge he’d first acquired in CS 260, he also realized there wasn’t much to be done in the way of new development. Aside from adding a handful of networking support features to the Wii U software development kit, the job was largely about maintaining a software architecture that was already built.

“I remember when I was at DigiPen and I was reading about TCP, I thought, ‘This is amazing. I want to implement a TCP stack.’ And then it’s like, well, TCP’s been out for like 30-plus years. Nobody really wants to do that,” Macedonia says. “But I always thought it would have been amazing to have gotten the opportunity to work on the protocol itself, because at best you can work on extensions to TCP at this point.”

Andrew Macedonia smiles outside of F5’s Seattle office building with the company logo above him.

Much to his surprise, his wish would effectively come true at his next job, where he would soon have the chance to develop a TCP-like protocol at the ground level. After two years at Nintendo, it was Macedonia’s manager who first suggested he look into F5, a Seattle-headquartered global tech company with a primary focus on computer network innovation.

“He was just like, ‘Hey, you seem really into networking, and there’s not a whole lot going on here. You should go check out F5,’” Macedonia says. “I had never heard of the company. I just reached out and applied.”

Upon getting hired, Macedonia started out on the F5 team responsible for investigating critical client support issues. From there, he joined an internal protocols team that was actively contributing to the invention of a new standardized networking protocol known as QUIC — one aimed at improving the speed and security of web applications.

“There’s something called the Internet Engineering Task Force, or IETF, that is the organization responsible for not all but many of the internet protocols in use,” Macedonia says. “We were working in this semi-official capacity with IETF and representatives from other companies like Google, Facebook, and Microsoft, all working on implementations of QUIC — not only our own individual implementations of QUIC, but also the overall design of the specification.”

The task was a years-long endeavor that involved regular working sessions with the teams from the other companies.

“We would test our various implementations of the protocol to date and just make sure everything was working,” Macedonia says. “It felt like working on TCP back when it was originally being developed.”

After contributing to drafts 12 through 34 of the QUIC specification, Macedonia’s IETF-led group published the first official version of the protocol in May 2021. QUIC is now used as the standard transport layer protocol for HTTP/3, the newest version of the Hypertext Transfer Protocol, which accounts for a massive volume of global internet traffic thanks to its widespread adoption by major tech companies like Google and Facebook.

Having since moved on from the protocols team, Macedonia says he’s currently working on an unannounced project that involves lots of what he loves doing most — namely a mix of hands-on development work and mentoring junior engineers. He celebrated his 10-year anniversary with the company in April.

There are some great resources at DigiPen if you use them. I can’t tell you how many times I would stay after class and just talk with my teachers if they were available.

“What drew me to F5 was the networking. It was like, ‘A whole company that does networking? This is amazing!’” he says. “But what has kept me at F5 is the work-life balance and the people. It’s a very collaborative culture. People want to help each other.”

To other current and future DigiPen students, Macedonia offers a few pieces of advice. For one, he says, don’t skimp on learning the C programming language — or any language for that matter.

“I haven’t used C++ since I graduated, funnily enough. The vast majority of what I write is in C,” he says. “Even if you’re thinking, ‘C isn’t used for anything. I’m sure I’m going to make games, and they definitely don’t use C,’ you might change your mind.”

He also encourages students to stay humble, focused, and engaged in the classroom material.

“There are some great resources at DigiPen if you use them,” Macedonia says. “I can’t tell you how many times I would stay after class and just talk with my teachers if they were available.”

And to anyone not sure about whether a career in games is the right path for them, he says, the knowledge and skills used to make games have many applications across the wider world of tech.

“Even though I didn’t go into games, I feel like because games are so difficult to make, I got an absolutely stellar education,” he says. “Dealing with things like memory management and the sub-second timing of things — that’s an invaluable experience that can prepare you for a lot of different domains within computer science.”