Back End Engineer with Contour


$84K - 120K a year

Contour is building the global standard for trade by bringing together the world's banks, corporates and ecosystem partners, onto a common, digital, and trusted network. Powered by innovation, trust and collaboration, Contour uses decentralised technology to offer seamless integration with market-leading digital document systems and other digital networks, enabling frictionless data-flow across the entire trade ecosystem.

Contour's Engineering team works with the latest in blockchain technology to bring innovative solutions to the trade finance industry. We strongly believe in continuous improvement and are continually looking at ways to enhance our product through tools and technology.

Continuously look to push the limits of technology and bring value to the trade finance industry.. this is just the beginning.

Context of the role:

Reporting to the Backend Lead, the Backend Engineer contributes to ongoing product deliveries, as well as shaping the direction of the broader backend teams technology and architectural direction. This role will also see you involving in 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 owners and DevOps work closely together. More importantly we are looking for someone who enjoys keeping abreast with emerging technology such as blockchain and would like to join us to push the boundaries.

Key Responsibilities:

  • Contribute towards the technical roadmap of the backend team
  • Contribute towards 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
  • Help to 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
  • Help to establish best practices and technical standards amongst the engineering team

Job requirements

Key Requirements

  • 2+ years development experience using Java 1.8+, and/or Kotlin
  • 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
  • Knowledge of SQL with regards to writing DML and DDL statements
  • Experience 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)