About the Role
We’re looking for a motivated Junior Software Engineer eager to build reliable, scalable applications while growing within a collaborative engineering team.
In this role, you will contribute to the development of backend features, event-driven microservices, and modern user interfaces. You will work alongside experienced engineers and gain hands-on experience building production-ready software using modern technologies.
Your Role
- Event-Driven Systems Development
Participate in designing and developing scalable event-driven microservices using Java, Spring Boot, Spring Cloud, and Apache Kafka, ensuring reliability and real-time data flow across services. - Kafka Streams Optimization
Contribute to Kafka Streams applications that process and aggregate large-scale data efficiently. Implement serialization and deserialization strategies using Avro, JSON, and Protobuf, while helping maintain schema compatibility through Schema Registry. - Frontend Development
Collaborate with the frontend team to build and maintain responsive, intuitive user interfaces using React and React Native. Ensure seamless integration between frontend applications and backend microservices. - Code Quality Improvement
Improve code maintainability, performance, and security. Use SonarQube and SonarLint to conduct static code analysis and ensure that Kafka-based microservices follow established quality standards. - Automated Testing Strategies
Contribute to the design and implementation of automated tests using JUnit, Mockito, and Testcontainers, ensuring the reliability and correctness of Kafka message producers and consumers. - Contract and Integration Testing
Help implement Kafka integration and contract tests to validate message schemas and ensure consistent, reliable communication between microservices. - Caching and Performance Optimization
Use Redis and intelligent caching strategies to improve application throughput and reduce latency in message-driven workflows.
Responsibilities
- Participate in the design and development of backend features in collaboration with senior engineers and frontend developers.
- Contribute to event-driven microservices using Java, Spring Boot, Spring Cloud, and Apache Kafka.
- Assist with the development and optimization of Kafka producers, consumers, and Kafka Streams applications.
- Collaborate with the frontend team on React and React Native applications.
- Contribute to the maintenance and improvement of existing applications by fixing bugs and implementing enhancements.
- Assist with the integration, testing, and deployment of new functionalities.
- Write clean, maintainable, secure, and well-documented code following software-development best practices.
- Participate in code reviews and continuously improve code quality.
- Contribute to unit, integration, contract, and automated testing activities.
- Use SonarQube and SonarLint to identify and resolve code-quality and security issues.
- Support caching and performance optimization using Redis.
- Collaborate with cross-functional teams to understand business needs and deliver effective technical solutions.
- Participate in Agile ceremonies and project-progress meetings.
- Continuously learn new technologies and share knowledge with the team.
Qualifications
- Engineering degree or equivalent qualification in Computer Science, Software Engineering, or a related field.
- Good knowledge of Java and Spring Boot.
- Basic understanding of REST APIs and backend-development principles.
- Familiarity with Git and software-development best practices.
- Basic knowledge of relational databases and SQL.
- Basic understanding of microservices architecture.
- Strong analytical and problem-solving skills.
- Eagerness to learn, curiosity, and a collaborative mindset.
- Good communication skills in English.
Knowledge or previous exposure to the following technologies is appreciated but not mandatory:
- Apache Kafka and Kafka Streams
- Spring Cloud
- Event-driven architecture
- React and React Native
- Avro, JSON, and Protobuf
- Schema Registry
- JUnit, Mockito, and Testcontainers
- SonarQube and SonarLint
- Redis or RabbitMQ
- Contract and integration testing
Benefits
- A great opportunity to launch your career in a fast-growing, technology-driven environment.
- Continuous learning and mentoring from experienced engineers.
- Hands-on experience with event-driven systems and modern microservices architecture.
- Exposure to modern software-development practices and cloud-native technologies.
- Opportunities to work with backend, streaming, testing, caching, and frontend technologies.
- A collaborative culture that values innovation, knowledge sharing, and professional growth.
Recruitment Process
- HR Interview
- Technical Interview
- Live Coding Assessment
- Final Interview
Contract
Contract type: Permanent Contract – CDI