We are seeking a skilled Back-End Developer to build high-performance microservices that power our energy management and sustainability platforms. You will work with Java 21 and Spring Boot 3.5 to create scalable systems that process real-time energy data, integrate with industrial equipment, and provide RESTful APIs for our front-end applications. The ideal candidate will develop multi-threaded, event-driven services that handle diverse protocols (MQTT, SFTP, SQL) and ensure our platform can scale to support enterprise clients with thousands of connected devices.Key Responsibilities:Microservices Development
- Develop microservices using Java 21 and Spring Boot 3.5 with focus on performance and scalability
- Design and implement RESTful APIs following best practices and OpenAPI specifications
- Write clean, maintainable, and well-tested code following SOLID principles
- Develop automated tests using JUnit, Mockito, and REST Assured
- Participate in code reviews and contribute to back-end architecture decisions
Data Processing & Integration
- Build event-driven processing systems using MQTT for real-time energy data ingestion
- Implement multi-threaded processing to handle high-volume data streams efficiently
- Develop data integration modules supporting multiple protocols (MQTT, SFTP, SQL, REST)
- Design and optimize database schemas for relational and time-series data
- Implement load balancing strategies and ensure high availability of services
Cloud & DevOps Integration
- Integrate with AWS services (ECS, SSM, S3, etc.) for cloud-native deployments
- Implement monitoring and logging using CloudWatch, Grafana, and custom metrics
- Collaborate with DevOps team to optimize deployment pipelines and infrastructure
- Debug and optimize performance bottlenecks in production systems
Agile Collaboration
- Collaborate with front-end developers to define API contracts and data models
- Work within SAFe Agile methodology using Jira for task management
- Contribute to technical documentation in Confluence
- Participate in sprint planning, daily standups, and retrospectives
Qualifications
Education
- Bachelor's or Master's degree in Computer Science, Engineering, or related field, or equivalent professional experience
Experience
- Minimum of 3 years of professional back-end development experience with Java
- Strong experience with Spring Boot framework (version 3.x preferred)
- Solid understanding of RESTful API design and implementation
- Experience with relational databases (PostgreSQL, MySQL) and SQL
- Experience with multi-threaded programming and concurrent processing
- Experience with MQTT protocol and message-oriented middleware (desirable)
- Experience with time-series databases (InfluxDB, TimescaleDB) (desirable)
- Experience with event-driven architecture and asynchronous processing (desirable)
- Knowledge of energy data protocols or industrial IoT systems (desirable)
Technical Skills
- Core: Java 21, Spring Boot 3.5, RESTful API design (required)
- Protocols: MQTT, SQL, SFTP, REST API, load balancing (required)
- Processing: Multi-threaded programming, event-based architectures (required)
- Database: SQL databases, understanding of time-series data
- Cloud: AWS services (ECS, SSM, CloudWatch), Docker
- Tools: Git/GitHub, Jira, Confluence, IntelliJ IDEA or similar IDE (required)
- Testing: JUnit, Mockito, REST Assured (required)
- Monitoring: CloudWatch, Grafana, InfluxDB, Telegraf
- Experience with Apache Kafka, Redis, or RabbitMQ (desirable)
- Knowledge of security best practices and OAuth2 (desirable)
- Understanding of microservices patterns (circuit breaker, saga, etc.) (desirable)
Soft Skills
- Write clean, efficient, and maintainable code following best practices
- Strong problem-solving skills and ability to debug complex issues
- Understanding of microservices architecture and distributed systems concepts
- Proficient with Git version control and collaborative development workflows
- Experience with test-driven development and automated testing
- Ability to work independently while collaborating effectively with the team
- Eager to learn new technologies and continuously improve skills
- Good communication skills to discuss technical solutions with team members
Languages
- Fully proficient in English both written and spoken (required)
- Knowledge of French or German (desirable)
Certifications
- Java certifications (Oracle Certified Professional) (desirable)
- Spring Professional Certification (desirable)
- AWS certifications (Cloud Practitioner, Developer Associate) (desirable)
Additional Information
Relocation Assistance Provided:
No