Software Engineer - Distributed Systems

About the Department

Cloudflare’s Engineering Team builds and runs the software that handles trillions of requests per month. We also build and run the internal tools that build and run our software. The Engineering Team is split into two groups: one handles product development and the other handles operations. Product development covers both new features and functionality and scaling our existing software to meet the challenges of a massively growing customer base. The operations team handles one of the world’s largest networks with data centers in 102 cities worldwide.

About the Role

Cloudflare is a system spanning the globe, on a mission to make the internet better, safer, and more powerful everyday. As one of the engineers working on the Cloudflare Edge, you’ll work on the code that runs closest to the end user and is deployed into 150+ cities around the world.

Examples of software systems at our Edge include:

  • A TLS/HTTP proxy to make the connection from eyeball to edge as fast and secure as possible
  • Filtering malicious traffic and handling good traffic according to customer configuration
  • Content optimization that takes content served from customer sites and makes it more performant
  • A platform that runs “serverless” Workers and provides a key value store
  • A reverse-proxy system that caches customer website content according to customer configuration
  • Optimization of connections from Cloudflare to our customers' origin servers to reduce their load and increase performance
  • Our Authoritative DNS server and our public resolver

We operate some of the fastest services on the Internet. Your work will focus on building robust, secure, and high performance distributed systems. We are a small engineering team operating at massive scale, so what you do will have huge influence.Examples of desirable skills, knowledge and experience

  • Understand how the internet works at a protocol level, including the differences between what the specs say, and what actually happens on the internet
  • Confidence to work in multiple programming languages - could include C, Go, Rust, Python, Lua and even PHP
  • Experience (and love) for debugging to ensure the system works in all cases
  • Strong systems level programming skills
  • Excited by the idea of optimizing complex solutions to general problems that all websites face
  • Experience with a continuous integration workflow and using source control (we use git)
  • Good Unix knowledge, patches to Operating Systems a huge plus for some roles
  • Understanding of security issues and responsibilities
  • Experience with monitoring, alerting and debugging high volume production systems
  • Fluent in analyses of data sets such as logs
  • Designing and building APIs
  • Great oral and written communications skills
  • Desire to learn and improve
  • Willing and eager to share knowledge, and mentor
Lisbon, Portugal
  • Rust
  • Python
  • Lua
  • Go
  • C