Java Developer - Innovation Lab
Citigroup Inc
London, ENG
6d ago

Job Purpose :

We are looking for an expert Java Developer to join a new team building high-performance services to power our financial markets franchise.

You will work closely with product owners and team members to design, build and integrate targeted client solutions into one of our existing well-

supported platforms, or through new channels as required. To meet client demand, we measure our project lifecycles in months, not years, presenting many opportunities to take on new challenges.

Job Background / context :

We believe the future’s here. Right here with us. Home to where we define, ideate, develop and distribute production-ready financial solutions of far-

reaching impact. And right now, the door’s open to direct the future of our technology for a truly global client base. This means collaborating with the keenest minds in data science, big data, software engineering, web development, UX design and more.

Doers looking to bring the next bold ideas to life for a fascinating array of clients - investing, trading and transacting at the forefront of change in markets and economies the world over.

If you have this kind of vision, capable of seeing ahead, of developing a clear path forward in a quest to try the as yet untried, here is the opportunity.

In a supported, resource-rich, vibrant co-working environment, part of an ecosystem of globally interconnected labs, realising a broader mission of enabling growth and economic progress on a scale you won’t find anywhere else.

Welcome to our London Innovation Lab.

Key Responsibilities :

  • Design, build and enhance high-performance, data-intensive applications and services for our clients
  • Work closely with product owners to develop client solutions for new and existing channels
  • Grow our catalogue of common assets, such as code templates, libraries, utilities, services, etc.
  • Qualifications

    Skills and Qualifications :

  • Excellent understanding of core Java SE libraries such as java.lang, java.util, java.io, java.net, etc.
  • Proficient understanding of new features in Java 8 and above, such as lambda expressions, functional interfaces, etc.
  • Solid understanding of fundamental data structures and their application in Java, including primitive types, arrays, strings, lists, stacks, queues, binary trees, heaps, hash tables and binary search trees
  • Good understanding of fundamental algorithms and their runtime complexity in Java, including sorting, divide-and-conquer and graph modelling algorithms
  • You have a solid grasp of SOLID principles
  • Good understanding of the class loading mechanism in Java
  • You know how to get Log4J, Logback, SLF4J, etc. to work together in perfect harmony
  • Expertise in other JVM-based languages, such as Clojure, Scala and Kotlin, is highly desirable
  • Expertise in message brokers, such as Apache Kafka, RabbitMQ (AMQP), JMS, etc.
  • Expertise of streaming platforms, such as Apache Spark Streaming, Samza, Storm, etc.
  • Good understanding of relational, document and / or graph data models and query languages
  • You have strategies for meeting non-functional requirements, such as security, reliability, scalability and maintainability
  • You have very high development standards, especially for code quality, code reviews, unit testing, continuous integration and deployment
  • You know why you eschew object-oriented programming in favour of functional programming, or vice-versa
  • Great understanding of many types of database systems, spanning SQL, NoSQL (Graph, KV, Columnar), Object Storage, etc.
  • You are proficient in git, of course
  • You have made a contribution, no matter how small, to open source software
  • You may have stood-up an app, commercial or personal, on a cloud platform, such as AWS, GCP, Azure, etc.
  • You may have containerized an app and used a container management platform, such as Kubernetes, OpenShift, Docker Swarm, etc.
  • You are very competent with your OS command line - Linux and / or Microsoft Windows
  • You apply a range of logical techniques to problem-solving, such as the use of concrete examples, case analysis, brute-
  • force, iterative refinement and reduction

  • You are an adaptable, resourceful, well organised team player with a strong work ethic
  • You agree that verbal and written communication skills are vital
  • You are eager to grow your skills
  • You are educated to degree level or above
  • Exceptional candidates who do not meet these criteria may be considered for the role provided they have the necessary skills and experience.

    Valuing Diversity :

    Demonstrates an appreciation of a diverse workforce. Appreciates differences in style or perspective and uses differences to add value to decisions or actions and organisational success.

    Citi is an Equal Opportunities Employer

    Travel

    Apply
    Add to favorites
    Remove from favorites
    Apply
    My Email
    By clicking on "Continue", I give neuvoo consent to process my data and to send me email alerts, as detailed in neuvoo's Privacy Policy . I may withdraw my consent or unsubscribe at any time.
    Continue
    Application form