We're looking for a Senior Software Engineer who wants to own problem spaces, not just complete tasks. You'll be pointed at areas like "bank reconciliation for legacy ERP customers" and expected to figure out what to build, how to build it, and ship it. You'll make technical decisions that set precedents and shape the systems future engineers inherit.
This is a role for someone who thrives in ambiguity. We won't hand you detailed specs — we'll share user problems and what we know, and trust you to go figure it out.
What You'll Do
Own entire problem spaces end-to-end: from understanding the user problem to shipping the solution
Make meaningful technical decisions — choosing patterns, setting architectural direction, and building systems that last
Work autonomously with minimal oversight, identifying what to build next rather than waiting to be told
Ship frequently and iterate based on real usage, not theoretical perfection
Communicate decisions and progress clearly in writing, working async-first across the team
What We're Looking For
You're a great fit if you:
Treat the product like it's yours — you don't wait for permission to fix something or build something that needs building
Think about the people using what you build, and ship useful over elegant
Communicate well in writing and stay productive without needing constant real-time feedback
Get energized by unclear problems — you ask clarifying questions and move forward, rather than stalling
Have picked up new languages, frameworks, and domains throughout your career and enjoy doing so
Technical Requirements
Solid backend fundamentals — you've built and shipped production systems
Data integration experience across APIs, webhooks, file ingestion, ETL, or similar
Strong SQL and relational database skills
Nice to Have
Workflow orchestration experience (Airflow, Prefect, LangGraph, or similar)
Graph database or complex data modeling experience