Junior Software Engineer (Onsite Casablanca, Morocco)

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

Contact

Email: [email protected]

‍

Apply!

Max file size 10MB.
Uploading...
fileuploaded.jpg
Upload failed. Max size for files is 10 MB.
Thank you!
Your submission has been received!
Oops! Something went wrong while submitting the form.