GENERAL DESCRIPTION
This role is for a Senior Software Engineer for the Digital Transformation Team.
KEY FEATURES OF THE POSITION
Functional / Technical
- Backend Development: Expert-level proficiency in C#, .NET Core / .NET 8+, and ASP.NET MVC / Web API
- Frontend Development: Strong experience with Angular (v19+), TypeScript, RxJS, and NgRx or similar state management libraries
- Database Management: Proficient in SQL Server, Entity Framework Core, LINQ, and query optimization
- Cloud Technologies: Experience with Azure (App Services, Functions, Key Vault, CI/CD pipelines, etc.) or AWS equivalent
- Microservices Architecture: Knowledge of designing, building, and integrating microservices using RESTful APIs and message queues (e.g., RabbitMQ, Azure Service Bus, Kafka)
- DevOps & CI/CD: Familiar with Gitlab, Git, Docker, Kubernetes, and automated deployment pipelines
- Testing: Proficiency in unit testing and integration testing best practices
- Security: Understanding of OAuth2, JWT, IdentityServer, and best practices for securing APIs and web applications
- Performance Optimization: Skilled in identifying and resolving performance bottlenecks across frontend and backend
- UI/UX Awareness: Ability to implement responsive, accessible, and user-friendly interfaces aligned with modern design principles
Professional & Soft Skills
- Client & Stakeholder Management: Experienced in engaging directly with business stakeholders and clients to gather requirements, clarify technical needs, and translate them into effective software solutions
Skilled in managing expectations, communicating technical constraints in clear business language, and providing regular project updates and demonstration
Comfortable leading technical discussions, solution presentations, and acting as a trusted advisor for both internal and external partners
- Agile Delivery: Deep understanding of Scrum/Kanban, including sprint planning, retrospectives, and backlog refinement
- Leadership & Mentorship: Provides guidance through code reviews, promotes clean architecture principles, and mentors junior developers in modern .NET and Angular practices
- Collaboration: Strong communicator who works effectively with cross-functional teams — developers, QA engineers, designers, product owners, and business leads
- Problem Solving: Analytical mindset with the ability to quickly identify issues and deliver practical, high-quality solutions
- Documentation & Communication: Produces clear technical documentation and architecture diagrams for both technical and non-technical audiences
- Continuous Improvement: Passionate about adopting new tools, frameworks, and practices that improve development efficiency and product quality
SKILLS REQUIREMENTS OF THE POSITION
Technical
Must Have:
- C#, .NET Core / .NET 8+, ASP.NET MVC, and Web API development
- Angular (v19+), TypeScript, RxJS, NgRx (or equivalent state management)
- HTML5, CSS3, SCSS, and responsive web design principles
- SQL Server, Entity Framework Core, LINQ, and database performance tuning
- RESTful API design and integration
- Microservices architecture and message-based communication (RabbitMQ, Azure Service Bus, Kafka)
- Azure cloud services (App Services, Functions, Key Vault, DevOps, CI/CD Pipelines)
- Version control and branching strategies using Git (GitHub, GitLab, or Azure Repos)
- Containerization with Docker and orchestration using Kubernetes
- Automated build and deployment using Azure DevOps or similar tools
- Unit, integration, and UI testing (xUnit, NUnit, Jest, Karma, Cypress)
- Authentication and authorization with OAuth2, JWT, and IdentityServer
- Frontend performance optimization and accessibility best practices
- Logging, monitoring, and diagnostics (Serilog, Application Insights, ELK Stack)
- Experience with agile development methodologies (Scrum, Kanban)
Desirable:
- SignalR for real-time communication
- Clean Architecture or CQRS patterns
- Domain-Driven Design (DDD) principles
- Automated UI testing (Cypress, Playwright)
- Knowledge of container orchestration with Helm
- Exposure to DevSecOps and application security practices
Personal and Social
- Clear communicator – explains ideas and technical concepts effectively
- Team player – collaborates well across functions and disciplines
- Strong time management – prioritizes work and meets deadlines
- Proactive problem solver – identifies and resolves issues early
- Client-focused – delivers solutions aligned with business needs
- Supportive mentor – guides and upskills junior team members
- Adaptable – adjusts quickly to new tools and priorities
- Accountable – takes ownership and delivers reliable results
- Collaborative fosters teamwork and a positive work culture
- Continuous learner – keeps skills and knowledge up to date
- Open to feedback – values input for growth and improvement
- Professional integrity – acts with honesty and respect