About Us:
As a Senior Java 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 expertise in Java development, with a strong command of object-oriented design principles and best practices for building scalable and maintainable systems.
- Extensive hands-on experience with Spring and Spring Boot for developing RESTful services, managing dependency injection, and configuring applications.
- Solid background working with Hibernate and JPA to handle ORM, database interactions, and transaction management efficiently.
- Proven experience implementing asynchronous messaging solutions using Java Message Service (JMS) in distributed environments.
- Strong knowledge in designing, building, and maintaining secure, scalable, and high-performing REST APIs.
- In-depth understanding of Java concurrency concepts and multi-threading techniques to ensure thread-safe, high-performance applications.
- Experience managing transactions across complex and distributed systems to guarantee data consistency and integrity.
- Proficiency in unit, integration, and functional testing using tools such as JUnit and Mockito to ensure reliability and code quality.
- Experience using Maven for build automation, dependency handling, and project lifecycle management.
- Strong command of Git for version control, including branching models, pull requests, and merge workflows.
- Familiarity with CI/CD practices and pipelines to automate testing, building, and deployment processes.
- Strong SQL skills for querying relational databases, optimizing performance, and maintaining data integrity.
- Comfort working in Linux environments, including the use of shell scripting to automate tasks and support deployments.
- Knowledge of application security principles such as authentication, authorization, encryption, and vulnerability prevention.
- Experience monitoring application performance, performing load testing, and tuning systems to support high concurrency and large transaction volumes.
- Ability to work effectively within agile methodologies, actively participating in ceremonies and iterative delivery cycles.
- Minimum Upper Intermediate English (B2) or Proficient (C1).
Tasks and Responsibilities:
- Lead end-to-end development activities for Java-based REST services, JMS components, and batch processes, covering design, implementation, testing, deployment, and ongoing support.
- Design and deliver new features and improvements to enhance the capabilities and usability of credit service solutions, particularly within the PayLater platform.
- Analyze, troubleshoot, and resolve production incidents efficiently to ensure service stability, availability, and performance.
- Actively contribute to code reviews, promoting high code quality, adherence to best practices, and compliance with security and regulatory standards.
- Collaborate closely with product owners, QA teams, and cross-functional stakeholders in an agile environment to deliver solutions aligned with business goals.
- Monitor system performance, conduct load and stress testing, and apply optimizations to support high traffic and transaction volumes.
- Apply and enforce security best practices to protect sensitive customer information and meet industry compliance requirements.
- Maintain clear and up-to-date technical documentation covering codebases, processes, and system architecture.
- Provide guidance and mentorship to junior developers, encouraging continuous learning and technical growth within the team.
Soft Skills:
- Responsibility
- Proactivity
- Flexibility
- Great communication skills