Hiring.Camp

Senior Java Engineer

Armedia LLC

·

Yesterday

Location
Skopje
Type
Full-time
Department
Engineering
Seniority
Senior
Closing date
Today
Source
ApplyToJob

Description

Armedia is looking for a Senior Java Engineer to join our team and help modernize and scale our enterprise-grade case management platform. You’ll work on challenging engineering problems and modern architecture patterns, contributing to a platform that handles mission-critical workflows for legal, government, and enterprise clients. 
 
We’re not looking for someone who’s done everything already.  We’re looking for someone who's tackled similarly complex problems and is eager to dig in, solve issues, and deliver robust solutions. You should be self-directed, capable of proposing architecture improvements, and comfortable working without daily handholding. Regular peer reviews and collaborative planning sessions will be your check-ins. 
 
Responsibilities 

Responsibilities will be shared with team members, however the selected Candidate will be expected to review the assigned responsibilities.

  • Transition containerized applications from in-pod logging to centralized log aggregation (e.g., syslog) 

  • Significantly reduce Java/Spring application startup time 

  • Refactor synchronous operations (e.g., page counting, file type detection, language detection) to asynchronous flows 

  • Analyze and resolve memory and performance bottlenecks; this may involve replacing inefficient libraries (e.g., PDFBox) 

  • Identify and modularize monolithic components into microservices (e.g., PDF rendering, audit history, uploads) 

  • Convert our Spring modulith into a distributed service architecture (message or gRPC-based) 

  • Enforce strict plugin architecture with runtime plugin loading 

  • Implement constant-time request handling with async side-effect processing 

  • Enable OAuth and JWT-based authentication to replace Spring Security-based mechanisms. 

  • Replace Solr-based metadata querying with SQL-based search; use Solr strictly for full-text search 

  • Introduce multi-tenant persistence capabilities 

  • Enhance build pipeline: enforce formatting, code quality, security scoring; run automated acceptance tests 

  • Lead and support engineering efforts to improve system resiliency 

  • Drive framework and library upgrades (e.g., Java, Spring, Angular) 

  • Improve testing strategy and coverage before undertaking refactors 

  • Contribute to FOIA/legal case file capabilities and ensure future-proof architecture for integrations 

Required Qualifications: 

  • Java (core language) 

  • Spring Framework 

Our Technical Stack: 

  • MariaDB or PostgreSQL 

  • Kubernetes, managed via Rancher 

  • ActiveMQ / Artemis (event-based architecture) 

  • Solr (search) 

  • S3 / MinIO (document storage) 

  • Pentaho (reporting) 

  • PDFTron (document viewing & redaction) 

  • Samba (centralized user management) 

  • Node.js / Angular / AngularJS (web UIs) 

  • Keycloak, Splunk, Grafana, Prometheus 

Must have: 

  • Proven experience with complex Java applications and enterprise architecture 

  • Strong knowledge of Spring (modulith/microservices) 

  • Hands-on experience with Kubernetes, containers, and CI/CD pipelines 

  • Comfort with asynchronous processing and event-driven design 

  • Understanding of secure API design and modern authentication (OAuth2, JWT) 

  • Familiarity with performance optimization and memory profiling 

  • Willingness to work with and improve legacy codebases 

  • Strong testing discipline (unit, integration) 

Bonus if you have: 

  • Experience with FOIA or legal case management platforms 

  • PDFTron or other native code integrations 

  • Contributions to microservices design, gRPC, and plugin systems 

Skills

JavaAngularNode.jsKubernetesCI/CDSQLPostgreSQLSplunkgRPCOAuthMicroservices
Senior Java Engineer at Armedia LLC | Hiring.Camp