Software engineer Backend / Full stack
The company
Formsort is reinventing how businesses build and optimize their most valuable forms. Forms mediate all transactions online; applying for a mortgage, personalizing your clothing subscription, and signing up for a vaccine appointment all consist of sets of forms embedded within websites or apps. To create these experiences, businesses have historically defaulted to dedicating precious engineering resources to re-invent how forms are built.
Formsort changes all that by empowering the full growth team to launch and optimize these experiences and freeing engineers from the critical path when it comes to improvement. Companies like GoodRx, Candid, and Form Health all use Formsort to power their most valuable customer conversations.
The role
We are looking for a mid- to senior-level engineer to take Formsort to the next level of scale and reliability: someone who's passionate about modeling data accurately, optimizing database access, and writing performant services. The ideal candidate can take large, ambitious business requirements, break them down into manageable chunks, and then write clear, testable code to implement the components.
As the first dedicated backend engineer at Formsort, you'll be developing the APIs for both the admin tool (the studio) as well as the forms (the flows) that the tool creates.
Some of the engineering challenges we face on a daily basis:
- The studio, where users create form flows, has a large and complex domain model, with a low transaction volume (few writes, many reads). This requires maintaining, modeling, and migrating flow data, across many versions and variations.
- The flow runner, which powers the production form flows themselves, has a simpler domain model, but a high transaction volume. Here, scalability and reliability are most important: there are many opportunities to optimize performance, on the level of individual endpoints, through to the architecture of the system itself.
- Writing event-driven applications which are deployed to serverless targets allows us to scale easily, and requires close work with our devops team to keep things running smoothly and in a maintainable fashion.
- Many of our clients have strict privacy and compliance requirements: delivery of data to clients must be fast and secure, and needs to be considered in every line of code we write.
- As a platform, we deploy our own code, often in parallel to our clients deploying changes to their form flows: consequently, visibility, monitoring, and observability are critical to a good overall experience.
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 backend software engineering
- Experience with Python (3.11), Postgres, and AWS (Lambda, SQS, SNS, CDK, CloudFormation, CloudFront, CloudWatch, IAM, Route53, DynamoDB, Code Pipeline, CodeBuild, Lakeformation, AWS Glue)
- Proven ability to design and develop efficient, secure, and durable infrastructure on AWS
- A self-starter attitude: you take joy in identifying and executing high-impact improvements and refactorings independently
- Worked on a distributed teams
- English proficiency
Ideal timeline
Today
- We interview you: 1) we talk through your existing projects, focusing on the motivations behind your choices and the tradeoffs that you made along the way and 2) technical knowledge and experience with domain modeling, databases, and application development.
- We hire you.
The first few weeks
- Ship a code change to production the first day.
- Get to know the entire backend code, and identify places where you can make improvements while making bigger and bigger changes.
- Design, implement, and assist in deploying features that improves our customers' experience on the platform, like adding form templates, adding notifications for operational issues, or building out reliable payment collection in forms.
The first few months
- Rework entire sections of our system to scale to the next levels of architecture: benchmark, improve, and release load balancers, high performance endpoints, and caching layers.
- Launch entirely new feature areas, empowering users with advanced A/B testing, analytics on what's working and what isn't, reusable form components, or tightly-integrated third-party services.
- Collaborate with the team to architect a highly-performant system that's globally accessible and compliant.
How to apply
Please send us your recent work, GitHub projects that you’re proud of, or open source contributions.
Apply here