Java Software Engineer - Big Data - Data Analytics - Vice President

Last updated 1 hours ago
Location:Greater London
Job Type:Full Time

J.P. Morgan's Corporate & Investment Bank is a global leader across banking, markets and investor services. The world's most important corporations, governments and institutions entrust us with their business in more than 100 countries. The Corporate & Investment Bank provides strategic advice, raises capital, manages risk and extends liquidity in markets around the world.

Understanding what is important to clients’ users and gaining insights into their behavior is critical to know in order to evaluate their experience of JP Morgan, as well as what features and products to invest in. The Metrics service is a powerful way to measure, collect, analyze and report on what your users are doing on your website or apps.

Digital Platform Metrics facilitates a data-driven approach to measuring user experience and customer engagement. It enables measurement and analytics of multiple facets of user actions on UI applications.

The candidate must be a talented and hands-on technologist. The position will entail supporting the existing Metrics solution and developing JavaScript/Java-based services for the capture and storage of user interaction metrics according to a standardized taxonomy using Big Data technologies, integrating time-series data analytics capabilities such as Apache Druid Big Data, and producing analytics solutions using reporting tooling such as Tableau, Business Objects, and Apache Superset.

This role provides the unique and exciting opportunity to gain exposure to the full spectrum of the CIB wide application user behavioral & usage data. As a senior developer in a small agile team, you will been supporting existing features and developing new ones, and will have deep experience of building modern Java applications and micro-services, a background in mathematics (or just be very good with numbers!) and a fascination for using data to help businesses make better decisions.

This is a highly technical role. You will also be driving the design of our solutions so experience is expected in analysis/design, agile methodologies, application and SDK development, optimization and performance tuning – plus working with business analysts, user experience, testers and technology stakeholders. The working environment is competitive and demanding but one where creativity and problem solving skills are rewarded.

Skills & Experience

You are a senior developer who possesses a Bachelors or Master's degree in Computer Science, Information Systems, or a related field, or equivalent work experience, with expert technical skills (5+ years of experience) in the following:

  • Java or any other equivalent Object Oriented Programming Languages
  • Deployment architectures for service or microservice-based architectures (e.g. J2EE, tomcat, kubernetes/docker etc.)
  • Database query languages (SQL, PL SQL, NO SQL DB etc.)
  • Design and implementation of distributed, highly available systems
  • knowledge of any RDBMS / No SQL DB / Hive. Knowledge of Java Script, Web Technologies / Spring Boot etc.

It is highly beneficial to have good working experience with the following:

  • Big Data technologies such as HDFS, Hive, Impala, HBase etc
  • Tableau / Qlikview / Superset/Redash
  • Modern development practices such as Agile / Scrum, Git, CI / CD
  • Spring Boot 1.x and 2.x
  • Stream processing technologies such as Kafka, Spark, Flink etc.
  • Relational and NoSQL database design
  • Distributed caching technologies (Hazelcast, Gemfire, etc.)
  • Public and private cloud development using platforms such as AWS, Azure, Cloud Foundry etc.
  • Scripting languages such as Groovy, Python, etc.
  • Metrics / Logging Tools (Grafana, Splunk, Prometheus, Cortex, Micrometer, etc.)
  • Web Development technologies such as HTML5, CSS 3, React, Typescript etc.
  • Common test automation tools and methodologies such as Cypress, Puppeteer, Selenium, Cucumber Gherkin etc.
  • Be pro-active, pragmatic, independent and resourceful in nature, able to identify and own issues and seek their resolution. Look at source code, figure out how it works and how to make it better.
  • Present evidence of self-motivation and a passion for technology with a keen interest in working on latest open source offerings.
  • Be familiar (or have developed opinions) on how to structure large scale applications/projects and the necessary processes, team structures and technical approaches
  • Be community minded in their approach to work - and be active in consuming and providing information, teaching and help across all team units
  • Be a practitioner of Clean Code