Senior Software Engineer (Java)
Location
Bangalore, India
Job Description:
As a Senior Software Engineer specializing in Java, you will play a key role in designing, developing, and maintaining high-performance, scalable software platforms. You will work closely with cross-functional teams to deliver robust applications and provide leadership in software design and architecture. The ideal candidate will have a strong background in Java programming, problem-solving abilities, and experience working in agile environments. Your ability to mentor junior developers and lead technical initiatives will be crucial to the team’s success.
Responsibilities:
- Design, develop, and maintain complex, scalable, high-performance Java-based applications and services
- Collaborate with product managers, architects, and other stakeholders to translate business requirements into technical solutions
- Write clean, efficient, and reusable code following best practices (e.g., SOLID principles, design patterns)
- Lead the design and architecture of software systems, ensuring they are modular, secure, and optimized for performance
- Conduct code reviews, provide constructive feedback, and mentor junior engineers to improve their coding skills and understanding of software development practices
- Optimize application performance, troubleshoot issues, and implement new features based on user feedback and business needs
- Integrate third-party APIs, services, and libraries where needed
- Stay updated with emerging trends in Java development, cloud services, and modern technologies, and recommend their application to improve the team’s output
- Manage technical debt by refactoring and improving existing codebases, ensuring maintainability and long-term stability
- Drive continuous integration and deployment (CI/CD) processes to enhance the team’s development and delivery capabilities
- Ensure adherence to industry standards and internal best practices for security, compliance, and scalability
Requirements:
- Bachelor’s or Master’s degree in Computer Science, Software Engineering, or a related field
- 5+ years of experience in Java development, with expertise in Java 8+ and popular Java frameworks (e.g., Spring, Hibernate)
- Strong understanding of object-oriented programming (OOP) principles, design patterns, and data structures
- Experience with databases (SQL and NoSQL), RESTful APIs, and microservices architecture
- Familiarity with front-end technologies (e.g., JavaScript, Angular, React) is a plus
- Proficiency with development tools such as Git, Maven, Jenkins, or similar CI/CD tools
- Experience with cloud platforms (e.g., AWS, Azure, Google Cloud) and containerization technologies like Docker and Kubernetes
- Strong problem-solving, debugging, and optimization skills
- Excellent communication and collaboration skills, with the ability to work effectively in a team
- Experience in Agile or Scrum development methodologies
Preferred Qualifications:
- Experience in leading or mentoring development teams
- Familiarity with DevOps practices
- Experience in developing distributed systems or working with high-traffic applications
- Understanding of security best practices and performance tuning
- Knowledge of Kafka, RabbitMQ, or other messaging systems