{"@context":"https://schema.org","@graph":[{"@context":"https://schema.org/","@type":"JobPosting","@id":"#jobPosting","title":"Senior Software Engineer
Role details
Job location
Tech stack
Job description
As a Senior Software Developer at Certara, you will lead the design, development, and optimization of cloud-native, scalable, web applications, APIs and services. Collaborating with developers, IT, DevOps, and science teams, you'll drive technical solutions, mentor others, and ensure high-quality deliverables that support our business operations and customer needs in a dynamic, forward-thinking environment., * Lead the design, development, testing, and deployment of cloud-native scalable, high-performance solutions and platforms, including web applications, APIs, services, databases, event busses and other infrastructure.
- Provide collaborative expertise and consultancy on distributed event-driven cloud architecture good practices.
- Partner with internal stakeholders to define, analyse, and architect technical solutions that meet complex requirements.
- Diagnose and resolve advanced issues related to functionality, performance, scalability, and user experience.
- Collaborate with the DevOps team to design and optimize deployment pipelines and maintain robust cloud-hosted solutions.
- Oversee the integration of APIs and third-party services, ensuring seamless functionality and performance.
- Drive the development and maintenance of automated tests for APIs to guarantee reliability and efficiency.
- Provide expert technical support and mentorship to internal teams, customers, and junior developers.
- Enhance and maintain existing applications, implementing improvements in performance, reliability, and scalability.
- Enforce security best practices and ensure applications meet stringent protection standards.
- Proactively stay ahead of development trends, frameworks, and emerging technologies, recommending innovative solutions.
Requirements
-
Bachelor's degree in Computer Science or a related degree or equivalent professional experience
-
5+ years of proficiency in .NET C# and ASP.NET with a strong track record of delivering complex web solutions
-
Proven experience of designing and building distributed event-driven cloud architectures on AWS or Azure, using container orchestration (e.g. Kubernetes), and / or cloud native serverless tools (e.g. AWS Lambda, SQS / SNS, or Azure Functions, Service Bus, Event Grid)
-
Proven experience with SQL databases (e.g. SQL Server, PostgreSQL, SQLite) and / or No SQL databases (e.g. MongoDB, AWS DynamoDB, Azure Cosmos)
-
Proven experience with .NET ORMs (e.g. Entity Framework, Dapper)
-
Advanced understanding of good practice API development, integration, and testing (e.g. RESTful services, GraphQL).
-
Advanced understanding of security best practices, performance optimization, and scalability techniques in a SaaS or public cloud facing system.
-
Exceptional problem-solving skills, with an ability to weigh up pros and cons of architectural decisions, and meticulous attention to detail.
-
Excellent communication and leadership skills, with a proven ability to thrive in a collaborative team setting.
-
Significant experience with version control systems such as Git.
-
Strong expertise in writing and maintaining automated tests (e.g., unit, integration, or component tests using NUnit, xUnit, Jest, or Jasmine). Desirable Qualifications
-
Experience with both front-end (e.g. React, TypeScript) and back-end (.NET C#, ASP.NET) development, especially related to API consumption good practices such as schema validation, or event-driven architectures (e.g. webhooks).
-
Proficiency in modern web technologies (e.g. JavaScript, TypeScript, HTML, CSS).
-
In-depth understanding of CI / CD pipelines and DevOps practices, particularly in Azure.
-
Extensive experience with automated testing frameworks for APIs (e.g., Postman, NUnit).
-
Expertise with external dependency mocking tools (e.g., TestContainers, Wiremock).
-
Prior experience mentoring developers or leading technical initiatives.