Software Engineer - Edge Infrastructure
Squarespace provides creative tools and services to help anyone build and manage their brand online. For more than a decade, we’ve empowered millions of people to take control of their online presence like never before. The Edge Infrastructure team is looking for experienced software engineers to build Squarespace’s next generation edge network infrastructure which consists of software-based load balancers, routers and caching layers to serve Squarespace’s unique technical challenges.
Our Edge Infrastructure team is in charge of managing and balancing all application traffic (HTTP/s and DNS), building load balancers and reverse proxies, protecting our traffic using web application firewalls, and integrating with content delivery networks (CDNs). We operate our own data centers, control all layer 4 and 7 traffic management, and orchestrate multiple network services to deliver the professional, high-quality websites and e-commerce stores to browsers all over the world.
In this role, you’ll manage individual project priorities, deadlines and deliverables based on your technical expertise. You’ll design, develop, test, deploy, maintain, and enhance software solutions that drive Squarespace and go unnoticed by our users (on a good day). Together with our network engineers, SREs and security engineers, you’ll be part of a larger team that defends our infrastructure and will be on the frontline to deal with large scale network events.
- Design, develop, test, deploy, maintain and improve software, including:
- load balancers
- reverse proxies
- internal HTTP caching layers
- web application firewalls (WAFs)
- multi-CDN integrations
- SSL/TLS integrations
- Analyze and improve efficiency, scalability, reliability and performance of our network infrastructure and external CDN infrastructure.
- Manage individual project priorities, deadlines and deliverables.
- Work closely with other Squarespace Engineering teams and help maintain operational excellence.
- BA/BS degree in Computer Science or related technical field or equivalent practical experience.
- 4 years of software development experience in Java 6+.
- Experience with concurrency, multi-threading and synchronization.
- Experience in TCP/IP networking and programming.
- Experience in architecting and developing software for scalable, distributed systems.
- Experience with Unix/Linux environments.
- Experience with one or more of the following: HTTP, HTTP/2, SSL/TLS.
- Experience with SQL, NoSQL and key-value databases.
- Understanding of technologies such as virtualization, global infrastructure, load balancing, networking and security.
- Experience with caching technologies.
- Interest and willingness to learn and dive deep into all the qualifications stated above.
Some of the technologies that we use on the Edge Infrastructure team include:
- Java 8
- Netty 4.1
- Dagger 2.5
- Clojure 1.8
We’re open source technologists and prefer to contribute back to the OSS community whenever possible. We do use off-the-shelf solutions such as Nginx and Varnish but are not afraid of building something ourselves if needed. The right candidate is expected to play a key role in those decisions and be up to the challenge.
Back to top