
Full-Stack Developer
PSI CRO · Lisbon, Lisbon, Portugal · Remote
- Pharmaceuticals & Biotech
- 1,001–5,000 employees
- Zug
Strong hiring record · median 13 days open
Hiring signal
Actively hiring
Posted yesterday · still listed on the employer's own board · How we score
All reasons
In its favour
- Posted yesterday
- Still listed on the employer's own board
The Full-Stack Developer will design, build, and maintain the internal platforms, applications, and integrations that run Milestone One’s business. Our applications have a React/TypeScript front end, an API layer, and a database backend, hosted on Azure and integrated with Microsoft 365.
We work data-first
we design and document the data structure, build the API from that specification, and then build the front end. You will work in a small team alongside AI coding agents, with security, data protection, and documented testing built into how we deliver.
Role responsibilities
- Design and document data models and databases (Azure SQL) for our central data platform, internal applications, and reporting
- Develop secure REST APIs and backend services (.NET / C#, Azure App Service or Functions), with access checks in the API and permissions enforced at both the API and data layers
- Build React/TypeScript front ends that integrate with our company intranet and follow the Milestone One design system
- Build integrations between internal systems and third-party services (APIs, webhooks, data imports)
Work in GitHub
pull requests, code reviews, GitHub Actions CI/CD, and automated code and secret scanning
- Define infrastructure as code with OpenTofu, using Managed Identity and Key Vault instead of stored secrets
- Write automated tests with Playwright and support business users during acceptance testing
- Use AI coding agents productively and safely, reviewing, testing, and taking ownership of all generated code
- Follow our change management and system validation procedures, and keep technical documentation current
- Collaborate with stakeholders to shape requirements and turn them into working solutions
- Professional experience building web applications with React/TypeScript and a backend language such as C# / .NET (we welcome both experienced and early-career developers)
- SQL — schema design, data modelling, and writing efficient queries
- REST API design, authentication and authorization (Entra ID, OAuth 2.0 / OpenID Connect)
- Git branching, pull requests, and code review; CI/CD pipelines (GitHub Actions or Azure DevOps)
- Azure fundamentals — App Service, Azure SQL, Blob Storage, Key Vault, Managed Identity
- Secure coding practices (e.g. OWASP Top 10) and care for personal and sensitive data
Willingness to work in a regulated environment
change control, testing evidence, audit trails, and data integrity
- Fluent in English, written and spoken
Nice to Have
- .NET 8 / C# — REST API development (Entity Framework or Dapper)
- Infrastructure as code with OpenTofu or Terraform
- Automated testing with Playwright or similar tools
- Professional experience working with AI coding agents or assistants
- Azure Functions, Static Web Apps, API Management, Front Door / WAF v2
- Star schema / dimensional modelling (staging → dimension → fact ETL)
- Microsoft Graph API and Microsoft 365 integration
- Clinical trial domain knowledge (sites, studies, patients, financial events)
- Knowledge of data protection requirements such as GDPR and HIPAA
If you feel it is time to make your skills and knowledge visible within a developing company with true focus on its people, then Milestone One is the right choice for you.
Skills
More jobs at PSI CRO
All 32Similar roles
- Senior Infrastructure Engineer (PostgreSQL DBA)Workato · Lisbon, Portugal · Porto, Portugaltoday
- DevOps EngineerWire IT · Porto, Portugaltoday
- Senior Dynamics 365 & Azure Integration DeveloperInetum · Lisbon, Lisbon, Portugaltoday
- IT Architect (French Speaker) | BPCE-SINatixis in Portugal · Portugalyesterday
- Kubernetes Engineer (Openshift)LUZA Group · Porto, Portugalyesterday
- Mainframe Operations Engineer (z/OS)Inetum · Lisbon, Lisbon, Portugalyesterday