Backend Engineer

Location Singapore
Discipline: Software Engineering
Job type: Permanent
Contact email: career@bcg-rise.com
Job ref: 263391
Published: 4 months ago

At Contour, our mission is to transform the global trade industry so that businesses and communities can have a brighter future by having easy access to affordable trade finance products. Our technologists work to achieve this by digitising traditional trade finance processes using blockchain technology run on R3’s Corda platform, to create innovative solutions for the industry.
 
Contour’s Engineering team utilises the latest in distributed ledger technology (DLT) to solve complex decentralised problems. As a team, we are collaborative and are constantly looking at ways to enhance our product through the latest tools and technologies. We are a passionate team that promotes innovation, transparent knowledge-sharing and the idea that challenging one another will bring out the best in each of us.
 
Context of the role:
Reporting to the Backend Lead, the Backend Engineer will contribute to ongoing product deliveries, as well as provide technical expertise to shape the direction of the broader backend teams technology and architectural direction. This role will also see you contributing to all stages of development and delivery, as well as towards the overall standards and conventions to ensure the application code adheres to quality engineering principles, practices and design patterns. You will have strong experience working in an agile environment where software engineers, testers, product managers and DevOps work closely together.
 
Key Responsibilities:

  • Contribute towards the technical roadmap of the backend team

  • Provide mentorship via peer reviews and training

  • Optimise delivery processes with a proven focus on continuous improvements

  • Work within the wider product development team to deliver product releases

  • Ensure application code and process quality standards across the development team

  • Create and maintain product and engineering documentation

  • Work with the product owners and development team to refine requirements and high level estimation

  • Provide high level estimations and sizing for upcoming work

  • Delegate tasks amongst the team in line with their corresponding skills

  • Establish best practices and technical standards amongst the engineering team

Job requirements

Key Requirements

  • 3+ years development experience using Java 1.8+, and/or Kotlin

  • Strong experience with :

    • Spring & Spring Boot

    • Test frameworks and related libraries such as JUnit, TestNG, Mockito, Jacoco

    • Build tools such as Gradle and Maven

    • JDBC and ORM libraries like Hibernate

    • Concurrency on JVM

    • Containerisation of JVM applications with docker and container orchestration with Kubernetes

  • Strong knowledge of SQL with relation to query execution, optimisation

  • Understanding of DBMS: PostgreSQL & SQL Server

  • Practical experience designing and implementing production grade web services and messages queues with any combination of the following:

    • RESTful architecture

    • GraphQL

    • RPC

    • ActiveMQ

    • Solace

    • Message protocols over WebSocket such as Stomp

  • Authentication and authorisation schemes

  • Familiarity of multiple layers of the infrastructure and application stack from systems / OS development through to networking, middleware and application logic

  • Proven problem solving skills and ability to work under pressure

  • Understanding of CI tools (i.e. Jenkins, TeamCity, Bamboo, Bitbucket Pipeline, Github Actions, Gitlab)

  • Understand how to publish and manage artefacts with a remote repository (i.e. Artifactory, Nexus, etc)

  • Understand how to setup, deploy, run and monitor software applications

  • Experience with cloud based infrastructure (i.e. AWS, Azure, Google Cloud)

  • Clear and concise communication skills

  • Nice to have

    • Understanding of TLS and SSL

    • Working knowledge of Symmetric and Asymmetric Encryption

    • Experience or strong interest in distributed ledger technologies (i.e blockchain)