> Markdown version of [/jobs/ext/2706762-software-engineer-clinical](https://www.wearedevelopers.com/jobs/ext/2706762-software-engineer-clinical). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Software Engineer, Clinical - **Company:** ECP Incorporated - **Location:** United States (Remote available) - **Experience:** Expert - **Contract:** Permanent contract - **Skills:** Query Performance, Artificial Intelligence, Amazon Web Services, Adobe Coldfusion, Database Models, Microsoft SQL Server, Node.Js, TypeScript, Web Applications, ReactJS, Event Driven Architecture, AngularJS, Playwright, Production Code, Domain Driven Design - **Published:** September 4, 2026 - **Apply:** https://startup.jobs/senior-software-engineer-clinical-ecp-9613454 ## About the Role * A legacy-to-next-generation migration you saw through, particularly one where both systems ran in production at the same time * ColdFusion, or another language you inherited rather than chose * HIPAA, PHI, or another regulated data environment * SQL Server, AWS, event-driven architecture in production * Offline-first or progressive web applications * Playwright or comparable browser automation you owned yourself * Healthcare, or time spent watching clinical staff work ## Description The clinical product is ECP's flagship, and caregivers are in it every shift. When a nurse documents a medication administration or a care aide records an overnight observation, that's our software. The team you'd join builds the next generation of it. The new platform is live and customers are using it, but most clinical functionality still sits in ColdFusion and AngularJS. We move customers a function at a time, so a caregiver can be in the new platform for one task and in ColdFusion for the next. Finishing that migration is the near-term work, and we're doing it with AI. The hard part is proving a migrated workflow still does what it did before. You'd report to the Senior Engineering Manager for Clinical, on a team of four engineers with a tech lead and a dedicated product manager. You'd own clinical domains end to end, moving them onto the new platform for most of your first year and building new capability on them after that. The stack: The new code is Node, React, and TypeScript on AWS, with domain-driven design and an event bus between the products. Data is SQL Server on a single-tenant database model, one per community. You won't write much ColdFusion, but you'll read plenty of it. What You'll Build The migration. You'll take a workflow that lives in ColdFusion today, work out what it does including the parts nobody wrote down, and rebuild it. You own that domain through to production, and you write the tests that prove it works. Not all of it carries over unchanged. The medication administration workflow is already redesigned and waiting, and you'll settle with product up front which differences are deliberate, so nobody reads one as a regression later. New clinical capability. Once a domain lands on the new platform, the team builds on it. You'll work with the product manager on scope and sequencing, and we expect you to push back when there's a cheaper way to get a caregiver the same outcome. The quality bar. The team is moving toward engineer-owned automated coverage in Playwright, and we want it to go further. You carry the pager for the domains you build. What Success Looks Like At six months the migration is well underway, and several of the domains that moved are yours. Caregivers are using them. The team has taken its cues from you on what AI-generated work is fit to merge, and review isn't where the migration slows down. Past the migration, this job is new clinical capability, and the measure is how quickly a caregiver gets something they asked for. Requirements Required * Depth in TypeScript on both sides of the stack, Node on the server and React in the browser. Tell us about a feature you took from the data model to the interface, and what you'd model differently now. * AI-assisted development is how you work, daily, on production code, and you know where you stopped trusting it. * You've pointed AI at a large codebase you didn't write and gotten useful work out of it. The part we want to hear about is what you did when the first answer was confidently wrong because the model couldn't see enough of the system. * You've moved other engineers along in how they use AI. * Domain-driven design in a complex domain. The version that matters here is drawing a boundary against a system you can't change, so tell us about one you drew and what it cost you when it landed in the wrong place. * You've built software where a defect has consequences past a bad user experience, and it changed how you test and how you ship. You were on call for it. * Data modeling and query performance where the tenant model is the data model. You've found and fixed a query that was fine in development and fell over on your largest customer. * You work with product instead of waiting on it. You've changed what got built by understanding the business problem behind a story. ## Related Videos - [Shipping Faster with Less: Render on Cloud Hosting, AI Workloads, and the Future of DevOps](https://www.wearedevelopers.com/videos/1894-shipping-faster-with-less-render-on-cloud-hosting-ai-workloads-and-the-future-of-devops) - [How to Stop Choosing JavaScript Frameworks and Start Living](https://www.wearedevelopers.com/videos/118-how-to-stop-choosing-javascript-frameworks-and-start-living) - [Watch Tests Go Brrrr! : Getting Started with Cypress in ReactJS](https://www.wearedevelopers.com/videos/282-watch-tests-go-brrrr-getting-started-with-cypress-in-reactjs) - [Stop using Node.js like in 2020! What changed and what you can do today with Node.js](https://www.wearedevelopers.com/videos/100011-stop-using-node-js-like-in-2020-what-changed-and-what-you-can-do-today-with-node-js) - [Stand alone components in Angular](https://www.wearedevelopers.com/videos/656-stand-alone-components-in-angular) - [Stop Using Node.js Like It’s 2020! - Alfonso Graziano](https://www.wearedevelopers.com/videos/1863-stop-using-node-js-like-it-s-2020-alfonso-graziano) ## Related Articles - [How We Built a Worry-Free System That Runs for 10+ Years – And What We’d Do Again](https://www.wearedevelopers.com/magazine/751-how-we-built-a-worry-free-system-that-runs-for-10-years-and-what-we-d-do-again) - [Dev Digest 120 - Apple and peers](https://www.wearedevelopers.com/magazine/455-dev-digest-120-apple-and-peers) - [Dev Digest 139 - Soft and hard queries](https://www.wearedevelopers.com/magazine/487-dev-digest-139-soft-and-hard-queries) - [Dev Digest 121 - AI goes offline](https://www.wearedevelopers.com/magazine/456-dev-digest-121-ai-goes-offline) - [Dev Digest 129 - Now that's what I call private data!](https://www.wearedevelopers.com/magazine/468-dev-digest-129-now-that-s-what-i-call-private-data) - [Dev Digest 131 - AI'm not sure about OSS](https://www.wearedevelopers.com/magazine/472-dev-digest-131-ai-m-not-sure-about-oss)