Summary
We are seeking a highly skilled and experienced JAVA API Engineer to join our dynamic engineering team. This senior-level role is critical to the design, development, and maintenance of scalable, secure, and high-performance Java-based RESTful APIs that power our core business applications. The ideal candidate will bring deep expertise in Java technologies, concurrency, and multi-threading, along with strong experience in ORM frameworks and asynchronous messaging. This role offers the opportunity to work in an agile environment, collaborate with cross-functional teams, and contribute to the continuous improvement of our API infrastructure, ensuring robust, secure, and efficient backend services.
Responsibilities
- Design, develop, and maintain scalable and secure RESTful APIs using Java, Spring Framework, and *Spring Boot to support business-critical applications.
- Implement and optimize database interactions using ORM frameworks such as Hibernate *and Java Persistence API (JPA)**, ensuring efficient and reliable data access.
- Develop asynchronous messaging solutions using *Java Message Service (JMS) to enable decoupled and scalable communication between distributed systems.
- Manage complex transaction scenarios to maintain data integrity and consistency across multiple services.
- Write comprehensive automated unit and integration tests using JUnit *and Mockito** to ensure code quality and reliability.
- Manage project builds and dependencies using Maven, and maintain version control with Git.
- Collaborate closely with DevOps teams to integrate APIs into CI/CD pipelines, ensuring smooth and automated deployment processes.
- Work within an agile development environment, participating in sprint planning, daily stand-ups, and retrospectives to deliver high-quality software iteratively.
- Utilize *Linux environments and shell scripting to automate routine tasks, troubleshoot issues, and optimize system performance.
- Ensure application security by implementing best practices and adhering to security standards throughout the API lifecycle.
- Perform performance tuning and load testing to identify bottlenecks and optimize API responsiveness and scalability.
- Collaborate with cross-functional teams including product managers, QA engineers, and other developers to deliver end-to-end solutions.
- Stay current with emerging technologies and industry trends to continuously improve the API platform and development practices.
- Mentor junior engineers and contribute to knowledge sharing within the team.
Requirements
Must-Have Skills
- Java: Expert-level proficiency in Java programming, including deep understanding of core concepts such as concurrency, multi-threading, and memory management to build high-performance applications.
- Spring Framework & Spring Boot: Extensive experience designing and developing RESTful APIs using Spring Framework and Spring Boot, leveraging their features for dependency injection, security, and microservices architecture.
- Hibernate & Java Persistence API (JPA): Strong experience with ORM frameworks to map Java objects to relational databases, optimize queries, and manage entity lifecycle.
- Java Message Service (JMS): Proficiency in implementing asynchronous messaging patterns to enable reliable communication between distributed components.
- RESTful Web Services: Solid understanding of REST principles, API design best practices, and experience building scalable and maintainable web services.
- Concurrency & Multi-threading: Ability to design thread-safe applications and manage concurrent processing to improve throughput and responsiveness.
- Transaction Management: Expertise in managing transactions programmatically and declaratively to ensure data consistency and rollback capabilities.
- JUnit & Mockito: Skilled in writing automated unit and integration tests to validate functionality and prevent regressions.
- Maven: Experience managing project builds, dependencies, and lifecycle using Maven.
- Git: Proficient in version control workflows, branching strategies, and collaboration using Git.
- Continuous Integration & Continuous Delivery (CI/CD): Familiarity with CI/CD concepts and tools to automate build, test, and deployment pipelines.
- SQL: Strong knowledge of SQL for querying and managing relational databases.
- Linux & Shell Scripting: Comfortable working in Linux environments, writing shell scripts to automate tasks, and troubleshooting system issues.
- Application Security: Understanding of security best practices including authentication, authorization, encryption, and vulnerability mitigation in API development.
- Performance Tuning & Load Testing: Experience identifying performance bottlenecks and optimizing API throughput and latency under load.
- Agile Methodologies: Proven ability to work effectively in agile teams, embracing iterative development, continuous feedback, and collaboration.
