Company Overview
At Netlify, we’re building a platform to empower digital designers and developers to build better, more elaborate web projects than ever before. We’re aiming to change the landscape of modern web development. Netlify currently serves more than 1,000,000 developers worldwide.
Netlify is a diverse group of incredible talent from all over the world. We’re ~44% woman or non-binary, and are composed of more than a fourth as many nationalities as we are team members.
We recently raised $63M in Series C funding to bring forward the next generation of tooling for a more accessible web. Among our investors are Andreessen Horowitz, Kleiner Perkins, EQT Ventures as well as the founders of GitHub, Slack, Figma and Yelp. This latest round brings Netlify’s funding raised in total to $108M to date.
About the team:
As a Sr. Distributed Systems Engineer with our Traffic & Delivery team, you’ll be working with interesting problems related to large scale systems with high throughput. On average, our platform processes over a petabyte of data and we serve over 8% of the internet's traffic! On our team, you'll work with a smart set of people that are really motivated to keep learning and continuing to grow each other in a supportive way. We have a blameless culture where we solve everything as a team and everyone works together towards a common goal. The Traffic & Delivery team works across a variety of technologies to solve problems around the massive traffic that we receive on the platform, so if you're excited about working in complex Go, Rust, or C++ code, you'll have plenty of opportunities to do so with our team!
We value asynchronous communication and work with a globally distributed team that works remotely across North American and European timezones. The team reports to the Director of Infrastructure and works closely with the CTO.
About the role:
The mission of our Distributed Systems Engineers is to build a system that can support millions of customer sites, and the supporting features they leverage. In this role, you'll be designing and implementing fault-tolerant distributed systems. The platform is at the core of Netlify, so you'll be developing software that powers the lifecycle of a web request, enables developers to interact with the edge, and strives for better availability and higher throughput. This includes functionality like Edge Lambda invocation, caching & invalidation, request rules, pre-rendering, and logging aggregation. The platform is built on top of 6 different cloud providers and is truly global, supporting constant traffic from all over the world. We move quickly and adjust to changing priorities and conditions, and you'll be able to help us focus on key priorities and pragmatic solutions.
We are looking for someone who:
- Has a history of working on a high throughput system, with demanding availability and throughput challenges.
- Has a breadth of experience in compiled programming languages (Go, C++, Rust). Our main language is Go, but we also have projects that the Traffic & Delivery team works on in Rust, C++, and Ruby. We believe in picking the right language for the right problem.
- Is proficient in web & CDN technologies and has extensive knowledge of systems performance and analysis as well as provisioning and managing cloud infrastructure.
- Possesses a high level of comfort with standards like HTTP, DNS, and TLS.
- Has experience iterating on a system, while it is constantly serving traffic. Our system is always on, and we can't drop any requests.
Some of the challenges you’ll be working on:
An example of a project that you'll be working on will involve giving our external developers the ability to inject JavaScript code into the runtime of a single web request. The team will be considering holistically all the parts of this system, including how we get that code on edge, how do we safely invoke it, and considering how we provide insights to our customers around running their code. This is a huge undertaking for the system that has fundamental impacts on the architecture. This will be written in a blend of Go and Rust, leveraging technologies like Kafka, GCS, Kubernetes, Websockets, and Lambda.
In addition that that project, the team will also be undertaking a series of projects to completely overhaul the way we serve content. This is a complex interaction between multiple services that are getting a constant load. The goal will be to distribute more knowledge onto the edge so that we can make more decisions there. The change will help scale the architecture to handle the ever-increasing load while simplifying some key components, all while pulling this off with no customer interruptions.
Within 1 month, you'll:
- Learn about the business and dive into the inner workings of our platform.
- Have one-on-one's and pairing sessions with some of the people you'll be working closely with and get to know your engineering peers across our product umbrella.
- Do a deep dive into the code base and learn more about Go, Rust, and C++
- Get to know how our edge logic works
- Tackle your first ticket by committing changes & helping perform code reviews with the team.
Within 3 months, you'll:
- Joining the on-call rotation to help the team pay down technical debt and improve our reliability
- Gain a more robust understanding of the needs of the platform and becoming more comfortable with diagnosing problems
- Ship your first feature related to expanding our edge logic and further increasing the performance of our products
- Help build a better deployment system for our edge, focusing on making tooling to make developers lives easier and safer
Within 6 months, you'll:
- Extensively contribute to providing better uptime & efficiency to Netlify's CDN while pushing production code in Go, Rust, and C++
- Contribute to building reliable microservices that are deployed into our Kubernetes cluster
- Make a significant impact to our platform team by architecting an extensive scalable solution to accommodate our rapidly growing user base
- Develop automated abuse prevention tooling and building cutting edge features to empower developers
Within 12 months, you'll:
- Have significant ownership over making extensive contributions to a large scale system that delivers insights about traffic, function invocations, and other edge visibility issues.
- Fully revamped & iterated on the way our edge logic works and how it resolves content.
- Play a significant role in implementing globally distributed, latency-sensitive, high throughput services.
- Extensively collaborate with engineering leadership to level up the team and continually improving the traffic and delivery of the platform.
- Start to coach and mentor other team members within Netlify's engineering teams
About Netlify
Of everything we've ever built at Netlify, we are most proud of our team.
We believe that empowered, engaged colleagues do their best work. We’ll be giving you the tools you need to succeed and looking to you for suggestions to improve not just in your daily job, but every aspect of building a company. Whether you work from our main office in San Francisco or you are a remote employee, we’ll be working together a lot—paring, collaborating, debating, and learning. We want you to succeed! About 60% of the company are remote across the globe, the rest are in our HQ in San Francisco.
Deadline for applications: 28.01.2021.