Software Engineer, Java
Role details
Job location
Tech stack
Job description
We are looking for a skilled and motivated Software Engineer with solid Java and microservices experience to join our engineering team. This role is ideal for someone who is passionate about delivering high-quality software, eager to learn, and ready to grow into a senior engineering position in the near future.
As a Software Engineer, you'll contribute to building scalable, secure, and high-performing systems. You'll work closely with senior engineers and architects, write clean and efficient code, and continuously improve your technical and collaborative skills. We value curiosity, especially around modern engineering practices and AI-driven developer tools.
Key Responsibilities
Software Development
- Write clean, maintainable, and testable Java code for microservices-based applications.
- Participate in all stages of the development lifecycle - from requirement analysis to deployment.
- Contribute to the design and implementation of resilient, scalable, and secure backend components.
Collaboration & Teamwork
- Work closely with senior engineers, product owners, and QA to deliver user-focused solutions.
- Participate in code reviews, agile ceremonies, and technical discussions.
- Support and learn from peers, while progressively taking ownership of components and features.
Quality & Best Practices
- Adhere to best practices in software engineering, including testing, CI/CD, and secure coding.
- Write unit and integration tests to maintain a high level of code quality.
- Help improve codebase maintainability through refactoring and good design principles.
Growth & Learning
- Show openness to learning from mentors and feedback.
- Stay updated with new trends in Java, backend development, and cloud-native practices.
- Begin exploring how AI tools (like GitHub Copilot or AI-assisted testing) can enhance productivity.
Requirements
Do you have experience in Spring Framework?, Required
- 3-6 years of professional software development experience with Java.
- Good understanding of microservices architecture and RESTful APIs.
- Experience with Spring Boot and related Java frameworks.
- Familiarity with CI/CD pipelines, Git, and build tools like Maven or Gradle.
- Exposure to containerization tools like Docker.
- Commitment to writing clean, well-tested, and maintainable code.
- Strong communication and problem-solving skills.
- Willingness to learn from seniors and take on increasing technical ownership.
Preferred
- Exposure to messaging systems like Kafka or RabbitMQ.
- Basic understanding of distributed system concepts.
- Experience working in agile environments.
- Interest in AI-assisted development tools or cloud platforms (AWS, Azure, GCP).
- Familiarity with secure coding practices and performance tuning.