Job Description
<p><p><b>Senior Java Developer :</b><br/><br/><b>Core Responsibilities :</b><br/><br/>- Architect and Develop Java Applications: Design and implement scalable, robust Java application architectures using frameworks like Spring Boot and Hibernate, and patterns such as microservices or event-driven architecture.<br/><br/>- Code Quality and Mentorship: Write clean, maintainable, and well-tested code.
Conduct code reviews, debug complex issues, and guide junior and mid-level developers.<br/><br/>- Database Management: Design and optimize database schemas, queries, stored procedures, and functions for relational (e.g., MySQL, PostgreSQL) and NoSQL (e.g., MongoDB, Cassandra) databases to meet application needs.<br/><br/>- Performance Optimization: Identify and resolve performance bottlenecks, ensuring efficient resource utilization and optimal application performance.<br/><br/>- Cloud and Containerization: Deploy and manage applications on cloud platforms (e.g., AWS, Azure, GCP) using containerization technologies like Docker and Kubernetes.<br/><br/>- AI/LLM Integration: Develop and maintain scalable backend systems with Spring Boot, integrating AI/LLM services (e.g., OpenAI, Google Gemini, Azure OpenAI) for secure and efficient communication.<br/><br/>- Collaboration: Partner with product managers, designers, and stakeholders to define requirements, design solutions, and deliver high-quality software.<br/><br/>- System Architecture Contribution: Contribute to system architecture design, integrate data storage solutions, and evaluate emerging technologies for architectural enhancements.<br/><br/>- Technical Problem Solving: Perform software analysis, programming, testing, and debugging to address complex application and database integration challenges.<br/><br/>- Caching Strategies: Implement and manage caching solutions (e.g., Redis, Memcached, Ehcache) to enhance response times and reduce database load, selecting appropriate strategies based on requirements.<br/><br/><b>Skills and Experience :</b><br/><br/>- Java Expertise: Strong proficiency in Java, including core concepts, advanced topics (e.g., multithreading, JVM internals), and design patterns.<br/><br/>- Microservices Development: Proven experience designing and implementing scalable, secure microservices using Spring Boot.<br/><br/>- Event-Driven Architecture: Hands-on experience with messaging systems like Kafka or RabbitMQ for asynchronous communication.<br/><br/>- Database Proficiency: Deep knowledge of database technologies, including schema design, SQL optimization, and experience with relational and NoSQL databases.<br/><br/>- API Development: Expertise in creating and maintaining RESTful APIs (and optionally GraphQL APIs), adhering to best practices in design, documentation, and implementation.<br/><br/>- Monitoring and Troubleshooting: Experience with monitoring tools (e.g., Prometheus, Grafana) to track service health and resolve production issues.<br/><br/>- Netflix OSS Ecosystem: Familiarity with Netflix OSS tools like Eureka (service discovery), Hystrix (fault tolerance), and Ribbon (client-side load balancing).<br/><br/><b>Qualifications :</b><br/><br/>- 6-8 years of software development experience with a focus on Java.<br/><br/>- Proven track record as an engineer in large-scale enterprise systems.<br/><br/>- Strong understanding of software design and programming principles.<br/><br/>- Exceptional problem-solving skills and attention to detail.<br/><br/>- Excellent communication and leadership abilities.</p><br/></p> (ref:hirist.tech)