Role Summary:
We are seeking a highly skilled and experienced Senior Java Application Developer with 6+ years of hands-on experience in designing, developing, and maintaining enterprise-grade Java applications. The ideal candidate will lead backend development initiatives, contribute to architectural decisions, and deliver scalable, high-performance solutions in a collaborative Agile environment.
Key Responsibilities:
1. Java Application Development
- Design, develop, and maintain robust, scalable, and secure Java-based applications.
- Lead technical design discussions and contribute to system architecture decisions.
- Write clean, maintainable, and efficient code following best practices and coding standards.
- Conduct code reviews and mentor junior developers.
- Optimize applications for maximum performance and scalability.
2. Frameworks & Architecture
- Develop enterprise applications using Spring Boot, Spring MVC, Hibernate, and related frameworks.
- Design and implement microservices-based architectures.
- Apply design patterns, SOLID principles, and industry best practices.
- Configure and manage build and dependency tools such as Maven or Gradle.
- Ensure proper logging, monitoring, and exception handling strategies.
3. API Development & Integration
- Design and implement secure, scalable RESTful APIs.
- Integrate with third-party services, enterprise systems, and microservices.
- Implement API security using OAuth2, JWT, or similar authentication mechanisms.
- Maintain API documentation using Swagger/OpenAPI.
- Ensure versioning, backward compatibility, and performance optimization.
4. Database & Messaging
- Design and optimize relational and NoSQL databases.
- Write complex SQL queries and optimize database performance.
- Work with message brokers such as Kafka or RabbitMQ for event-driven systems.
- Implement caching strategies using Redis or similar tools.
5. DevOps & Cloud
- Deploy and manage applications on cloud platforms such as AWS, Azure, or GCP.
- Implement containerization using Docker and orchestration tools like Kubernetes.
- Contribute to CI/CD pipelines for automated testing and deployment.
- Monitor applications using logging and monitoring tools.
Required Qualifications:
- Bachelor's degree in Computer Science, Software Engineering, or related field.
- 6+ years of professional experience in Java application development.
- Strong expertise in Java (Java 8+; Java 11/17 preferred).
- Extensive experience with Spring Boot, Spring MVC, and Hibernate.
- Strong experience in designing RESTful APIs.
- Experience with Maven or Gradle build tools.
- Solid understanding of SQL and NoSQL databases.
- Experience working in Agile/Scrum environments.
Preferred Skills:
- Experience with microservices architecture and distributed systems.
- Hands-on experience with Kafka or RabbitMQ.
- Exposure to cloud-native development (AWS, Azure, or GCP).
- Experience with Docker and Kubernetes.