Open role
[Remote] Senior Full-Stack Engineer
Note: The job is a remote job and is open to candidates in USA. Perci Health is reimagining cancer care through a virtual clinic that combines digital innovation with expert-led human care. The Senior Full-Stack Engineer will build and evolve the company’s healthcare platform, delivering full-stack features while helping establish safe, AI-assisted engineering practices for a regulated medical software environment.
Responsibilities
- Design, build and ship features end to end, from data model and API design through to frontend implementation
- Design and build robust, scalable APIs in TypeScript and Node.js, published in OpenAPI format
- Architect resilient distributed systems and third-party integrations, with sound error handling, failure mode mitigation and transaction control
- Work with FHIR R4 resources and clinical data models within Medplum
- Contribute to our frontend rewrite as we move from Flutter to React
- Make sensible build-versus-buy decisions; we build only what creates differentiated value for Perci and source the rest
- Own the testing of your own work, and contribute beyond your core discipline. We are a small team, so everyone picks up QA and DevOps work
- Ensure our development practices meet the requirements of the regulatory context. We build software as a medical device and the consequences of getting it wrong are more significant than in most products
- Write specifications precise enough that an agent can implement them and that you can verify the result against them. We treat this as core engineering work rather than documentation overhead
- Consider verification at the same time as the specification; how we would know the change was built correctly and where it is likely to fail
- Help build the tooling and controls that allow agents to work safely, covering risk-based review, monitoring, alerting, incident response and automated pre-release verification
- Help us determine where agent-authored change can be released directly to production and where it cannot, bearing in mind that this judgement has clinical consequences
- Set the standard and help define the practice for how we do all of this
Skills
- You are pragmatic about technology and about how software gets built. You hold your preferences for reasons and you are able to recognise when those reasons no longer apply
- You are comfortable with ambiguity and incomplete information, and you have your own methods for unblocking yourself where there is a lack of clarity rather than waiting for someone else to provide it
- You are open to experimentation, including working in ways you have not worked before. It is quite reasonable to expect that some of what we try will not work
- You have worked in a small team, where requirements are not fully specified and delivering means filling the gaps yourself, or working out how they should be filled
- You are able to think on paper, and can describe a system in writing precisely enough that another engineer, or an agent, could build it from your description
- You are a clear and confident communicator. We are fully remote, so you will need to attend stand-ups, raise concerns where something looks wrong, and keep people working towards the same objective
- You have a clear motivation to build products that benefit people, and it is evident in how you work
- Around 6+ years building software end to end, ideally in TypeScript, Node.js and React. We are open to adjacent stacks where the fundamentals are strong
- Substantial experience of system design and architecture, including systems that have been in production long enough to show their weaknesses. We will ask you to talk us through something you have designed, what went right, what went wrong and what you would do differently
- Practical experience of distributed systems and third-party integrations, including auth, webhooks, rate limits, retry strategies, fault tolerance, transaction management and the various quirks that come with them
- Strong testing ability and practice, developed through enough experience to be able to look at a design and identify where it is likely to fail
- You have used AI coding agents on production work and have an informed view of where they help and where they do not
- Comfortable working both autonomously and collaboratively, with a positive influence on the engineers around you
- Experience in a regulated industry such as healthcare or finance. You understand why compliance matters and will not cut corners
- Familiarity with FHIR R4 or other healthcare data standards, and experience with Medplum or similar platforms
- AWS infrastructure experience. We self-host Medplum on AWS
- Some Flutter exposure, even from a personal project, as we plan our frontend rewrite
- Evidence of an interest in your craft outside of work, such as writing, open source contributions or community involvement
- Startup, scale-up or founding engineer experience. You are comfortable with shifting priorities and adapting quickly
Benefits
- 30 days of annual leave per year, in addition to UK statutory and public holidays
- 3 days paid annually to volunteer with a charity or community group of your choice
- Access to the YuLife wellbeing app
- Company laptop and any additional equipment required for the role
- Access to Perci's pension scheme
- Income protection cover
- Enhanced company sick pay
- Enhanced maternity and adoption pay (primary carer): 20 weeks at full pay, 16 weeks at 25%
- Enhanced paternity and adoption pay (secondary carer): 6 weeks at full pay, followed by 6 weeks at 50% of pay
- Access to over 400 co-working spaces across the UK
- Remote first working, supporting genuine work-life balance
- Employee Share Option Incentivisation
Company Overview