Senior Software Developer
The Senior Software Developer provides technical leadership within the development team, owning architecture and design decisions for their area, setting and upholding coding standards, and acting as the escalation point for complex technical problems. The role mentors junior and mid-level developers, leads code reviews, and represents the development team in solution design discussions with the Solutions Architect and Technical Business Analyst, while continuing to deliver high-quality, well-tested code and contributing to cross-team technical decisions.
Owning Architecture and Design for Their Area :
- Owns technical design and architectural decisions for a defined product area or system component.
- Ensures designs are scalable, maintainable, and aligned with broader system architecture and non-functional requirements.
- Documents key design decisions and trade-offs so they are understood by the wider team.
- Balances pragmatic delivery timelines against long-term technical health of the system.
Setting and Upholding Coding Standards
- Defines, documents, and evolves coding standards and best practices for the team.
- Leads code reviews, ensuring both technical correctness and adherence to agreed standards.
- Identifies recurring quality issues across the team and drives corrective action.
- Champions clean-code, testing, and documentation practices by example.
Mentoring and Developing Junior and Mid-Level Developers
- Actively mentors junior and mid-level developers through pairing, structured feedback, and knowledge-sharing sessions.
- Supports the ramp-up and skills growth of newer team members alongside team leads.
- Delegates appropriately-scoped work to grow others' capability rather than retaining all complex work.
- Creates or contributes to internal learning materials, guides, or onboarding documentation.
Acting as Escalation Point for Complex Technical Problems
- Serves as the go-to resource for complex technical issues, production incidents, and difficult defects within their area.
- Leads or supports root-cause analysis on significant incidents and ensures preventive action is taken.
- Balances hands-on problem-solving with enabling others to solve similar problems independently in future.
- Communicates technical risk and impact clearly to the team lead and relevant stakeholders.
Contributing to Cross-Team Technical Decisions
- Represents the development team in solution design discussions with the Solutions Architect and Technical Business Analyst.
- Provides technical input into cross-team initiatives, integration points, and shared platform decisions.
- Surfaces dependencies and risks that affect other teams or system components early.
- Advocates for practical, maintainable solutions in cross-functional design conversations.
Delivering Working Software to Scope and Specification
- Independently delivers complex features and technical work in accordance with approved specifications and acceptance criteria.
- Ensures own code meets the agreed Definition of Ready and Definition of Done.
- Leads by example in translating ambiguous requirements into clear, well-scoped technical work with the Product Owner/Business Analyst.
Driving Estimation, Planning, and Sprint Delivery
- Leads or strongly contributes to estimation sessions, providing technical judgement on complexity and risk for the team.
- Helps the team commit to realistic, well-understood sprint goals.
- Identifies and communicates delivery risks early, including those arising from technical debt or dependencies.
Driving Continuous Improvement
- Leads or actively drives retrospectives, pushing the team toward concrete, actionable improvements.
- Champions adoption of improved engineering practices, tooling, and standards across the team.
- Tracks follow-through on agreed improvement actions and holds the team accountable.
- 5-8+ years' professional software development experience, including demonstrated technical leadership within a development team.
- Deep proficiency in at least one modern programming language and ecosystem, with working familiarity across multiple stacks.
- Proven track record of owning architecture and design decisions for a product area or system component.
- Extensive experience with RESTful/event-driven service design, relational and/or NoSQL databases, and API design best practice.
- Strong experience with CI/CD pipelines, automated testing strategy, and production support/troubleshooting.
- Demonstrated experience mentoring junior and mid-level developers and leading code reviews.
- Experience contributing to or leading technical design discussions with architects, business analysts, and other stakeholders.
- Experience with cloud-native architecture (e.g., Microsoft Azure, AWS, or GCP) and containerisation/orchestration (Docker, Kubernetes).
- Experience integrating with enterprise standards such as HL7/FHIR (healthcare interoperability) or ERP systems such as SAP.
- Experience with distributed systems patterns and messaging technologies such as Kafka or RabbitMQ.
- Familiarity with application security standards and practices (e.g., OAuth2, TLS) at an architectural level.
- Experience defining or influencing engineering standards, technical roadmaps, or platform-level decisions.
- Experience with work-tracking and collaboration tools such as Jira, Confluence, Azure DevOps, or Trello at a team-leadership level.
- Exposure to, or working knowledge of, the healthcare/medical domain (e.g. healthcare providers, medical schemes, or health-tech products) is advantageous.
- Comfortable using AI-powered tools to enhance day-to-day productivity (e.g. AI coding, design, writing, or analysis assistants) is advantageous — the organisation is an AI-driven technology function and actively encourages AI-augmented ways of working.