Bosch Global Software Technologies Private Limited is a 100% owned subsidiary of Robert Bosch GmbH, one of the world's leading global supplier of technology and services, offering end-to-end Engineering, IT and Business Solutions. With over 28,200+ associates, it’s the largest software development center of Bosch, outside Germany, indicating that it is the Technology Powerhouse of Bosch in India with a global footprint and presence in the US, Europe and the Asia Pacific region.
Job DescriptionRoles & Responsibilities :
Summary:
We are seeking a highly experienced and skilled Java Technical Lead/Architect/Mentor to guide and elevate our development team responsible for a mature BPM no-code/low-code platform, built over two decades, a critical solution for our customers. This role will be instrumental in proactively identifying gaps in design / code, development process, and technical competency within the team, and implementing proactive measures to improve the platform's stability, quality, maintainability and team productivity. The candidate should possess deep expertise in Java and software architecture, exceptional problem-solving skills, a proven ability to mentor developers, and a strong commitment to delivering high-quality software. You will act as a role model and guide the team towards adopting best practices in design, coding, and testing, ensuring the team utilizes the latest Java features to write robust, bug-free code that functions as expected. This role requires a hands-on technical leader who can both mentor the team and contribute directly to solving challenging technical problems.
Responsibilities:
Technical Leadership & Mentorship:
· Provide technical leadership and mentorship to a team of developers working on a large, complex Java-based BPM platform.
· Lead code reviews and design reviews, providing constructive feedback and guidance to improve the team's technical skills.
· Introduce and enforce best practices for software design, coding, testing, and documentation.
· Proactively identify gaps in design, development process, and technical competency within the team.
· Define and implement proactive measures to address these gaps, ensuring the team is equipped with the knowledge and skills to write high-quality code.
· Identify training needs within the team and develop/deliver targeted training sessions on relevant technologies, design patterns, and coding principles, including the latest Java features and best practices for their effective use.
· Serve as a role model for the team, demonstrating excellence in software development and problem-solving.
· Foster a culture of continuous learning, improvement, and accountability within the team.
Codebase Improvement & Modernization:
· Analyze the existing codebase (1.5 million lines of code) to identify areas for improvement, refactoring, and modernization.
· Develop and implement a strategy for gradually improving the codebase's quality, maintainability, and performance.
· Lead efforts to address technical debt and reduce the risk of introducing blocker issues during development.
· Evaluate and recommend new technologies and tools that can improve the team's productivity and the platform's capabilities.
· Work with the team to break down large tasks into smaller, manageable pieces.
· Implement proactive monitoring and alerting systems to identify potential issues before they impact customers.
Problem Solving & Issue Resolution:
· Serve as the escalation point for complex technical issues and production incidents.
· Lead troubleshooting efforts to identify root causes and develop effective solutions.
· Implement robust and proactive testing strategies, including unit, integration, and end-to-end testing, to ensure functionality is working as expected without bugs and improve the platform's overall quality.
· Ensure that all code changes are thoroughly tested and validated before deployment.
Collaboration & Communication:
· Work closely with product owner, developers, QA engineers, engineering manager and other stakeholders to ensure that the platform meets customer needs and expectations.
· Communicate technical issues and solutions effectively to both technical and non-technical audiences.
Qualifications:
Experience:
12 + years of experience in software development, using Java technologies.
4 + years of experience in a software architect role.
Proven experience designing and implementing large-scale, complex systems.
Expertise in designing and implementing highly concurrent, multi-threaded Java applications for optimal performance and scalability.
And Deep understanding of concurrency challenges (race conditions, deadlocks)
Proven experience in transformation of our monolithic architecture and ensuring minimal disruption to existing services.
Experience with Azure platforms and Docker technologies
Technical Skills:
Proficiency in Java and related technologies:
Core Java (Version 21) and Swing framework
Multi-threading
Spring Framework (Version 6)
RESTful API design and development
Databases (e.g., MySQL, MS SQL, PostgreSQL, MongoDB, Oracle)
Caching technologies (e.g., infinispan, Redis)
Build tools (e.g., Maven, Gradle) and code analysis tools
Junit (Version 5) framework
Strong understanding of design patterns and architectural principles.
Experience with DevOps practices and tools (CI/CD).
Experience with Linux platform
Knowledge of security best practices.
Experience with Agile development methodologies.
Soft Skills:
Excellent communication, interpersonal, and presentation skills.
Strong problem-solving and analytical skills.
Ability to work independently and as part of a team.
Ability to lead and mentor other developers.
Ability to manage multiple priorities and meet deadlines.
Educational qualification:
Experience :
Mandatory/requires Skills :
Preferred Skills :