Job Summary
We are seeking a highly skilled and experienced Senior Java API Engineer to lead the end-to-end development of robust, scalable, and secure Java-based REST services, JMS daemons, and batch jobs. This role is critical to enhancing and maintaining our credit service tools, including the PayLater platform, which plays a pivotal role in delivering seamless financial services to our customers. The ideal candidate will be a proactive problem solver, a collaborative team player, and a mentor who thrives in an agile environment and is passionate about delivering high-quality software solutions that meet business needs and ensure optimal performance.
Job Responsibilities
- Lead the full software development lifecycle for Java RESTful services, JMS daemons, and batch jobs, including design, coding, testing, deployment, and maintenance.
- Develop new features and enhancements to improve the functionality and user experience of credit service tools, with a focus on the PayLater platform.
- Identify, analyze, and resolve production issues promptly to maintain high availability and optimal performance of services.
- Participate actively in code reviews to uphold code quality, enforce best practices, and ensure compliance with security and regulatory standards.
- Collaborate closely with product managers, QA engineers, and cross-functional teams within an agile framework to deliver features that align with business requirements and customer expectations.
- Continuously monitor application performance, conduct load testing, and perform tuning to handle high concurrency and large transaction volumes effectively.
- Implement and enforce application security best practices to safeguard sensitive customer data and comply with industry standards.
- Maintain clear, comprehensive documentation of codebases, development processes, and system architecture to facilitate knowledge sharing and future maintenance.
- Mentor junior engineers, fostering a culture of continuous learning and technical excellence within the team.
Requirements
- Java: Expert-level proficiency in Java programming, with a deep understanding of object-oriented principles and best practices for building scalable, maintainable applications.
- Spring & Spring Boot: Extensive experience with the Spring framework and Spring Boot for building RESTful web services, dependency injection, and application configuration.
- Hibernate & Java Persistence API (JPA): Strong knowledge of ORM frameworks like Hibernate and JPA for efficient database interaction and transaction management.
- Java Message Service (JMS): Proven experience in developing JMS daemons for asynchronous messaging and integration between distributed systems.
- RESTful Web Services: Expertise in designing and implementing REST APIs that are secure, scalable, and performant.
- Concurrency & Multi-threading: Solid understanding of Java concurrency utilities and multi-threading techniques to build high-performance, thread-safe applications.
- Transaction Management: Skilled in managing transactions to ensure data integrity and consistency across distributed systems.
- Unit Testing, Integration Testing & Functional Testing: Proficient in writing comprehensive tests using frameworks such as JUnit and Mockito to ensure code quality and reliability.
- Maven: Experience with Maven for project build automation, dependency management, and lifecycle management.
- Git: Proficient in version control using Git, including branching strategies, pull requests, and code merges.
- Continuous Integration & Continuous Delivery (CI/CD): Familiarity with CI/CD pipelines to automate build, test, and deployment processes, ensuring rapid and reliable software delivery.
- SQL: Strong skills in SQL for querying and managing relational databases, optimizing queries, and ensuring data integrity.
- Linux & Shell Scripting: Comfortable working in Linux environments and writing shell scripts to automate routine tasks and support deployment processes.
- Application Security: Knowledge of security best practices, including authentication, authorization, encryption, and vulnerability mitigation to protect sensitive customer data.
- Performance Tuning & Load Testing: Experience in monitoring application performance, identifying bottlenecks, and tuning systems to handle high concurrency and transaction volumes.
- Agile Methodologies: Proven ability to work effectively in agile teams, participating in sprint planning, daily stand-ups, retrospectives, and continuous delivery cycles.
