🧑💻 Job Description:
We are looking for a Java Developer (Spring Boot) who has strong technical foundations and hands-on experience in developing scalable and secure backend systems. The ideal candidate will be comfortable working with databases, handling concurrency issues like race conditions, and implementing secure APIs. This position also involves modern practices such as GraphQL, Lambda expressions, and use of development utilities like Lombok.
✅ Requirements:
Minimum Qualifications:
- Bachelor’s degree in Computer Science, Information Systems, or Computer Engineering.
- Solid experience with Java and Spring Boot framework.
- Strong knowledge of SQL/NoSQL databases, including schema design, CRUD operations, and indexing.
Technical Expertise:
- Database Usage:
Comfortable with both relational (e.g., PostgreSQL, MySQL) and non-relational (e.g., MongoDB) databases. Able to design normalized schemas and implement efficient data queries. - Indexing:
Understanding of how database indexes work and when to use them to optimize query performance. - Purpose of Indexing:
Knowledge of indexing to improve search speed, reduce I/O operations, and enhance overall database query performance. - Race Condition Awareness:
Able to explain what race conditions are—particularly in database operations like concurrent inserts/updates—and how to mitigate them using transactions, locks, optimistic/pessimistic concurrency control. - Real Experience with Race Conditions:
Has handled real-world scenarios where data inconsistency occurred due to concurrency and resolved using isolation levels or thread-safe programming techniques. - API Security:
Proficient in securing APIs using JWT, OAuth2, Spring Security, role-based access control, and input validation/sanitization. - Lambda Expressions in Java:
Practical knowledge of Lambda Expressions in Java 8+ for writing concise and functional-style code (e.g., using map, filter, forEach on collections). Understands how lambdas improve code readability and reduce boilerplate in stream processing. - Lombok Usage:
Familiar with Project Lombok to reduce boilerplate code (e.g., @Getter, @Setter, @Builder, @Data). Understands how Lombok integrates with Spring Boot and compiles to clean bytecode. - Experienced with integrating GraphQL into Java Spring Boot using tools like graphql-java or Spring GraphQL.
🎯 Responsibilities:
- Design, develop, and maintain RESTful and GraphQL APIs using Spring Boot.
- Build scalable services that interact efficiently with SQL and NoSQL databases.
- Analyze and optimize database queries using indexing techniques.
- Implement safe concurrent operations to prevent data race conditions.
- Secure APIs with Spring Security, JWT, and role-based access control.
- Write clean, maintainable, and testable code using modern Java features.
- Collaborate with frontend, DevOps, and QA teams to ensure feature completeness and reliability.