Mid/Senior Java Developer
Job description
About the role
The is responsible for designing and implementing robust backend solutions that power critical integration workflows. You will own the full lifecycle of high-performance Java services, ensuring they meet stringent scalability and reliability targets. This role requires deep expertise in building event-driven systems that communicate efficiently across distributed environments. You will architect solutions that are secure, maintainable, and aligned with modern cloud-native principles. The position demands a disciplined approach to code craftsmanship and continuous improvement. You will be a key contributor in shaping the technical direction of the platform. Success in this role is measured by the stability, performance, and scalability of the systems you deliver.
Key facts
What you'll do
- Architect and develop scalable, high-performance backend systems using Java 21 and Spring Boot, focusing on non-blocking I/O and efficient resource utilization.
- Design, implement, and optimize RESTful APIs, ensuring adherence to REST principles, versioning strategies, and robust software architecture best practices.
- Operate within a distributed microservices landscape, taking ownership of service boundaries to guarantee modularity, resilience, and long-term maintainability.
- Manage complex build processes and dependency graphs using Gradle, optimizing build times and ensuring reproducible builds across the development lifecycle.
- Engineer and maintain comprehensive automated test suites utilizing JUnit, Mockito, and AssertJ to validate business logic and prevent regressions.
- Drive code quality initiatives by performing in-depth static analysis with SonarQube and facilitating constructive code review feedback across the engineering team.
- Manage the full version control workflow using GitLab, including branching strategies, merge requests, and integration with CI/CD pipelines for automated testing and deployment.
- Containerize application components using Docker and orchestrate their deployment on Amazon Web Services, ensuring infrastructure consistency and scalability.
- Configure and maintain centralized logging frameworks such as Logback and SLF4J, and set up monitoring dashboards in Grafana for real-time system observability.
- Engineer asynchronous, message-driven architectures using Apache Kafka to handle high-volume event streaming and ensure loose coupling between services.
- Design and interact with data stores, demonstrating advanced proficiency with PostgreSQL for transactional data and Redis for high-throughput caching strategies.
- Embed security best practices into the development lifecycle, addressing authentication, authorization, data validation, and secure communication protocols.
- Partner with product managers, designers, and other engineers in an agile Scrum environment to translate requirements into technical solutions.
- Troubleshoot complex production issues, performing root cause analysis and implementing corrective actions with minimal service disruption.
Requirements
- Hold proven professional experience as a Java developer, with a track record of delivering complex software projects using modern technologies.
- Demonstrate exceptional proficiency in Java 21, including mastery of new language features and a deep understanding of the Java Virtual Machine.
- Show advanced proficiency with the Spring Boot framework, including dependency injection, data access, and Spring Security implementations.
- Have hands-on experience with Gradle, including scripting custom tasks and managing multi-project builds.
- Possess hands-on experience with JUnit, Mockito, and AssertJ for writing unit and integration tests in a test-driven development culture.
- Have familiarity with SonarQube, using its reports to identify technical debt and drive code quality improvements.
- Show solid experience with GitLab, including merge request workflows, code reviews, and pipeline configuration.
- Possess experience with Docker, including creating Dockerfiles and managing containerized application deployments.
- Have hands-on experience with Amazon Web Services, including core services like EC2, S3, and IAM.
- Show knowledge of Logback and SLF4J, configuring appenders, layouts, and logging levels for different environments.
- Have experience with Grafana, setting up dashboards, panels, and data sources to monitor application metrics.
- Hold working knowledge of Apache Kafka, including producers, consumers, topics, and managing message schemas.
- Show proficiency with PostgreSQL and Redis, understanding database design, indexing, and query optimization.
- Demonstrate expertise in solution design patterns and a strong understanding of microservices architecture principles.
- Have a strong understanding of security principles, including OWASP Top 10, secure coding practices, and data protection regulations.
- Show knowledge of DevOps practices, including Infrastructure as Code, monitoring, and observability tooling.
- Possess strong problem-solving and analytical skills, with the ability to debug complex issues under pressure.
- Hold Lithuanian, Latvian, or Estonian citizenship to comply with regulatory requirements, with a mandatory background check.
- Show fluency in English, both written and verbal, to communicate effectively with global teams.
Nice to have
- Prior experience working on fintech projects involving high-value transactions and strict compliance standards.
Practical notes
Note: Lithuanian, Latvian, or Estonian citizenship is required.
Note: A background check is mandatory for this position.
Note: About the company
Looking for a remote job? Remote OK® is the #1 Remote Job Platform and has 1,131,503+ remote jobs as a Developer, Designer, Copywriter, Customer Support Rep, Sales Professional, Project Manager and more! Find a career where you can work remotely from anywhere.