Java Developer

Luxoft

  • Singapore
  • Permanent
  • Full-time
  • 2 months ago
Project descriptionOur client is the corporate and investment banking arm of The Group, world's 12th largest bank by total assets. We work daily with international branches located in 30 markets by: - Envisioning and preparing the Bank's futures information systems - Partnering and supporting core banking flagships and transverse areas in their large scale development projects. - Providing premium In-house Banking applications, This unique positioning empowers us to bring our core banking business a sustainable competitive advantage on the market. We seek innovative and agile people sharing our mindset to support ambitious and forthcoming technological challenges. Capital Market IT is the IT department within the bank focused on solutions related to Capital Markets. This includes Front Office (FO) booking platforms, Risk Management (RM) control and regulatory reporting systems, financial product and contract valuation systems, and much more. It is the department most directly exposed to the bank's financial operations. CARMA is an ambitious project to revamp the bank's existing counterparty risk system, CCC, and move it onto the cloud. The application and its uses are extremely complex, comprising a grid computing component (with containerized workers orchestrated using ArmoniK as grid computing middleware), an electronic trading component, a live credit check component (on the critical path for trading), and much more.Responsibilities
  • CCC currently runs on an on-premises cluster, but various constraints (flexibility, infrastructure costs, etc.) are pushing the move to a cloud-native implementation, referred to as CARMA internally. You are an ambitious and motivated intermediate Java developer with some experience with Docker/Kubernetes, who is interested in building large distributed cloud-native applications. Your core Java knowledge should be strong. Experience with modern cross-platform .NET (because ArmoniK is written in C#) would be useful, especially for deployment. Experience with Go (because Docker/Kubernetes are written in Go) would also be useful. Experience with C++ (because the quant library is written in C++) would be helpful. Experience with ArgoCD, cloud ops (especially on AWS but any relevant experience on competing platforms would be helpful), Terraform, and other cloud-focused DevOps skills would be useful, although this is not a DevOps role.
SKILLSMust have
  • 4+ years of software development experience
  • 3+ years experience working with Java
  • An understanding of recent Java language features, such as lambdas, streams, and futures
  • Knowledge of algorithms and data structures, with fundamentals in complexity analysis
  • Good ability to analyze code - understand execution flow & debug even without access to a debugger
  • Experience with Maven, Git, writing and maintaining integration tests
  • Familiarity with Linux and bash
  • Good knowledge of SQL An ideal candidate will also have some or all of the following:
  • Experience with Docker/Kubernetes
  • Experience working with cloud providers, especially AWS
  • Git and a Git-portal like Gitlab or GitHub
  • Jira or a similar issue-tracking system
  • The Spring framework and IoC, and particularly Spring Boot and Swagger for restful web services
  • Experience with Spark
Nice to haveAdditionally, knowledge of the following would be helpful although it is not required: • Familiarity with languages some important components used by the system are written in: C#, Go, C++ • Understanding of and interest in finance & financial markets, and in particular counterparty risk systems

Luxoft