Software Engineer
Remote · Full time · Posted 2H AGO
About Fabric Health
At Fabric Health, we are powering boundless care by solving healthcare’s biggest challenge: clinical capacity. We aren’t here to disrupt healthcare; we’re here to fix it. We unify the care journey from intake to treatment, using intelligent automation to remove administrative burdens and make care delivery 2-10x more efficient. Our technology empowers clinicians to move faster and focus on what matters most: the patient.We are a mission-driven team of brilliant minds trusted by leading organizations including Intermountain Health, OSF HealthCare, SSM Health, and MUSC Health. Our vision is backed by premier investors such as Thrive Capital, GV (Google Ventures), General Catalyst, and Salesforce Ventures. We move quickly for good reason, listen deeply to solve big challenges, and build products with the same care and quality we’d want for our own loved ones.
Learn more: About Us | News & Press | LinkedIn | Careers
About the Role
Our Virtual Care Platform team builds and maintains the systems that get patients seen, prescribed, and billed correctly. As a Software Engineer on the team, you ship features end to end in a large, mature Python/Django codebase and its supporting services, taking small to medium-sized work from requirements through tests, review, and production. This is a hands-on build-and-maintain role: you fix real production bugs, improve the admin portal and internal tooling that Support and Clinical Operations rely on, and pay down technical debt in the areas you own.The platform spans Revenue Cycle Management, eligibility and coverage systems, clinical integrations (e-prescribing, labs, and health information exchange), and internal admin tooling, all operating under strict HIPAA requirements. You also inherit stewardship of our document service, a small, modern TypeScript microservice (Bun runtime, Hono, PostgreSQL, and S3) that handles document upload, download, presigned access, and metadata for patient records. It is clean, well tested, well documented, and built on a hexagonal architecture, which makes it an excellent place to learn TypeScript on the job. Deep TypeScript experience is genuinely not required; curiosity and willingness to learn are.
You work with moderate autonomy. We give you the goal and the context, not step-by-step instructions, and senior and staff engineers work alongside you to pressure-test design decisions and review your work. Expect to be writing in the document service within your first few months, with support, and to use AI coding tools every day the way the rest of the team does.
What You'll Do
As a Software Engineer on the Virtual Care Platform, your primary responsibilities include:Build and Ship:
- Implement, test, and ship small to medium-sized features end to end across the Django monolith and its associated services (Care API, FHIR Facade, COBRA, Dolphins, and Health Exchange Handler).
- Own a module or component within larger projects led by senior and staff engineers.
- Contribute to and help maintain our document service, a TypeScript, Bun, and Hono microservice backed by PostgreSQL and S3-compatible object storage and deployed on Kubernetes.
- Improve the admin portal and internal tooling so Support, Clinical Operations, and Implementations can handle scheduling, eligibility debugging, and billing workflows without engineering involvement.
- Collaborate with senior engineers to clarify ambiguous requirements and surface technical risk early.
Production Support and Reliability:
- Diagnose and fix production bugs, moving from symptom to root cause and choosing a permanent fix over a repeat workaround.
- Participate in the team's production support rotation, triaging incoming issues by patient impact: an issue that blocks a patient from being seen, filling a prescription, or having a claim processed correctly comes first.
- Make careful, well-reviewed production data corrections when needed, with the discipline that patient-facing, HIPAA-regulated systems demand.
- Identify and resolve technical debt in the systems you own before it turns into the next production issue.
Engineering Craft:
- Review your teammates' code thoroughly, with feedback that is specific, kind, and focused on what matters.
- Write documentation and runbooks that let others resolve common issues on their own, using AI tools to draft and maintain them quickly.
- Use AI coding tools such as GitHub Copilot, Cursor, and Claude Code in your daily workflow to speed up root-cause analysis, scaffold tests, and accelerate code review.
Why You Might Be a Good Fit
- You care about the mission and understand that a production bug isn't an inconvenience; it's a patient who can't get seen or a claim billed incorrectly.
- You're solidly productive in Python and Django and comfortable reading code you didn't write in a large codebase.
- You write tests as a matter of course, not as an afterthought, and your code is maintainable by the next person.
- You ask good questions when requirements are fuzzy, rather than guessing or stalling.
- You're genuinely interested in learning a second stack, and if "I've never written TypeScript, but I'd like to" describes you, that's exactly right.
- You give code reviews you'd want to receive: specific, kind, and focused on what matters.
- You've adopted AI tools into your workflow, you get real leverage from them, and you check what they produce.
This Might Not Be The Right Fit If...
- You want to work exclusively on greenfield feature work and avoid production bugs and maintenance entirely.
- You're primarily a front-end engineer without hands-on Python and Django experience.
- You're uncomfortable taking part in a production support rotation or making careful, reviewed production data changes.
- You want to stay in one language and would rather not touch a second service.
- You prefer entirely manual debugging workflows and resist AI-assisted tooling.
Your Qualifications
- 2+ years of professional software engineering experience, with a record of shipping features independently once given a clear goal.
- Hands-on Python and Django experience, including Django REST Framework APIs and the Django ORM.
- Working knowledge of relational databases (PostgreSQL and/or MySQL), including the ability to write, read, and reason about non-trivial SQL.
- Solid testing habits and experience with automated test suites and CI.
- Demonstrated debugging skill: you can work a bug from a vague report to a reproducible cause.
- Clear written communication for documentation, runbooks, and cross-functional work with Support, Clinical Operations, and Implementations.
- Openness to learning TypeScript and modern JavaScript runtime tooling on the job.
- Proficiency with AI development tools in your day-to-day engineering work, and the judgment to verify what they produce.
Bonus Points
- Experience with TypeScript and modern JavaScript runtimes (our document service runs on Bun with the Hono HTTP framework, Bun's native SQL client for PostgreSQL, and the AWS SDK v3 S3 client).
- Familiarity with AWS, particularly S3, Secrets Manager, and IAM (our services use IRSA for credentials and read runtime config from AWS Secrets Manager through the Secrets Store CSI driver).
- Experience with containers and deployment: Docker and Docker Compose for local development, Kubernetes with Helm and Argo Rollouts for deploys, Terraform for service IAM, and GitHub Actions for CI.
- Observability experience with OpenTelemetry tracing and metrics, and comfort reading traces and dashboards to diagnose latency or error spikes.
- Experience with PHI in a HIPAA environment, or in another high-stakes, regulated, or safety-critical domain.
- Familiarity with healthcare billing and RCM concepts such as claims, eligibility verification, coverage logic, and invoice transmission.
- Exposure to healthcare interoperability, including HL7, FHIR, or health information exchange platforms like Particle Health.
- Production experience with Redis, Elasticsearch, RabbitMQ, or Celery.
- Experience with clinical integrations such as e-prescribing (Surescripts), lab integrations (Quest), or pharmacy workflows.
- Exposure to event-driven architecture, since the team is beginning to adopt a Kafka-based (AWS MSK) eventing backbone; prior Kafka experience is welcome but not expected, and this is something you would learn here, not lead.
- Prior production support, sustaining, or reliability-focused engineering experience.
The national pay range for this role is $70,000.00 – $100,000.00 CAD per year. Actual compensation will be determined by factors such as the candidate's geographic market, experience, skills, and qualifications. This role is also eligible for a target annual bonus and Fabric's Canadian employee benefits. If your compensation requirement is greater than our posted range, please still consider applying; a determination can be made based on unique qualifications. Expected compensation ranges for this role may change over time.
At Fabric, we believe that a diverse workforce is essential to our success. We are an equal opportunity employer and are committed to creating an inclusive environment for all employees. We do not discriminate on the basis of race, color, religion, sex, national origin, age, disability, veteran status, or any other legally protected characteristic. We actively encourage individuals from all backgrounds to apply.
Recruitment Fraud Alert: Protect Yourself
Fabric Health is aware of scammers attempting to impersonate employers. To ensure that any recruiting contact you receive is legitimate, please adhere to the following:
- Verify the Domain: Official recruitment emails will only come from addresses ending in @fabrichealth.com or @gem.com. No other domain names are legitimate.
- Official Interview Tools: We use Gem for our recruitment process and Google Meet for all video interviews. Google Meet is always the platform used for your first interview; you will never be sent a Zoom link to set up or conduct an initial interview. All interviews are conducted via video unless specifically stated by our team as an audio call. We never conduct interviews via chat, social media, Skype, or WhatsApp.
- Zoom Usage: Zoom is utilized only for specific meetings set directly by our team for purposes outside of the standard interview process (e.g., coordination or onboarding discussions). It is never the first link you will receive from us.
- Authorized Contact & Texting: Fabric will only contact you if you have submitted an application or if you are connected to a current employee who shared your information with us. We will only send text messages if you have provided explicit authorization and consent, either through your application or while communicating directly with our team. If you have not explicitly authorized us to reach out, treat any SMS or unsolicited outreach as fraudulent and do not respond.
- Sensitive Data: We will never ask you for sensitive personal or financial documents (ID, banking info, SSN) during the application, interview, or candidacy stages. All sensitive data is handled through secure internal systems post-offer.
- Verify the Team: You can reference LinkedIn to verify members of our recruiting team; however, please remain vigilant as scammers may create fraudulent profiles. Always cross-reference the sender's email domain with our official @fabrichealth.com address.
If you question the validity of a contact or receive a suspicious message, do not click any links. Please submit a report via this link: https://forms.gle/N1AGAiXcAL2W57H9A
Please note: The security inbox is for reporting fraudulent activity only. Do not email this address for application status updates or to share application materials, as these will not be reviewed. Applications are only accepted and reviewed if submitted through our official application portal, and no application status information will be provided via the security email.