Java API Engineer (POS-190)
About Us:
As a Java API Engineer at Kenility, you’ll join a tight-knit family of creative developers, engineers, and designers who strive to develop and deliver the highest quality products into the market.
Technical Requirements:
- Bachelor’s degree in Computer Science, Software Engineering, or a related field.
- Advanced proficiency in Java programming, with deep knowledge of concepts such as concurrency, multi-threading, and memory management for building high-performance applications.
- Proven experience in developing RESTful APIs using Spring Framework and Spring Boot, incorporating features like dependency injection, security, and microservices architecture.
- Strong command of ORM tools, particularly Hibernate and JPA, for efficient data mapping, query optimization, and entity lifecycle management. • Solid experience with Java Message Service (JMS) to implement asynchronous messaging in distributed systems.
- Expertise in designing and building scalable and maintainable RESTful web services following API best practices.
- Proficient in developing thread-safe applications and managing concurrent processing to enhance system responsiveness.
- Skilled in handling transaction management using both programmatic and declarative approaches to ensure data integrity.
- Ability to create robust unit and integration tests using JUnit and Mockito to validate system behavior and ensure reliability.
- Experience managing build processes and dependencies through Maven.
- Proficiency in Git for version control, including branching strategies and collaborative workflows.
- Familiarity with CI/CD pipelines to automate build, testing, and deployment stages. • Strong understanding of SQL for data querying and relational database management.
- Comfortable working in Linux environments and writing shell scripts for automation and troubleshooting.
- Knowledge of security best practices for APIs, including authentication, authorization, and data protection mechanisms.
- Experience in optimizing API performance through load testing and performance tuning techniques.
- Background working in agile teams, actively participating in iterative development processes and collaborative planning.
- Minimum Upper Intermediate English (B2) or Proficient (C1).
Tasks and Responsibilities:
- Design, implement, and maintain robust and secure RESTful APIs using Java, Spring Framework, and Spring Boot.
- Enhance database efficiency by managing interactions via ORM frameworks like Hibernate and JPA.
- Build asynchronous messaging solutions with JMS to support scalable and decoupled system architecture.
- Oversee complex transaction scenarios to uphold data consistency across services.
- Develop automated unit and integration tests with JUnit and Mockito to assure code quality.
- Use Maven for build automation and Git for version control management.
- Collaborate with DevOps to integrate APIs into CI/CD pipelines for seamless deployments.
- Participate in agile practices including sprint planning, daily stand-ups, and retrospectives.
- Leverage Linux environments and shell scripting for task automation and system optimization.
- Apply security best practices throughout the API development lifecycle.
- Conduct performance tuning and load testing to enhance API scalability and responsiveness.
- Work cross-functionally with product, QA, and development teams to deliver comprehensive solutions.
- Keep up with industry trends and new technologies to continuously improve development processes.
- Provide guidance and mentorship to junior engineers and support knowledge-sharing initiatives.
Soft Skills:
- Responsibility
- Proactivity
- Flexibility
- Great communication skills