Software Engineer (Backend/Full stack)
Formsort is reinventing how internet 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 Calibrate all use Formsort to power their most valuable customer conversations.
Formsort was founded by members of the founding team of Better to solve for the missing infrastructure required to move complex commerce online. Our distributed 10+ person team is located across the United States and Europe from California to Turkey.
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!
- You have 3+ years of experience in backend software engineering, ideally having worked on form systems or content management systems in the past.
- Python, Flask, SQLAlchemy, Postgres, and AWS services are second nature to you. Experience with Typescript or React is a plus, as we use both heavily on the frontend.
- Is immersed in the backend development community, and is aware of the latest developments in database technologies, frameworks, and languages, in particular the latest in async Python.
- Has a strong grounding in engineering best practices and loves the idea of bringing it to a young and growing company.
- You work at many levels of scale: you write code to improve endpoints or fix bugs, but enjoy zooming out to break down large problems into implementable projects.
- Mentors junior teammates, enjoys sharing knowledge, and 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.
- 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.
- 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.
- 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 devops, frontend engineers, and sales team to architect a highly-performant system that's globally accessible and compliant.
- Specialize in developing on either the studio (complexity), flow (scalability) side of the system depending on your interests.
- Alternatively, focus on management and hire a team to fill in the gaps in knowledge and experience.
- Collaborate with a data science team to elevate Formsort beyond just letting people make form flows, but automatically improve them over time.
- Work with mobile developers to make an 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