Software
We are looking for a driven, detail-oriented Associate Software Engineer (0–2 years) with a solid computer science foundation, hands-on programming experience in Java & Spring Boot, and a strong eagerness to learn how large-scale enterprise systems handle data, messaging, and distributed microservices.
In this role, you will write clean, well-tested production code, understand the business logic behind each feature, learn database optimization at scale, and adopt modern development tools such as GitHub Copilot and automated review scanners.
- Backend & Microservices Development
- Design, code, and test microservices and RESTful APIs using Core Java (11/17+) and the Spring Boot framework.
- Learn and adhere to clean code principles, SOLID design principles, and enterprise design patterns.
- Collaborate with frontend team members to integrate backend APIs with UI components (Angular).
- Working with Data & PostgreSQL
- Write clean, efficient SQL queries, joins, and database migrations for our PostgreSQL database.
- Learn and practice query optimization basics: understanding how indexes work, avoiding $N+1$ query issues in ORMs (Hibernate/Spring Data JPA), and writing batch-friendly operations.
- Gain exposure to handling high-volume datasets in an enterprise production environment.
- Messaging & Event-Driven Architecture
- Build basic producers and consumers using Apache Kafka (or similar messaging queues) for asynchronous event processing.
- Learn how distributed transactions, retries, and error handling are handled in event-driven systems.
- Code Quality, Testing & AI-Assisted Development
- Participate actively in the GitHub Pull Request (PR) review process: review your peers' code, accept constructive feedback from Lead Engineers, and understand the design/business rationale behind changes.
- Leverage modern AI tools like GitHub Copilot to improve developer productivity while verifying that generated code is secure, clean, and bug-free.
- Write comprehensive unit and integration tests using JUnit and Mockito to ensure high code quality and test coverage.
- Education: Bachelor’s or Master’s degree in Computer Science, Information Technology, Software Engineering, or related field.
- Experience: 0 to 2 years of professional software development experience or demonstrable project/internship experience in backend software engineering.
- Core Java: Strong understanding of Core Java fundamentals (OOP concepts, Collections framework, Exception Handling, Concurrency/Multithreading, Java 8+ Streams and Lambdas).
- Spring Boot: Practical, hands-on experience building REST APIs using Spring Boot, Spring Data JPA, and Dependency Injection.
- Database & SQL: Solid working knowledge of relational databases and SQL (preferably PostgreSQL or MySQL). Ability to write structured queries, joins, group-bys, and understand primary/foreign keys and basic indexing.
- Basic Messaging Knowledge: Conceptual understanding or foundational project experience with message queues like Apache Kafka or RabbitMQ.
- Version Control: Familiarity with Git & GitHub (cloning, branching, committing, creating Pull Requests).
- Testing Mindset: Familiarity with writing unit tests using JUnit and Mockito.