About the Role
About the role
We are reshaping how patients get through a hospital. The visible half of that is the product a patient actually uses: finding the right appointment, booking it, filling in what the clinic needs before they arrive, and getting through admission without a paper folder.
We are looking for experienced Senior PHP/Symfony engineers to join a long-term eHealth platform, building and improving the software used by patients and by the hospital staff who run their clinics on it. You will work on complex, business-critical applications where correctness, maintainability, performance and clean engineering practices are essential. This is a hands-on development role for engineers who are comfortable working independently, discussing technical decisions and contributing as senior members of a team.
You would join the product team behind the platform itself: the patient-facing booking and admission journey, the API that serves it, and the admin panel where each hospital models its own structure, services and rules. This is a friendly, senior group of engineers with end-to-end ownership – the same people design a feature, ship it, and are on the call when a clinic's schedule does not behave the way they expected.
What you will do
Design and build backend applications and services in modern PHP and Symfony: clean, testable, well-structured components that other people can pick up.
Build the patient journey: booking flows, patient documents and uploads, questionnaires and checklists, notifications by mail and SMS, chat, video consultation, and the admission steps in between. This is the hardest and most interesting domain modelling in the product, and small mistakes here are visible in a real clinic's day.
Design and build APIs consumed by your own frontend and by other systems, and keep them versioned and backwards-compatible while they change.
Make features operable. Async processing, scheduled jobs, idempotency, concurrency-safe writes, structured logging – and knowing what a support ticket will need six months from now.
Modernize what is already there. An established platform has history. You will improve it incrementally.
Work to GDPR and healthcare security requirements as a design constraint: patient data, encryption at rest, role- and permission-based access, auditability.
Own the frontend of your feature: Twig and Stimulus for the admin panel, React with TypeScript where the UI justifies it. You do not need to be a frontend engineer, but you should not need someone else to render a page.
Own your tests, including the end-to-end ones: unit and functional tests for the logic, Playwright/Gherkin scenarios for the flows a patient or a clinic admin actually walks through.
Shape the technical direction, not just the ticket: set the bar in code review and architecture discussion, raise what needs rebuilding, and help decide what the next quarters look like.
Own tasks end-to-end, from analysis through implementation to how they behave in production.
What you need
6+ years of professional PHP experience.
3+ years of hands-on Symfony (DI, console, events, forms, security, HTTP kernel) or a comparable PHP framework.
Strong experience designing and building REST APIs that other teams or products consume.
Doctrine ORM and solid MySQL/MariaDB knowledge: schema design, indexing, N+1 and query-plan debugging, and knowing when the ORM is the wrong tool.
Domain modelling of non-trivial business rules – scheduling, booking, pricing, entitlements, workflows or similar.
SOLID, design patterns and clean architecture.
Experience writing unit and integration tests, and the judgement to know which level a given behavior belongs at.
Enough frontend to finish a full-stack feature yourself: templating, and JavaScript or TypeScript in a component framework.
Confident with the Linux shell and Docker.
Proactiveness: you raise risks, gaps and bad assumptions early instead of waiting to be assigned the next ticket.
A user-first mindset: the people at the other end are patients and hospital staff, and pragmatic, well-tested code is what protects them.
Fluent English, written and spoken: all technical discussion, review and day-to-day work happens in English.
What would be great to have
Previous work in healthcare, eHealth or another regulated domain (medical devices, finance, or comparable).
Experience with other business-critical or data-sensitive platforms.
React and TypeScript beyond the basics, or Symfony UX (Stimulus, Live Components).
Calendar and time modelling done seriously: recurrence, time zones, DST, overlapping capacity.
Multi-tenant or heavily configurable products, where one codebase has to behave differently for every customer without forking.
E2E testing with Playwright, Cypress or similar, and BDD/Gherkin.
PHPStan and Psalm, or comparable static analysis at a strict level.
Async and background processing at scale: Symfony Messenger, queues, workers, schedulers.
External-systems integration experience: you have built and operated interfaces for systems you did not control, and you know how they fail.
DevOps and deployment experience: CI/CD pipelines, infrastructure work, server administration (Linux, Apache, nginx), MariaDB/MySQL operations.
Experience modernising or upgrading legacy PHP/Symfony applications.
Working with JIRA in an Agile/Scrum environment.
Productive use of AI coding assistants (Claude Code, Codex or similar): you know where they genuinely accelerate work and where their output is a first draft, not a merge candidate.
Do not worry if you do not tick every box. If the role sounds like yours, apply anyway. We would rather read your application than guess what you can do from a checklist.
Our stack
Backend: PHP 8.4, Symfony 7.x, Doctrine ORM, Symfony Messenger
Data: MariaDB, MySQL
Frontend: Twig, Stimulus, Symfony UX, React 18, TypeScript, Webpack Encore
Quality: PHPUnit, Playwright, Gherkin, PHPStan, Psalm, PHP CS Fixer, automated architecture checks
Infrastructure: Docker, Linux, CI pipelines
What the platform does
One appointment can depend on several people, rooms and pieces of equipment being free at the same time – and the clinic next door defines all of it differently. Our product has to model that without a developer on site for every change.
The platform covers the booking journey (a patient finds, books, reschedules and prepares for an appointment, on a flow each hospital defines for itself), the scheduling engine (turning who and what is available, in which combinations and how often, into slots a patient can actually book), admission and documents (the forms, questionnaires and paperwork a patient would otherwise carry in a folder), communication (notifications, chat and video consultation), and the admin panel (where hospital staff configure all of the above themselves, with role-based access and a full audit trail, and where they see how their own clinic is running).
How we work
Direct ownership – including talking to the people whose problem you are solving.
Every change goes through review, static analysis and the test suite.
Architecture decisions are written down and argued before they are merged.
AI assistants are part of daily work here, not a policy debate. We expect engineers to use them where they genuinely speed things up, and to review their output like any other first draft.
We value engineers who challenge ideas constructively and explain their reasoning, rather than working purely from predefined specifications.
Our hiring process
We will start with technical screening questions covering your experience, PHP/Symfony knowledge, REST API development and relevant projects. This leads to a technical interview where we discuss your previous experience, the technical decisions you made, your Symfony/PHP knowledge and how you approach engineering problems. Finally, there is a live-coding session – a practical exercise on a problem close to the actual work.