Back to Job Search

Lead .NET Software Engineer

Job Description

As a Lead Software Engineer, you will do hands-on software development, help guide the team's technical direction, take part in architectural discussions, and actively engage with stakeholders from both business and technology to align expectations and remove roadblocks

We use .NET (Core/6) for most of our services, supported by MS Azure services for authentication, data storage, caching, messaging, and serverless workloads. Our containerized workloads run on a central Kubernetes platform. We connect Classification: Public services through APIs and our centralized Kafka event platform. We use VueJS & Flutter for front end development.

Responsibilities

The Lead is a particularly important "T-Shaped" role demonstrating both depth and breadth across key engineering competencies. As a contributing engineer in the Customs Integration Platform, you will be expected to:

  • Actively participate in all the scrum ceremonies, contributes towards building a backlog, release plans, estimations, reviews in collaboration with scrum Master, platform architect, product owners and engineering manage
  • Design, develop, test, deploy, improve, and maintain high quality (scalable, reliable, high performant, highly secure) micro services which follows Architecture principles, Information Models and quality and security standards
  • Design, implement and maintain technically sound, experientially superior, and aesthetically pleasing micro front end using VUE / Flutter which follows design system guidelines, standards
  • Drive features through completion and take responsibilities for the value we deliver
  • Collaborate with UX Designers and convert the design into working front end code
  • Collaborate with Product Owner and translate business requirements into technical requirements * Collaborate with other team members, perform code reviews, and pair programming exercises.
  • Monitor our business-critical application estate respond to incidents /change request / Bugs, prioritize them, analyse root cause and advise / implement solutions
  • Develop reusable code base or libraries for all the cross-cutting concerns which supports building a platform eco system

Who You Are

  • Comfortable working in a fast-paced environment where priorities and direction may change rapidly as customer requirements and market direction changes
  • Strong knowledge in data structures, algorithms, design patterns & Clean architecture principles
  • Strong knowledge in design principles/methodologies such as SOLID, 12 Factor App, DRY, TDD, BDD, Agile Scrum, XP, SAFe
  • Strong knowledge of Domain Driven Design & Event Driven Micro Services Architecture.
  • Strong knowledge on micro frontends, PWAs and server-side rendering.
  • Hands-on knowledge in designing, writing, and reviewing high performant reactive clean code
  • Solid experience in building front end application for web & mobile using HTML, CSS, Typescript, VueJS/React/Angular/Flutter.
  • Solid experience in building cloud native, event driven, distributed systems or services using .Net 6/C#, Kafka, ELK Stack, & Kubernetes
  • Solid experience in REST APIs, GraphQL & gRPC
  • Strong hand on experience in SQL, NOSQL, GRAPH databases such SQL Server / PgSQL, MongoDB, Cassandra, Redis
  • Strong hand on experience in testing tools/ frameworks such as SonarQube, xUnit, Postman, Cypress/Spectflow, Cucumber, Polaris, Blackduck & K6
  • Strong hands-on experience in one or more cloud technologies such as Azure/GCP/AWS.
  • Good documentation skills needed with experience in Swagger and/or Markdown.
  • Knowledge on DevOps tools such as Terraform, git Actions, Datadog, NewRelic, Kuma Service Mesh.