Developer II
Position summary
About our company
Introduction
Job description
Key Responsibilities
· Develop, test, deploy, and maintain RESTful web services and APIs using .NET, C#, and related technologies.
· Develop microservices that support defined business capabilities within distributed application environments.
· Translate functional and non-functional requirements into detailed technical designs and working software.
· Build, package, and support containerised services using Docker and approved container platforms.
· Develop integrations with internal and external systems using APIs, databases, and asynchronous messaging where applicable.
· Apply agreed software design patterns, coding standards, secure development practices, and API standards.
· Implement appropriate authentication, authorisation, input validation, error handling, logging, and auditability.
· Create automated unit and integration tests and support quality assurance, performance testing, and defect resolution.
· Participate in peer code reviews and incorporate feedback to improve software quality and maintainability.
· Diagnose and resolve defects and production incidents, contributing to root-cause analysis and preventative improvements.
· Contribute to CI/CD pipelines, release automation, configuration management, and deployment activities.
· Produce and maintain technical documentation, API definitions, support guides, and operational runbooks.
· Participate in Agile ceremonies and provide realistic estimates, delivery updates, and early escalation of risks or dependencies.
· Support junior developers through knowledge sharing and practical technical guidance when required.
Minimum requirements
Job Related Knowledge
· Strong working knowledge of C#, .NET, ASP.NET Core, and object-oriented programming principles.
· Practical knowledge of REST API design, HTTP methods, status codes, versioning, pagination, validation, and error-handling conventions.
· Working knowledge of microservices architecture, service boundaries, stateless design, resilience, and distributed-system considerations.
· Containerisation concepts and practical use of Docker, including images, registries, configuration, and runtime diagnostics.
· Relational database concepts, SQL development, transactions, indexing, and data-access approaches such as Entity Framework Core.
· API security concepts including OAuth 2.0, OpenID Connect, JSON Web Tokens, authentication, authorisation, and secure secret handling.
· Software design principles and patterns, including SOLID, dependency injection, separation of concerns, and maintainable code practices.
· Automated testing principles, including unit, integration, contract, and API testing.
· Source control and collaborative development practices using Git and pull-request workflows.
· CI/CD concepts, automated build and deployment pipelines, environment configuration, and release controls.
· Observability fundamentals including structured logging, metrics, tracing, alerting, and correlation identifiers.
· Agile software delivery and the software development lifecycle.
· OpenAPI/Swagger specifications and technical documentation practices.
Job Experience
· 4 to 7 years of software development experience, with substantial focus on backend or service development.
· At least 3 years of practical experience developing backend services using .NET and C#.
· Experience designing, building, testing, and supporting RESTful APIs in development and production environments.
· Experience developing services that integrate with relational databases and internal or third-party systems.
· Practical exposure to containerised application development using Docker.
· Experience working with source control, code reviews, automated testing, and CI/CD pipelines.
· Experience working within an Agile delivery team and collaborating across analysis, development, testing, architecture, and operations disciplines.
· Exposure to cloud platforms, container orchestration, messaging, or event-driven solutions is advantageous.
Education
Essential
· Bachelor's degree or diploma in Computer Science, Information Systems, Software Engineering, or a related discipline, or equivalent relevant experience.
Preferred
· Relevant Microsoft .NET or cloud certification.
· Certification or formal training in Docker, Kubernetes, secure development, or API design is advantageous.
Job Related Competencies
Technical Competencies
· Backend service development
· REST API and microservices development
· Software design and code quality
· Database development and data access
· Containerised application development
· Automated testing
· Troubleshooting and root-cause analysis
· Secure coding
· DevOps and CI/CD collaboration
Behavioural Competencies
· Analytical thinking and problem solving
· Attention to detail and quality orientation
· Accountability and delivery focus
· Collaboration and knowledge sharing
· Clear written and verbal communication
· Planning and organising
· Adaptability and continuous learning
· Customer and business awareness
Desirable Skills
· Kubernetes or an equivalent container-orchestration platform.
· Azure, AWS, or another enterprise cloud platform.
· Event-driven architecture and messaging technologies such as Kafka, RabbitMQ, or Azure Service Bus.
· API gateways and API management platforms.
· NoSQL databases and distributed caching technologies.
· Infrastructure as Code, such as Terraform or Bicep.
· DevSecOps practices, dependency scanning, and automated security testing.
· Application performance monitoring and observability platforms.
Career Development
This role provides a development path toward Senior Backend Service Developer, Backend Technical Lead, or related specialist roles. Progression is supported through increasing ownership of complex services, deeper involvement in solution design, contribution to engineering standards, production support leadership, and mentoring of less-experienced developers.