Role Overview
We are seeking a Java Developer to join a high-performing engineering team working on a client-facing project. In this role, you will be responsible for developing and maintaining robust server-side logic, integrating front-end elements, and ensuring high performance and responsiveness to requests from the client’s stakeholders. You will work within an agile environment to deliver scalable software solutions that meet specific business requirements.
Key Responsibilities
- Feature Development: Design and implement new features and enhancements based on client specifications and technical requirements.
- Integration: Collaborate with front-end developers to integrate user-facing elements with server-side logic and connect applications with third-party web services.
- Code Quality: Maintain high standards of code quality through regular code reviews, unit testing, and adherence to established best practices.
- Troubleshooting: Identify and resolve technical debt, performance bottlenecks, and production issues to ensure system stability.
- Technical Documentation: Create and maintain technical documentation for system designs, API endpoints, and deployment processes.
Technical Skills & Qualifications
- Core Java: Strong proficiency in Java (version 8 or higher) and a solid understanding of Object-Oriented Design (OOD)
- Frameworks: Professional experience with the Spring Ecosystem (Spring Boot, Spring MVC, Spring Data).
- API Development: Experience building and consuming RESTful Web Services.
- Database Management: Proficiency in SQL (e.g., PostgreSQL, MySQL) and experience with ORM frameworks like Hibernate or JPA.
- Version Control: Expert use of Git for collaborative development and branch management.
- Build & Deploy: Familiarity with Maven or Gradle and an understanding of CI/CD pipelines (Jenkins, GitLab CI, or similar).
Soft Skills & Professional Attributes
- Client-Centric Mindset: Ability to understand business needs and translate them into technical solutions.
- Effective Communication: Clear ability to discuss technical concepts with both internal team members and external client stakeholders.
- Problem Solving: A proactive approach to identifying system improvements and resolving complex logic issues.
- Collaboration: Comfortable working in an Agile/Scrum environment and participating in daily stand-ups and sprint planning.
Preferred Experience
- Familiarity with containerization (Docker, Kubernetes).
- Exposure to Cloud environments (AWS, Azure, or Google Cloud).
- Knowledge of messaging systems like RabbitMQ or Kafka.
- Understanding of front-end technologies (JavaScript, HTML5, CSS3) is a plus.