While this job can be worked almost entirely remotely, hiring is focused on the following greater metro areas (~50 miles):
- Austin, TX
- Atlanta, GA
- Chicago, IL
- Denver, CO
- New York City
- Seattle, WA
- Washington, DC
- Mexico City, MX
About the Role
An engineering role at Cloudflare provides an opportunity to address some big challenges, at scale. We believe that with our talented team, we can solve some of the biggest security, reliability and performance problems facing the Internet. Just how big?
- We have in excess of 15 Terabits of network transit capacity
- We operate 300+ Points-of-presence around the world
- We serve more traffic than Twitter, Amazon, Apple, Instagram, Bing, & Wikipedia combined
- Anytime we push code, it immediately affects over 200 million internet users
- Every day, up to 20,000 new customers sign-up for Cloudflare service
- Every week, the average Internet user touches us more than 500 times
We are looking for talented Software Engineers to build and develop the platform which makes Cloudflare customers place their trust in us. Our Software Engineers come from a variety of technical backgrounds and have built up their knowledge working in different environments. But the common factors across all of our reliability-focused engineers include a passion for automation, scalability, and operational excellence. Our Infrastructure Software Systems and Automation team focuses on the automation to scale our infrastructure.
Our team is well-funded and focused on building an extraordinary company. This is a superb opportunity to join a high-performing team and scale our high-growth network as Cloudflare's business grows. You will build tools to constantly improve our scale and speed of deployment. You will nurture a passion for an "automate everything" approach that makes systems failure-resistant and ready-to-scale.
Cloudflare Software Engineers focus on automating our infrastructure installations and decommissions at scale. We enable our Data Centre Engineering teams by allowing them to install new data centers, replace servers and networking in existing data centers as quickly and efficiently as possible while not impacting existing infrastructure and customer services. While our focus is on automation and accurate asset tracking, there is an element of ongoing operational support of Data Center Engineers and other teams. We also review upcoming hardware changes and update automation and configuration management to cater to these advances.
Many of our Software Engineers have had the opportunity to work at multiple offices on interim and long-term project assignments. The ideal Software Engineering candidate has strong knowledge of Python and Golang, with Rust an advantage. As we are automating server and networking installations, knowledge of Linux, Hardware and Networking is ideal. We prefer to hire experienced candidates; however raw skill trumps experience and we welcome strong junior applicants.
Requisite Skills
- Intermediate level software development skills in Python and Shell scripting
- 5 years of relevant Development experience
- Strong skills in network services, including Rest APIs and HTTP
Examples of desirable skills, knowledge and experience
- 5 years of relevant work experience
- Linux systems administration experience
- Experience with Kubernetes and docker
- Tooling and automation development experience
- Network fundamentals DHCP, ARP, subnetting, routing, firewalls, IPv6
- Configuration management systems such as Saltstack, Chef, Puppet or Ansible
- SQL databases (Postgres or MySQL)
- Time series databases (OpenTSDB, Graphite, Prometheus)
- The ability to understand service and device metrics and visualize them using Grafana
Bonus Points
- Experience programming in Rust, Go or with Django
- Experience with continuous / rapid release engineering
- Experience developing systems that are highly available and redundant across regions
- Performance analysis and debugging with tools like perf, sar, strace, dtrace
- Experience with the Linux kernel and Linux software packaging
- Internetworking and BGP experience
- Key/Value stores (Redis, KyotoTycoon, Cassandra, LevelDB)
- Load balancing and reverse proxies such as Nginx, Varnish, HAProxy, Apache
Some tools that we use
- Netbox
- Apache Airflow
- Salt
- Docker, Kubernetes
- Nginx
- Python
- Django
- PostgreSQL
- Redis
- Prometheus
Top Skills
What We Do
Cloudflare, Inc. (NYSE: NET) is the leading connectivity cloud company on a mission to help build a better Internet. It empowers organizations to make their employees, applications and networks faster and more secure everywhere, while reducing complexity and cost. Cloudflare’s connectivity cloud delivers the most full-featured, unified platform of cloud-native products and developer tools, so any organization can gain the control they need to work, develop, and accelerate their business.
Powered by one of the world’s largest and most interconnected networks, Cloudflare blocks billions of threats online for its customers every day. It is trusted by millions of organizations – from the largest brands to entrepreneurs and small businesses to nonprofits, humanitarian groups, and governments across the globe.
Why Work With Us
Cloudflare employees come from all walks of life. We are mission-driven, and our team is energized by a collaborative, creative environment that celebrates our differences and fosters new ways to grow together.
Gallery
Cloudflare Offices
Hybrid Workspace
Employees engage in a combination of remote and on-site work.
We are committed to developing a global team that is distributed with a flexible working approach. Doing this equitably and inclusively is essential to our success. Visit our careers site for more on 'How & Where We Work.'