Senior Fullstack Engineer
- Remote
- All software engineering jobs
- NYC Office
- FullTime
- Engineering
About the role
Flagler Health is building the clinical operating system for modern musculoskeletal care.
We partner with MSK provider groups and specialty clinics to help them grow, operate more efficiently, and deliver better longitudinal care across patient acquisition, clinical workflows, and ongoing patient engagement. Our platform sits at the intersection of care delivery and clinic operations, helping providers capture more value across the full patient lifecycle.
We’ve recently raised our Series B and are entering our next phase of growth.
The Role:
Senior Fullstack Engineers own our main product surface end to end. One monorepo, one product: Vue 3 and TypeScript on the front, Express and MongoDB behind it, and a stack of shared TypeScript packages in between. You will move across all of it rather than sit on one side.
Most of the hard problems here aren't algorithmic. Clinical data is never clean, the same patient spelled three ways, a date that means something different in every system it passes through. And the people behind the data are people: they reschedule, they don't pick up, they tell the front desk what they never told their doctor. We're looking for engineers who find that interesting rather than annoying, and who'd rather model the mess than pretend it away.
The work is contract-first. API schemas are declared once and both frontend and backend typecheck against them, so a broken endpoint is a build failure instead of a bug report. If you've spent years keeping a hand-written client in sync with a backend that kept moving, this will feel like a relief.
What You’ll Do:
Build screens in Vue 3 Composition API against our internal component library
Design and implement API routes contract-first, with schemas shared across frontend and backend
Model clinical and patient data in MongoDB, and keep it queryable as collections grow
Work inside shared TypeScript packages every app in the repo depends on
Take features from spec to production and support them once they're live
Required Qualifications:
5+ years building and shipping production web applications
Strong TypeScript across the stack
Hands-on Vue 3. This role lives in our Vue application daily
Backend experience with Node, Express, and MongoDB/Mongoose
You know what your queries cost. Patient and clinical data gets large and wide fast, and the difference between a query that scales and one that falls over is usually an index or a schema decision made months earlier
You can name the shortcomings of the tools you use, not just their features
You've designed for growth you couldn't fully predict, and can explain what you'd do differently now
You've worked in a large codebase you didn't write and improved it rather than rewriting it
Preferred Qualifications:
Understanding of how care is delivered: clinical workflow, care pathways, how a patient moves through the system
Experience moving health data between systems: HL7, FHIR, EHR connectivity
Familiarity with Twilio, LiveKit, or the OpenAI API
Monorepo experience (e.g., Turborepo, Nx)
Realtime or streaming applications
Durable workflow orchestration (e.g., Temporal, Cadence, AWS Step Functions)
Experience with cloud platforms such as AWS, Azure, or GCP
Work Environment:
Distributed remote team with hybrid offices in NYC and Vancouver.
Hybrid. Regular and consistent on-site presence is required for this position.
We have video on for our weekly team syncs and pair-coding/tech discussions. Camera is required to be on during meetings.
Our Values:
This is what you can expect of your teammates at Flagler:
Owner: We own our work like founders. We don't wait to be asked, and we pick up the problem nobody else has.
Builder: We like making things from scratch. We don't need a playbook to start, and we'd rather ship a rough first version than wait on a perfect spec.
Fast: We make quick decisions. We favor progress and respect process.
Transparent: We communicate directly. We value merit and honesty, and we challenge assumptions, including our own.
Curious: We explore new approaches and ask "why" often.