About the position: We are looking for a highly skilled and experienced Backend Java Developer to join our dynamic team. The ideal candidate will have extensive experience in building scalable client-server applications, with specific knowledge of high-performance networking via Netty (raw sockets) and MQTT for embedded device integration. Proficiency in Spring Boot, REST API design, and Firebase services (FCM/APNS) is required. Experience with State Machine patterns, Sequence Diagrams, and database versioning with Flyway is essential, as the role involves documenting and refactoring complex communication protocols and participating in architectural decisions to drive the continuous improvement of our production environment.
Key Responsibilities: * Lead the development and maintenance of high-quality backend services using Spring Boot and Java (versions 11 through 21). * Implement and manage high-performance networking solutions using Netty to handle raw socket communication with embedded devices. * Design and develop scalable messaging logic using MQTT (Mosquitto/RabbitMQ) for seamless interaction between services and nodes. * Design and develop RESTful APIs to support mobile application functionality and ensure smooth client-server integration. * Utilize State Machine patterns to manage complex device lifecycles and ensure system reliability. * Create and maintain technical documentation, including Sequence Diagrams, to describe complex interactions between services and clients. * Manage database migrations and persistence using Flyway and MySQL, ensuring data integrity across different service modules. * Troubleshoot, debug, and optimize application performance, including analyzing raw logs and monitoring system health via Prometheus and Grafana. * Stay current with industry trends, providing expert input on adopting new technologies (e.g., Redis) to enhance the platform’s architecture.
Requirements: * Proven experience as a Java Backend Developer with a strong portfolio of scalable, production-ready applications. * Proficiency in Spring Boot and Java (understanding the nuances between Java 11 and 21). * Extensive experience with networking frameworks like Netty and protocols such as TCP/UDP and MQTT. * Strong experience in designing and developing RESTful APIs for mobile clients (Android/iOS). * In-depth knowledge of database management using MySQL and schema versioning tools (Flyway). * Experience with embedded device integration and handling low-level/poorly documented binary protocols. * Experience with Firebase services, specifically FCM and APNS, for mobile notification delivery. * Familiarity with DevOps tools including Docker, GitLab CI, and HAProxy for load balancing. * Excellent problem-solving skills with a proactive approach to refactoring legacy modules and improving system architecture.
Working Conditions: * Opportunity to work for a financially strong, fast-growing multinational company * Constant interaction with global teams of professionals * International career opportunities * Access to continuous professional development: training, certification programs, events, and team buildings * Health insurance * Competitive salary package and motivation scheme * Life events’ gifts, corporate presents and awards, years of service bonuses