Role Overview
We are looking for a motivated and logically strong Junior Software Programmer to join our software development team. The candidate will work on designing, developing, testing, and maintaining scalable web applications using modern Java technologies and frameworks. This role is suitable for recent graduates and early-career developers who have a strong foundation in programming concepts and an interest in building enterprise-grade applications using microservices.
Responsibilities
- Develop, test, debug, and maintain Java-based web applications.
- Work with modern frameworks such as Spring, Spring Boot, Spring MVC, and Spring Data.
- Develop and consume RESTful APIs.
- Assist in designing and developing microservices-based applications.
- Write clean, efficient, reusable, and well-documented code using OOP principles.
- Work with relational and NoSQL databases.
- Develop responsive UI components using Angular, ReactJS, JavaScript, TypeScript, jQuery, HTML, and CSS.
- Use messaging and queuing technologies for asynchronous communication.
- Use version-control systems to manage source code.
- Write unit and integration tests to ensure software quality.
- Participate in code reviews, sprint planning, and daily team meetings.
Requirements
- Graduate degree in Computer Science, Information Technology, Engineering, or a related discipline.
- Good understanding of Core Java, collections, exception handling, and multithreading.
- Familiarity with Spring Boot and microservices architecture.
- Knowledge of REST APIs, JSON, and HTTP.
- Basic knowledge of queuing systems such as Apache Kafka, RabbitMQ, or ActiveMQ.
- Familiarity with Git and build tools like Maven or Gradle.
- Basic knowledge of SQL and relational databases (MySQL, PostgreSQL, etc.).
- Working knowledge of HTML, CSS, and JavaScript.
- Understanding of unit testing using JUnit and Mockito.
Skills
- Java
- Spring Boot
- RESTful APIs
- SQL
- JavaScript