Skip to content

Lead Java Engineer - B2B - Remote

  • Remote
    • Bucharest, București, Romania

Job description

Own your future:

Our culture isn't something employees join, it's something they build and shape. We believe that every person deserves to be heard and empowered. If you're on the fence about whether you're a fit, we say go for it. Let’s build something great together. We are seeking talented and motivated Lead Java Engineers to join our dynamic team!

Job requirements

Key Responsibilities:

• Lead and supervise an engineering team.

• Develop and enhance WEB services and APIs for our web applications, ensuring seamless functionality and user experience.

• Design and implement algorithms and data structures for our graph database, focusing on high-performance, low-latency in-memory graph traversal.

• Optimize and improve system performance to handle high-load scenarios and processing of large amounts of data, ensuring the scalability and reliability of our platform.

• Collaborate closely with design and product teams to translate business requirements into practical software product features.

Must haves:

• 7+ years of experience in Java

• Expertise in distributed systems architecture and event-based communication

• Experience with production support of high-load and high-availability systems

• Experience with RDBMS like MySQL or PostgreSQLWorking with high-load and/or big-data solutions

• Upper-Intermediate+ English and the ability to communicate effectively with international teams.

Nice to have:

• Experience with Kotlin

• Experience optimizing algorithms and data structures

• Experience with observability platforms such as Datadog or Grafana

• Experience with Amazon Web ServicesDevOps, CI/CD, Kubernetes skillsTest-driven development practices (unit tests, integration, e2e)

About the project

• Our client is a global software-as-a-service company that builds a cloud-based data platform that enables the use of connected data and automation of reporting across finance, accounting, risk, and compliance, offering services to 85% of FORTUNE® 500 companies.

• We’ve built a data service that stores, modifies, and queries graph data structures, offering custom schema definitions and a proprietary DSL/query language. This service is utilized by a large number of enterprise clients to manage, retrieve, and audit their financial data. We handle financial records for clients across Asia, Europe, and the Americas.

• The database architecture ensures full auditability, allowing traceability of graph modifications and the ability to revert to previous states of client datasets. At any given time, a single in-memory graph can contain 5–10 million vertices and edges, along with related metadata, consuming up to 3 GB of memory for each client.

• System operates in a highly concurrent environment and supports tens of thousands of simultaneous users that are making modifications to the graphs.

• Additionally we've implemented a Gremlin-like query language that helps defining graph traversals, combined with a sophisticated permissions system that allows controlling access to the graph data stored in the service.

You will be responsible for:

• Adding new capabilities and maintaining the existing implementation of graph database

• Making decisions and tradeoffs to improve the graph traversal algorithms

• Scaling the system in the cloud for larger loads and bigger amounts of data, doing the performance profiling and optimization of Java/Kotlin code and JVM

• Working with the clients to analyze their use of the system and their data

• Extending existing test automation suite to run functional and performance testing

or