TheHive, incident response platform used by thousands of security analysts worldwide, is evolving.

To support the next generation of capabilities, the backend platform is being progressively redesigned and migrated from Scala to Java. This is not a simple rewrite. It is a deliberate architectural redesign of a production system used in demanding operational environments.

The goal : cleaner service boundaries, better observability, more predictable performance, and unlock new product capabilities our users need the most.

You’ll work alongside other senior engineers and product managers, with direct influence over every foundational decision.

This is not a "come implement our architecture" role. It is a "come define it, defend it, collaborate and build it" role. The constraints are real but the design space is wide. You will have direct influence over every foundational decision.

Responsibilities

  • Design and build robust, scalable Java APIs and backend services from the ground up.
  • Actively participate in architectural decisions, challenging assumptions, weighing trade-offs, suggesting improvements. You’re not just here to implement specs; you help define them.
  • Engage early in features’ conception: understand user and business needs, challenge requirements, and surface constraints before they become problematic.
  • Work within real constraints: graph database (JanusGraph), on-premise client deployments, existing API contracts. Navigate them thoughtfully, and know when to push back on them or make them change.
  • Write a clean, testable, and maintainable code.
  • Participate to establish engineering standards: code structure, testing strategy, observability, and CI/CD patterns.
  • Communicate clearly across teams: technical trade-offs, risks, progress, no black boxes.
  • Share knowledge actively: pair programming, document decisions, run reviews, make the team stronger.
  • Use AI-assisted development tools (Copilot, Claude code, etc.) as a natural part of your workflow, and contribute ideas on better integrations.
  • Participate fully in agile ceremonies across a multi-team environment, with genuine inputs.

Requirements

  • Very strong Java expertise, deep knowledge of modern Java (17+), concurrency, performance characteristics.
  • Real opinions about software design: Clean architecture, hexagonal architecture, CQRS, and strong instincts about when not to use them.
  • You have at least 8 years of experience in development.

Ownership and Rigor

  • You own your scope end to end: from understanding the need to verifying it works in production.
  • Testing as a first-class discipline.
  • You care about how the product is used, not only how it is implemented.
  • You connect technical decisions to user workflows, operational realities and business impact.
  • You understand when engineering perfection improves the product and when pragmatic solutions are required.
  • You connect technical decisions to system-level consequences, other teams’ impacts, performance, reliability and cost.
  • Clear and direct communicator. You challenge ideas constructively: you push back with reasoning, propose alternatives, and move forward without ego once a call is made.
  • Pair programming is a regular part of how you work.
  • Comfortable working in a multi-team environment where context shifts and alignment take effort.
  • Genuinely enthusiastic about AI, both as a development tool and as a product dimension to explore.
  • Technically curious beyond your current stack is strong plus.

The Java stack will be defined by you and your team.

The existing Scala stack we’re migrating from (for reference): Scala, Play Framework, Akka, JanusGraph, Tapir.

You might feel hesitant to apply if you don’t match 100% of the requirements. This list is a guide, we encourage you to apply even if you are a partial match. We are building teams that innovate, not teams that simply tick every box.


#J-18808-Ljbffr
Similar jobs

Senior Java Software Engineer

Apply Now
Back to search page