Lead and mentor a team of developers, ensuring adherence to best practices and timely delivery of high-quality software.
Collaborate closely with clients or client-facing teams to understand requirements and deliver technical solutions that meet business needs.
Design, build, and maintain scalable, efficient, and reusable code while ensuring high performance and security.
Participate in architectural decisions and design reviews to ensure the robustness and scalability of the solutions.
Conduct code reviews and provide constructive feedback to improve the overall quality of the codebase.
Ensure the best possible performance, quality, and responsiveness of applications.
Manage and resolve any performance bottlenecks, such as app profiling, memory management, and distributed caching.
Stay updated on emerging technologies and industry trends, and guide the team on adopting relevant practices.
Facilitate regular communication with stakeholders, providing progress updates and mitigating any risks.
Implement automated testing platforms and unit tests to ensure code reliability and maintainability.
Provide support in troubleshooting, debugging, and resolving application-related issues.
Experience: 8-14 years of hands-on experience in building Java/J2EE applications with strong knowledge of the full software development lifecycle.
Core Java: Deep expertise in Java, J2EE, and object-oriented programming principles.
Microservices Architecture: Proven experience in designing and developing microservices-based applications.
Frameworks & Technologies: Strong proficiency in SpringBoot, JPA, and ORM frameworks.
Databases: Experience with relational databases (MySQL) and NoSQL databases (MongoDB).
Team Leadership: At least 1 year of experience in leading or managing a team of developers.
Version Control: Proficient in using Git, GitHub, and other code versioning tools.
Client Interaction: Experience in client communication, managing expectations, and delivering technical solutions.
Web Development: Familiarity with client-side web frameworks like Angular, React, or Sencha.
Performance Optimization: Experience with troubleshooting performance issues (app profiling, memory management, distributed caching, asynchronous programming).
Testing & Quality Assurance: Experience in implementing automated testing and writing unit tests.
Soft Skills: Strong interpersonal skills, with the ability to effectively communicate complex technical concepts to both technical and non-technical audiences.
Adaptability: A keen interest in learning new technologies and methods quickly.