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 builds and runs 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 165+ cities worldwide.
What you'll do
In this role you will work on Spectrum, a new product that extends Cloudflare’s security and performance beyond web traffic. As an engineer on the Spectrum team, you will be responsible for building and maintaining the technologies and systems that comprise Spectrum, both in our high-performance global edge network and in our centralized microservice cluster.
Examples of software systems that you’ll be working with include:
- A Layer 4 proxy running at Cloudflare’s Edge, responsible for making any and all TCP/UDP traffic from clients to The Edge as fast and secure as possible
- A global data pipeline that processes hundreds of thousands of events per second, used to deliver insights about Spectrum to customers and internal teams alike
- REST APIs that enable customers to quickly and easily protect their services via Spectrum
You will participate in all stages of the software development lifecycle, from designing and documenting systems, to writing code and automated tests, to planning, managing, and monitoring production software deployments. You will work with a wide range of technologies and programming languages, including Go, Rust, Python, REST APIs, ClickHouse, Kafka, Salt, SQL, Grafana, Docker, Kubernetes, and Marathon.
Other responsibilities include:
- Collaborating with internal teams (security, network engineering, SRE, product management) to design effective and scalable solutions to difficult technical problems
- Reviewing work from your peers throughout all stages of the development lifecycle
- Working with our support teams to ensure customer delight
- Mentoring team members to help bring out their best work
- Representing the team within the company through blogging and tech talks
Because you’ll be solving problems of massive scale and significance, and shaping the future of performance on the Internet, you are a growth-oriented individual who enjoys being outside of your comfort zone. You are comfortable in a fast-paced but sane work environment.
Examples of desirable skills, knowledge and experience
- Programming experience in Go, Rust, C, or C++.
- Working knowledge of modern Unix/Linux development and runtime environments.
- Strong low level debugging skills.
- A solid grasp of networking protocols in any of Layers 3-7 of the OSI Model.
- Experience in implementing secure and highly-available distributed systems.
- Strong ability to debug issues in complex systems.
- Strong interpersonal and communication skills. Curiosity and empathy are coveted traits here!