Senior Software Engineer (.NET / Java)
About the role
This role is for a Senior Software Engineer specializing in either .NET (C#) or Java, working within a Colombo-based engineering team that delivers enterprise platforms for the financial services sector. The position involves end-to-end feature delivery, including design, implementation, testing, documentation, and production support. Responsibilities include converting legacy business logic, building APIs and integrations, supporting data migrations, and contributing to technical design and peer reviews. Candidates must have strong engineering fundamentals, experience with REST APIs, SQL, automated testing, and either modern .NET or Java stacks. The company values adaptability, ownership, and collaboration, offering varied projects and the opportunity to work closely with domain experts.
Must have
- Strong engineering fundamentals: OOP, SOLID principles, design patterns, clean code and refactoring
- REST API development
- Strong SQL: query optimisation and data modelling
- Automated testing, root cause analysis and defect management
- Git and CI/CD concepts
- Ability to read unfamiliar codebases, understand existing functionality and learn a complex business domain quickly
- Degree in Computer Science, Software Engineering or a related field, or equivalent practical experience
- .NET: Solid C# and modern .NET experience; ASP.NET Core; SQL Server including data migration concepts; unit and automated testing with .NET frameworks; experience in agile teams
- Java: Strong Java development; Spring, Maven or Gradle, JUnit and a mocking framework; JSON/XML; TDD principles; IntelliJ or similar; database performance analysis
Nice to have
- .NET: Service-oriented architecture, microservices, authentication and authorisation, background processing, Azure, containers, monitoring and observability, Infrastructure as Code, legacy modernisation or data migration experience
- Java: Integration patterns, SOA and event-driven concepts, Docker, Azure or AWS, experience converting procedural or legacy code into modern OO solutions
- Both: Frontend experience (React/TypeScript; Blazor for .NET; Angular for Java); financial services exposure
Technologies
- Agile
- Angular
- Authentication
- AWS
- Azure
- CI/CD
- C#
- Data Modeling
- Docker
- .NET
- Event-Driven Architecture
- Git
- Gradle
- Infrastructure as Code
- Java
- JSON
- JUnit
- Maven
- Microservices
- Observability
- React
- REST
- SOA
- Spring / Spring Boot
- SQL
- SQL Server
- TDD
- Test Automation
- TypeScript
- XML
Highlights
The role is based in Colombo and requires willingness to learn new technologies, including frontend work when needed. The company operates in regulated, data-intensive environments and emphasizes quality, security, and compliance. AI-assisted engineering tools are used, but engineers are expected to fully own their output.