freehire launches on Product Hunt on 26 August.

Follow →

Senior Java Developer

Summary

Senior Java developer modernizing legacy systems to Spring Boot microservices, containerized with Docker/Kubernetes and deployed via GitLab CI/CD and ArgoCD.

Job Description:

  • Contribute to migration and modernization initiatives from legacy Big Data components to the target platform.
  • Analyze existing data and service flows to preserve key business outcomes while improving architecture quality and maintainability.
  • Design, develop, test, and maintain Java services using strong object-oriented principles and clean coding standards.
  • Build and support Spring Boot applications on modern Java runtimes.
  • Implement architecture patterns including microservices, layered design, and event-driven communication.
  • Write and maintain BDD scenarios and automation using Cucumber and Gherkin.
  • Collaborate within Agile Scrum teams through sprint planning, delivery, and continuous improvement cycles.
  • Containerize and deploy workloads with Docker, Kubernetes, and OpenShift.
  • Contribute to delivery pipelines using GitLab CI/CD and GitOps deployment workflows with ArgoCD.
  • Partner with product, architecture, and operations teams to ensure secure, scalable, and reliable delivery.
  • Contribute to a collaborative engineering culture focused on quality, documentation, and continuous learning.

Requirements:

Education and experience:

  • Bachelor's degree or higher in Computer Science, Software Engineering, or a related technical discipline.
  • Proven experience as a Java Developer, including significant hands-on experience in enterprise application development.
  • Demonstrated experience in senior-level responsibilities such as technical decision-making, cross-team coordination, and mentoring.

Core required skills and experience:

  • Solid experience as a Java Developer with strong object-oriented programming fundamentals.
  • Experience and comfort with Domain Driven Design, including bounded contexts, aggregates, entities, value objects and domain models.
  • Proficiency in Java Design Patterns (for example: Singleton, Factory, Builder, Observer, Strategy).
  • Experience in software architecture design (microservices, layered, event-driven architectures).
  • Hands-on experience with the latest JDK and Spring Boot framework.
  • Familiarity with Agile and Scrum methodologies and sprint-based delivery.
  • Experience with containerization and orchestration tools: Docker, Kubernetes, and OpenShift.
  • Working knowledge of databases and storage: MongoDB, PostgreSQL, and AWS S3.
  • Experience with GitLab CI/CD pipelines and ArgoCD for GitOps-based deployments.
  • Experience writing and maintaining BDD (Behavior-Driven Development) tests (for example: Cucumber, Gherkin).

Engineering and delivery expectations:

  • Strong ability to translate functional requirements into scalable, maintainable technical solutions.
  • Solid understanding of secure coding principles, resiliency patterns, and production-readiness practices.
  • Experience performing code reviews, driving coding standards, and improving overall software quality.
  • Ability to diagnose and resolve complex issues across development, integration, and production environments.
  • Practical experience balancing delivery speed, technical debt, and long-term maintainability.

Domain knowledge (advantageous):

  • Experience or exposure to the payments, finance, or banking domain is a strong plus.

Nice to have:

  • Familiarity with Big Data technologies (for example: Spark, Kafka, Hadoop, or similar).
  • Demonstrated ability to integrate AI tools into daily development workflows improve productivity, code quality, and documentation.

See also