Senior Software Engineer (Cloud Native)

Location: Singapore
Job Type: Temporary / Contract
Reference: JO-2105-11701

Salary: Up to $5,800 / month

Contract duration: 12 months

Nearest MRT: Expo, Upper Changi (DTL)

Job Responsibilities:

  • Develop Cloud Native web application and mobile solution using microservice architecture and Domain Driven Design.
  • Design, build and maintain APIs for new and existing backend services.
  • Contribute to all phases of the software development lifecycle.
  • Develop applications that are reliable, highly-available, high performance and low latency.
  • Develop applications that are modular, scalable, reusable and maintainable.
  • Produce code that are of high standards, following industry best practices and conventions.
  • Be aware of company’s architectural and technological strategy and to develop applications that are aligned to these goals.
  • Identify areas of improvement and propose solutions to these problems.
  • Keep abreast of latest technologies, techniques, tools, best practices and concept, and apply them where applicable.
  • Ability to evaluate and weigh the pros and cons of using a technique, solution and product.
  • Be the subject matter expert on microservice design concepts, best practices, tools and implementation techniques.
  • Learn and contribute to the overall knowledge of the company in software development.
  • Able to work independently, as well as in a team of PM, BA, architects and engineers.
  • Liaise with vendors on design and implementation activities.
  • Support all BAU activities where applicable.

Job Requirements:

  • Experience in Java and SpringBoot.
  • Experience in JQuery, Vue.js or other JS framework.
  • Experience in database design and query optimisation.
  • Experience in using database such as Oracle, MSSQL and MySQL.
  • Experience in TDD approach in software development.
  • Experience in developing event driven microservice based on Kafka or similar framework.
  • Experience in developing cloud native applications.
  • Experience in development on a PaaS or CaaS platform.
  • Experience in using source control like BitBucket, and branching strategy.
  • Experience in both Waterfall and Agile development methodology.
  • Experience in using team collaboration tools like Jira and Confluence.
  • Experience in working in a DevOps environment.
  • Knowledge in microservice concepts like service registry, circuit breaker, inter-service process communication.
  • Knowledge of OAuth token-based authentication protocol.
  • Knowledge in containerisation technologies like Kubernetes, Pivotal TKGI.
  • Knowledge of CI/CD and its toolchain.
  • Knowledge in mobile application development using native or hybrid tools. (preferred)
  • Knowledge of Adobe Experience Manager (AEM) (preferred)
  • Knowledge in test automation. (preferred)
  • Domain knowledge in the Insurance or Financial industry (preferred)