At NS1, the company and its engineers are striving to change the way the internet works.
The company has brought an innovative approach to modernizing Domain Name System (DNS) technology, a field that powers the internet itself. We spoke to three engineers at NS1 to learn more about the problems they’re solving and what a new hire can expect.
EMPLOYEES: 85 (45 local)
WHAT THEY DO: NS1 provides DNS and traffic management technologies that enable customers to control their traffic and infrastructure.
WHERE THEY DO IT: New York
IDEAL CANDIDATES: Engineers deal with a lot of change at NS1 from processes to priorities and plans. As a result, they look for candidates who are curious, dedicated and active participants in their own career at the company.
Jeremiah Androscavage, Software Engineer
Jeremiah Androscavage develops new software and maintains existing ones. His role spans the scope of the company’s core DNS software as well as other services that work in conjunction with it.
BEYOND WORK: He enjoys playing tabletop role-playing games in his spare time and meets with a regularly occurring gaming group made up of friends from work.
What’s your biggest challenge in the DNS field and how did you overcome it?
The sheer amount of edge cases and special rules that govern the DNS protocol in minutiae can sometimes be overwhelming. I have been working fairly close with DNS for most of my career, and even now, I find myself learning new variations and subsets of DNS behavior rules regularly. Like many evolving complex systems, you will consult RFCs regularly, and accept that you will always be learning something new about it.
If you look at your to-do list, what’s the one thing you can say you love to do?
My to-do list varies week-to-week, which keeps work fresh and interesting. It starts with something that needs to be coded, but it can be anything from adding a new feature to making improvements to crushing a hard-to-find bug. Regardless of what I need to code, it makes for a wonderful combination of puzzle and artform that delivers a sense of satisfaction when the job is finished.
Regardless of what I need to code, it makes for a wonderful combination of puzzle and artform [...]."
What is NS1’s approach to training engineers? Tell us about your experience.
NS1 takes a multi-tiered approach to training engineers. During the first weeks at the company, there are multiple whiteboard sessions with different departments of the engineering team. We introduce the software stack, systems, hardware and operational processes used at a high level. These sessions are informal and interactive.
During these sessions, we pair back-end software engineers with a senior software engineer to work on a project. I worked on a fundamental rewrite of how our monitoring product worked, which not only helped me learn our systems but made me a much better developer. The engineering team also holds sessions every Wednesday on topics that are open to anyone.
Christian Grabowski, Back-End Engineer
Christian Grabowski builds the services that form NS1’s platform. He enjoys solving the complex problems that arise in his role with his team, like being able to maintain low-latency while working with a high volume of records.
BEYOND WORK: Christian plays guitar, piano, bass and violin.
What’s your biggest technical challenge in the DNS field and how do you overcome it?
The DNS field is an old space for tech, but we’re doing something new with it, so there are a lot of unknowns. We overcome this through collaboration and a team with a deep understanding of the technology.
The DNS field is an old space for tech, but we’re doing something new with it so there are a lot of unknowns."
What’s your stack? What makes it unique and what advantages do you gain from those unique characteristics?
Our stack consists of Python, Go and C++. Each language has its pluses and minuses. Python is great for developer velocity but there are some constraints with performance. Go has a good balance of performance and developer velocity but its performance doesn’t always cut it. Then there’s C++, where we lose a good bit of that developer velocity but we gain a lot of performance. Our stack is unique not because of the languages but in how they coexist with each other, as well as the ease and frequency a developer experiences while switching between them.
What’s the one thing in your job description that you love to do?
I enjoy discussing the architecture of our services and helping build it out. We have an interesting architecture. We don’t have a microservice architecture, but we also don’t have a monolith, so you can’t Google for answers.
I also love that we get to code some interesting stuff. We’re not just hooking up one restful API to another. There’s some technical — and on occasion — mathematical knowledge that helps to have when coding with these tools.
Misha Kushnir, Back-End Engineer
Misha Kushnir works on the Pulsar team, which focuses on a product that collects real-time user metrics to help a company manage traffic to its applications. His job is to work on the company’s server-side code.
BEYOND WORK: Misha plays guitar and piano — he is also writing and recording a progressive metal album.
Tell us about your background — what attracted you to NS1?
As a 25-year-old, I am a relatively junior employee without much industry experience. After graduating with bachelor’s and master’s degrees in computer science from Northwestern University, I worked at a small hedge fund in Manhattan for a year. While it was interesting from a technical point of view, I wasn’t passionate about it.
I wanted to do something more meaningful and impactful, and that's one of the coolest things about NS1 — we make the internet work. It's so much more satisfying to know that what I'm doing has a direct impact on millions of people around the world every single day.
I wanted to do something more meaningful and impactful, and that's one of the coolest things about NS1 — we make the internet work."
What does a typical day look like for you?
As a back-end developer, most of my day is spent coding or working on a project. Our team has a 30-minute stand up three days a week, and there are a few other one-hour weekly meetings — but besides that, it's all time for work.
Since we recently finished a few big releases and are currently in a planning stage, my work has been less focused on coding and more on planning and support — including working on documentation and testing database performance to figure out how to implement a new feature. When we're in the thick of a project, my time is spent coding.
What is the onboarding process like?
The onboarding process was logical and helpful. In my first week, I was given a small, simple task to just get my feet wet and get an idea for what the codebase and workflow are like. From there you ramp up. It wasn't intimidating at all; everybody is incredibly helpful and easy to work with.
Does your team have a reputation? If so, what is it and how did they earn it?
The Pulsar team has a reputation for being efficient and getting things done. Everyone is good at their job and pleasant to work with. Our team lead does a great job of dividing up and assigning work, and I never spend a lot of time stuck on a problem because it's easy to find help. And I need help as a junior employee. Luckily, my colleagues are eager to jump in. Because of that, it's easy to get things done.