Job Description – Senior Java Developer
Job Summary
We are looking for a highly skilled and experienced Senior Java Developer with 10+ years of professional experience in designing, developing, and delivering scalable, secure, and high-performance enterprise applications.
The ideal candidate will possess strong hands-on expertise in Java, Spring Boot, Microservices architecture, and distributed systems, along with a solid understanding of enterprise application development, system design, and performance optimization.
The candidate will be responsible for driving technical solutions, developing robust backend services, and collaborating with cross-functional teams to deliver reliable and scalable software solutions.
Key Responsibilities
Design, develop, enhance, and maintain scalable enterprise applications using Java and Spring Boot.
Architect, develop, and manage Microservices-based applications and distributed systems.
Design, develop, and integrate RESTful APIs and backend services.
Implement robust application security mechanisms, including authentication, authorization, and access control.
Analyze and optimize application performance, scalability, availability, and reliability.
Design and work with relational and NoSQL databases to ensure efficient data management.
Conduct code reviews and ensure adherence to coding standards, best practices, and architectural guidelines.
Perform debugging, root cause analysis, and troubleshooting of complex application issues.
Develop and maintain automated unit and integration tests.
Collaborate with solution architects, QA engineers, DevOps teams, and other stakeholders in an Agile development environment.
Contribute to technical discussions, architectural decisions, and continuous improvement initiatives.
Required Skills & Technical Expertise
Experience: 10+ years of professional experience in Java application development.
Core Java: Strong proficiency in Core Java, Object-Oriented Programming (OOP), Collections Framework, Multithreading, and Java 8+ features.
Spring Framework: Extensive hands-on experience with Spring Boot, Spring MVC, and Spring Security.
Microservices: Strong understanding and practical experience in Microservices architecture and distributed systems.
API Development: Expertise in designing, developing, and integrating RESTful APIs.
ORM Frameworks: Hands-on experience with Hibernate and JPA.
Databases: Strong experience with relational databases such as Oracle, MySQL, or PostgreSQL, along with exposure to NoSQL databases.
Messaging Systems: Working knowledge of messaging platforms such as Apache Kafka or RabbitMQ.
Build & Version Control: Experience with Git, Maven, and/or Gradle.
CI/CD & DevOps: Familiarity with Jenkins, CI/CD pipelines, and automated deployment processes.
Containerization & Cloud: Exposure to Docker, Kubernetes, and cloud platforms such as AWS or Microsoft Azure.
Testing Frameworks: Experience with JUnit and Mockito for unit and integration testing.
Preferred Qualifications
Experience working in Agile/Scrum development environments.
Strong understanding of software design patterns, SOLID principles, and enterprise application architecture.
Good knowledge of system design, scalability, and distributed computing concepts.
Proven experience troubleshooting complex production issues and supporting large-scale enterprise applications.
Ability to independently drive technical deliverables and provide technical guidance to junior developers.
Excellent analytical, problem-solving, communication, and interpersonal skills.
Ideal Candidate Profile
The ideal candidate should be a technically strong, self-driven professional with extensive experience in enterprise Java development. They should be capable of taking ownership of complex technical challenges, contributing to architectural decisions, mentoring team members, and delivering high-quality software solutions in a collaborative environment.