We’d be hard pressed to name many teenagers as thoughtful, curious, and open to new experiences as Nate Sales. Now in his junior year at the Catlin Gabel School in Portland, Oregon, he has already built, designed, and engineered more than most people twice his age. Nate not only manages the software
department for his school’s robotics team, he also developed an app to track on-campus movement during COVID 19, coordinates radio communications for the Amateur Radio Emergency Service, is a Reliability Engineer at Fosshost, and sits on the advisory board of the Emerald Onion — a Seattle nonprofit and encrypted transit ISP.
We spoke with Nate recently about his path into tech, and his experience presenting at a NANOG conference, where he was — to our collective knowledge — the youngest to ever do so. What struck us most was his curiosity and willingness to build, dismantle, and rebuild again in the name of new discoveries and greater insights; an ethos all of us could stand to learn from.
You’re currently a student at the Catlin Gabel School in Portland, Oregon, and also a software developer with a focus on systems infrastructure. When, and how, did you first get into tech?
I’ve always been curious about how things work since I was very little. My parents recall me asking “How works?” about various electronic gadgets when I was a couple of years old. That transitioned into taking apart old computers and electronics, then programming, and more recently, a focus on systems infrastructure.
I’ve been a member of the Catlin Gabel robotics team “The Flaming Chickens” since 8th grade as part of the software team, building autonomous robot control code. It’s been a ton of fun and I’ve learned a lot about working with others in the various technical teams. I’ve also had two really great mentors, Dale and Andrew, who have given our team — and me as an individual — a lot of leeway to try things out, make mistakes, and take an idea and run with it.
It’s wonderful to hear how supportive your parents and mentors have been in your endeavors. Along with a fellow Catlin Gabel student, you also developed a contact-tracing app to track on-campus movement during COVID 19. Tell us a bit more about that project, and what led you to develop this app in particular:
While designing a hybrid plan for on-campus learning, our assistant head of school, Barbara, reached out to us to see if we could develop an app to allow students and staff to track their location on campus. This made it easier for the school to comply with our state health authority’s requirements for contact tracing.
Our app provides an interface for checking in and out of classrooms and buildings, and tracks occupancy metrics with timestamps that can be exported for use by the health authority for rapid contact tracing. Students are still remote, but faculty working on campus have been using our app for the past few months, and the plan is for students to start using the app as we transition back to campus in the coming weeks.
“After building out a CDN of my own, I thought it would be fun to try something new, get some public speaking experience, and share my work with others who are interested in the same type of things.”
Incredible! And so great to get to see your own work immediately making an impact. At the recent NANOG 81 Virtual conference, you gave a Lightning Talk, “Building an Open Source Anycast CDN”. How did you first learn about NANOG, and what made you decide to give a presentation at the conference?
I found NANOG when I was first learning about BGP. More recently, I started watching a bunch of recorded talks while researching content delivery technology and anycast for my CDN project. After building out a CDN of my own, I thought it would be fun to try something new, get some public speaking experience, and share my work with others who are interested in the same type of things. Working with Ogi, Elizabeth, Valerie, Michael, and everyone else on the NANOG PC was great, and made the talk submission a very smooth process.
Love that you had such a great experience. Everyone was really impressed with your talk! You also participated in the NANOG 81 Virtual Hackathon. What was that experience like for you, and what’s one thing you feel you learned throughout the virtual-hackathon process?
It was a ton of fun working with the team at the virtual hackathon! One of the most interesting parts — made possible by the virtual format — was being able to work with engineers from all around the world (Barrie, Toni, Pete, and Jose), to solve a problem that we all shared a common interest in.
I think the most significant skill that I got to practice was working on a team, and collaborating effectively. It was also a great experience talking to and getting to know professionals in the industry that I’m looking to get into myself. Everyone was super welcoming, and it was generally an amazing environment to work in.
“I would love to learn from, and work with, a company that’s improving the Internet and developing creative solutions to some of the problems I’ve noticed while building my CDN.”
Very cool to hear. You’ll be graduating from Catlin Gabel in 2022. What are your plans in the industry, post high school?
That’s a great question, and one that I’m wondering about myself! I know I want to continue my studies in the technology industry, but COVID has put a wrench in my college visit plans. Currently I’m looking into summer internship opportunities to gain some hands-on experience while working with others in the industry. I would love to learn from, and work with, a company that’s improving the Internet and developing creative solutions to some of the problems I’ve noticed while building my CDN.
Curious to know more: what are some of the problems you’ve noticed?
At risk of being too technical here, the most significant challenge has been managing state data in a distributed system. Whether that’s with anycast at the edge, or higher up in the control plane such as database synchronization — there are all sorts of interesting failure modes that need to be addressed and accounted for.
“Sometimes as a student, reinventing the wheel is the perfect way to really learn how something works at a deep level.”
Any advice you’d share with other students interested in learning about software development and systems infrastructure?
The most useful and rewarding way I’ve found to learn is to pick an ambitious, hands-on project about something that interests you, and run with it. Earlier this year I was curious about how content delivery works over the Internet, so I set out to build my own CDN, and ended up here!
Sometimes as a student, reinventing the wheel is the perfect way to really learn how something works at a deep level. And once you think you’re done, reinvent the wheel again. Designing and building something a second time gives you the chance to improve the shortcomings of your first design, and you end up with both a better end result and more knowledge gained along the way.
Something else that I’ve found really motivating is using software to meet a need in the community. For example, I’m currently working on a task-tracking app that helps people with cognitive disabilities to be successful at work. If you can find a way to learn something while helping others, that’s a huge bonus.
Photos courtesy of Nate Sales.