Job Title: Tech Lead, Software (India)
Bangalore, KA, IN, 560048
Introduction:
The Software Technical Lead contributes to the design, development, integration, and validation of software components for the product lines. Working under the supervision of the Team Leader, Software Engineering – India, and in alignment with the Software Design Authority, the Software Tech Lead develops high‑quality, maintainable, and compliant software modules supporting instrument control, data acquisition, processing, and user interaction. The role is central to delivering robust and scalable software within an industrial Agile/DevOps framework.
Responsibilities:
The SoftwareTech-Lead will:
- Software Design & Implementation
- Develop high quality software components in C/C++ following coding standards.
- Implement features defined by the Product and Architecture teams, ensuring compliance with design rules.
- Contribute to software refactoring, performance improvements, and technical debt reduction.
- Execution Under Design Authority
- Apply approved architectural principles, interfaces, and module boundaries.
- Respect toolchains, configuration rules, and development workflows.
- Ensure traceability from requirements to implementation and testing.
- Agile & DevOps Participation
- Actively participate in Agile ceremonies (planning, reviews, retrospectives).
- Maintain clear and up‑to‑date task status in project tracking tools.
- Contribute to CI/CD pipelines by writing automated tests and improving code robustness.
- Integration & Validation Support
- Perform unit tests, integration tests, and system‑level debugging.
- Collaborate with validation teams in India and France to resolve defects.
- Support formal release preparation and documentation.
- Sustaining Engineering
- Investigate and fix defects in released software versions.
- Contribute to obsolescence‑driven updates and controlled module evolution.
- Ensure backward compatibility and stability across product generations.
- Cross‑Site Collaboration
- Collaborate daily with the India engineering team and interface regularly with France‑based architects and leads.
- Communicate issues, risks, and progress clearly and proactively.
- Participate in knowledge‑sharing and continuous improvement activities.
Requirements:
- Education & experience:
- Bachelor’s degree in computer science, Software Engineering, or a related discipline. Master’s degree in the relevant domain would be preferred.
- 6–8 years of experience in software development (industrial, instrumentation, embedded, or scientific software preferred).
- Experience working in distributed or multi‑site engineering teams is a plus.
- Professionnal knowledge & abilities:
- Strong proficiency in C/C++ for real‑time, embedded, Python, or system-level software.
- Experience with Linux‑based development environments.
- Knowledge of SW for automation, tooling, or data workflows.
- Excellent understanding of instrument software architectures, data acquisition, UI frameworks, and integration testing.
- Familiarity with hardware/software integration and communication interfaces.
- Experience with CI/CD, Git, automated testing frameworks.
- Good understanding of structured software lifecycle processes.
- Rigorous, detail‑oriented, and committed to high‑quality engineering.
- Ability to collaborate in a distributed team with clear communication.
- Strong problem‑solving and debugging abilities.
- Motivation to learn advanced scientific/technical systems.