Responsible for the technology that powers all Squarespace products, the Squarespace Engineering team is comprised of some of the most talented individuals in the industry. From our content management system to our mobile apps, our engineers are constantly developing creative solutions to help customers establish beautiful digital identities.
"The Nuts and Bolts" is a reoccurring Q&A with Squarespace engineers. Questions are compiled by their peers to guarantee we get right to the good stuff.
Over the last four years, Squarespace’s product offerings have expanded significantly. To keep up with Squarespace's growing platform, we needed to scale our functional test coverage. We created Firepit, a user interface (UI) for configuring and triggering tests. Firepit empowers engineers to easily run custom test suites in Squarespace's deployment environments. The foundation of our testing philosophy is straightforward: write tests that are simple, readable, and stable.
With continuous deployment enabled for critical backend services and Squarespace’s entire application frontend, it is essential to have meaningful, reliable UI tests. Anything merged to master will ship to production automatically with no human checks, so these tests are the last guarantee that basic features of our product work. To effectively test Squarespace’s complex, interaction-heavy application, we built a uniquely powerful browser testing tool called Charcoal.
Designing web service APIs can be a tricky art form. APIs serve as a virtual playbook necessary for interacting with your business domain, and more importantly, they are the contracts that bind service owners with their consumers. Therefore, getting design right early on is an important part of the service engineering we do at Squarespace.
"The Nuts and Bolts" is a recurring Q&A with Squarespace engineers. Questions are compiled by their peers to guarantee we get right to the good stuff.
It is important to understand how containers are implemented using Linux control groups (cgroups) and namespaces. Understanding the features and limitations has helped us dramatically improve the performance of our Java services especially under stressful scenarios.
If you’d like to take part in shaping the future of the web, visit our Careers page to learn more about open positions on the Squarespace Engineering team.