Careers

Sr Software Engineer in Test

Help with testing at Formsort: instill it into our DNA and build it directly into the product our customers use every day.

The company

Formsort is a software platform that allows creating, understanding, and improving the form flows that are critical in today's direct-to-consumer world. Whether applying for a mortgage, registering for a vaccine, or making expensive purchases, many of today's largest life decisions are mediated by sets of forms embedded within websites or apps. At the same time, many of these experiences are broken and hard to improve: built a few years ago with the technology of the time, filled with bugs and user experience nightmares, and impossible to fix and improve on.

We unleash the power of rapid feedback and iteration to forms: Formsort's powerful admin tool allows non-technical users to create and launch customized forms that are then embedded in the core workflows of a business. Once set up, it makes it easy to change these forms: whether the branding, the logic, or the ordering of the content. 

We have been around for two years, working closely with a few early-adopter clients. Having lived through real-world user experience problems in healthcare, finance, e-commerce, we've built a powerful set of features that encompass the whole lifecycle of designing, launching, and iterating on form flows. Most of our customers have seen significant improvements in conversion in their main user experience.

Today, we are hiring to bring that experience to more clients, in more fields. We're packaging up what we've learned and bringing it to the masses: no one should have to struggle with forms ever again.

Benefits include unlimited PTO and paid healthcare.

The role

We are looking for a senior Software Engineer in Test (SET) to own automated testing at Formsort, to take the company to the next level of reliability and scalability. The ideal candidate is a testing evangelist and practitioner, and can envision, implement, and maintain a variety of testing approaches, ranging from low-level unit tests through to production-like integration tests. You'll be working on both our own application code, as well as for the form flows created by our customers: improving test coverage of our admin tool (the studio) the flow renderer, as well as the flows (user-generated content) that the tool creates.

There is a huge variety in form design patterns, aesthetics, and paradigms that can be built within Formsort: letting our developers and users confidently make big changes is a critical foundation of our business.

Low confidence in tooling results in people making smaller changes to forms, reducing learnings and decreasing business impact.

Some of the testing-related engineering challenges we face on a daily basis:

  • Bringing continuous integration testing to the masses. As developers, we're familiar with test fixtures, integration tests, CI/CD dashboards, and release testing. But non-technical creators don't have access to any of these powerful concepts: the systems you design and implement will put this power into users' hands.
  • Multi-dimensional versioning is difficult. At any given time, any of our clients may be using any subset of our features, potentially in an A/B test, with users scattered across current and previous versions of flows. Making sure we don't break any permutation can only be only be achieved through automation.
  • Choosing the right testing tools. Today we use py.test, jest, react-testing-library, cypress, puppeteer, CodePipeline. But this list is incomplete, and we are always looking for the best way to prevent mistakes, while keeping developer productivity high.
  • Multi-platform: Flows produced in Formsort need to reliably run across all browsers, in embedded contexts, all the time. We fix the nasty browser quirks for our customers, and make sure that they stay fixed, so that our customers can focus on their businesses.
  • Maintain trust with our clients. We should prevent problems from happening in the first place, and be the first ones to know when something goes wrong, whether it's due to our own code, a browser update, or a client-initiated change. Errors and problems should be transparent, actionable, and quickly resolved.

Formsort of the future will not only let our users build forms, but will elevate their forms in ways they didn’t know to ask or to look for. To get there, we need you!

As an ideal candidate...

  • You have 3+ years of experience in software engineering, ideally having focused heavily on frontend and backend testing automation in the past.
  • Has a strong grounding in testing best practices and loves the idea of bringing it to a young and growing company.
  • Experience with popular testing libraries, frameworks, and services, such as Cypress and py.test.
  • Is immersed in the testing community, and is aware of the latest developments in browser technologies, frameworks, and libraries.
  • You work at many levels of scale: you can sit down and write a unit test, but enjoy zooming out to set up a testing pipeline for an entirely new class of problems.
  • You can manage large projects: delivering small, incremental improvements during the duration of an effort to ensure that feedback loops and learning never stops.
  • Mentors junior teammates, and is either a manager (or would like to manage teammates someday).
  • Self-starter attitude: you take joy in identifying and executing high-impact improvements and refactorings independently.
  • Remote work makes you happy: you're good at collaborating with a team that's geographically distributed, and enjoy having a balanced lifestyle.

Ideal timeline

Today

  • We interview you, talking through your existing projects, focusing on the motivations behind your choices and the tradeoffs that you made along the way.
  • We hire you.

The first few weeks

  • Ship a code change to production the first day.
  • Get to know the full stack and identify areas with low test coverage or cumbersome workflows.
  • Become familiar with examples of flows that our clients run in production, to build realistic and impactful tests.
  • Add any missing tooling to increase developer productivity.

The first few months

  • Work with engineering team to ship a new system: client-editable test cases and monitoring for production flows.
  • Reduce the number of defects in shipped code by increasing test coverage: both independently and by collaborating with the rest of the dev team.
  • Build process and workflow to ensure an ongoing high level of quality.

The first few years

  • Work with mobile developers to make a reliable iOS and Android version of Formsort

How to apply

Please send us your recent work, GitHub projects that you’re proud of, or open source contributions.

Apply here