We invite a Senior Java Developer to work on our clients' IT projects (outstaffing format).
Responsibilities:
- Development and support of monolithic and microservice applications in Java/Kotlin;
- Design and development of system architecture (MSA/SOA/Clean/DDD);
- Integration with external and internal systems (REST, gRPC, Kafka, RabbitMQ);
- Development and support of APIs, documentation (OpenAPI / Swagger);
- Optimization of application and database performance;
- Writing unit and integration tests (JUnit 5, Mockito, Testcontainers);
- Setup and participation in CI/CD processes (GitLab CI, Jenkins), containerization (Docker, Kubernetes);
- Code reviews, refactoring, mentoring less experienced developers;
- Setup and participation in DevOps practices, monitoring and logging (Prometheus, Grafana, ELK);
- Interaction with analysts, QA, DevOps, PO, and architects both at the business requirement processing stage and when solving assigned tasks;
- (For Lead level) Planning and coordination of team work, proposing and defending architectural solutions, participation in hiring (conducting technical interviews, determining candidate grade);
- (For Lead level) Team management, resolving conflicts within the team.
Mandatory Requirements:
- Commercial Java/Kotlin development experience of 5+ years;
- Knowledge of design patterns, SOLID / DRY / KISS principles, and OOP;
- Excellent knowledge of Java 11 / 17 / 21+, solid command of Java Core (Collections, Concurrency, Stream API);
- Experience with Spring Framework (Boot, Web, Data, Security, Cloud, Integration);
- Experience designing REST/gRPC APIs;
- Solid knowledge of JPA/Hibernate, proficiency in SQL;
- Experience with data migration systems (FlyWay / LiquiBase);
- Experience with relational (PostgreSQL, Oracle) and NoSQL (Redis / MongoDB / Cassandra / ElasticSearch / Clickhouse) databases;
- Database design experience (schemas, relationships, data structures);
- Experience with message brokers (Kafka / RabbitMQ / ActiveMQ);
- Understanding and practical experience in building microservice architecture, knowledge of core microservice architecture patterns;
- Application profiling skills, memory and performance optimization;
- Experience setting up and working with CI/CD pipelines, containerization (Docker, Kubernetes / OpenShift);
- Solid command of Git (branching, PR, rebase, code review);
- Ability to work in a Linux environment;
- Experience in Agile/Scrum teams.
Will be a plus:
- Relevant higher education;
- Proficiency in Kotlin, Scala, CUBA;
- Experience with Java EE (EJB, GWT, JSF, JSP / Servlets, WebSphere, GlassFish, Tomcat, Weblogic)
- Experience with Micronaut, Quarkus, Spark, Akka;
- Experience with reactive stack (Reactor, RXJava, WebFlux);
- Experience with Camunda BPM, Temporal, Keycloak, OpenTelemetry;
- Knowledge of GraphQL, JOOQ, MyBatis;
- Experience with cloud environments (Yandex Cloud, AWS, Google Cloud, etc.)
- Proficiency in Groovy, experience with Atlassian (Jira, Confluence);
- Experience in fintech, logistics, or public sector, experience in Legacy projects.
We offer:
- Remote work – possibility to work from any city
- Civil law contract conclusion.
- Important! Payment for actually worked time on the project, payment is made in Russian rubles
- Interesting and unique projects – in the financial and industrial sectors
We provide complex but stable projects with a modern stack. You focus on code and architecture, and we handle negotiations with the client, resolve bureaucratic issues, and protect your peace and interests.
Your area of responsibility is a quality product; ours is reliable support and timely payment.
Selection Stages:
We respect your time, so our selection process is as transparent as possible:
- Questionnaire – getting acquainted with your experience in the chatbot.
- Initial interview – we will tell you about the projects, get to know each other.
- Technical interview – discussion of your skills and cases.
- Offer of cooperation.