Senior Software Engineer, Backend
Summary
Senior backend engineer building and scaling Go microservices for Digibank, focused on availability, latency, and performance tuning of large-scale systems. Works with REST APIs, Kafka/SQS messaging, Kubernetes and Docker, AWS deployment, and CI/CD pipelines.
About the role
Design and write with the cutting edge GO language to improve the availability, scalability, latency, and efficiency of Digibank's range of services. Work with the engineering team to explore and create new design / architectures geared towards scale and performance. Participate in code and design reviews to maintain high development standards. Engage in service capacity and demand planning, software performance analysis, tuning and optimization. Collaborate with product and experience teams to define and prototype feature specifications. Work closely with the infrastructure team in building and scaling back-end services as well as performing root cause analysis investigations.
Key responsibilities
Design, build, analyse and fix large-scale systems
Learn full stack performance tuning and optimization
Debug and modify complex production software
Develop features as defined in the product or engineering specifications
Author specifications documents as per functional requirements provided by the product team
Help to mentor any junior engineers about the best-practices in software development
Have service ownership of several microservices in the squad
About you
Can be a good coder in any language (C++, C, Java, Scala, Rust, Haskell, OCaml, Erlang, Python, Ruby, PHP, Node.JS, C# etc.), but willing to work on Golang
At least 3-5 years of experience as a backend developer
Good knowledge of programming design patterns (Singleton, Factory, etc)
Solid understanding of the concept of clean code and SOLID principles
Good understanding of the clean architecture principles
Familiarity in developing services that serve HTTP Restful API, consume and publish messages from and to any stream platform like Kafka or Messaging platform like SQS
Familiarity with containerization (Kubernetes and Dockerfile)
Familiarity with any cloud deployment service, e.g AWS
Good understanding of CI/CD concepts
Exposure to Microservice architecture pattern, and have been involved in development of a microservice from design stage to deployment stage