
Engineering Technical Leader
- Bangalore, Karnataka
- Permanent
- Full-time
- Provide timely communications on significant issues, risks, or developments
- Plan individual work for assigned MCA platform software features as input to project plans
- Design, develop, maintain, and test MCA Platform SW: Platform Services, MCA Middleware applications to connect MCA Platform with Business Logic applications
- Ensure MCA Platform SW is robust against expected configurability, performance, cyber security, and quality requirements
- Review and refine control system-level requirements to understand design intent and reconcile with MCA Platform capabilities
- Derive MCA Platform software requirements and interfaces from system requirements, allocate them to MCA Platform software components
- Develop, review, and execute hardware/software and software/software test plans for unit testing and MCA Platform integration testing
- Lead and participate in MCA Platform software troubleshooting efforts to root cause failures and defects on the various test environments
- Prepare and present technical design decisions and results to internal and external customers
- Ensure proper documentation of technical data generated for the assigned projects and/or tasks consistent with engineering policies and procedures
- Support V&V through validation test cases execution on various test environments
- Provide timely communications on significant issues, risks, or developments
- Plan individual work for assigned MCA platform software features as input to project plans
- Prepare invention disclosures to protect the technology that provides a competitive advantage to the business
- Bachelor of Science in Software Engineering, Computer Science, or other Engineering discipline
- Minimum of 7 years’ software engineering experience
- Experience in developing, modifying, and debugging device drivers, bootloaders, or board support packages
- Experience with Linux OS on embedded systems
- Experience contributing to the design of new embedded software systems
- Experience with hardware/software integration, Docker, languages such as C/C++, Bash, Python
- Experience developing and testing embedded software
- Understanding of CI/CD software engineering practices
- Experience defining system-software designs and exploring technical feasibility tradeoffs
- Knowledge of professional software engineering practices & best practices for the full software development life cycle, including requirements management, coding standards, code reviews, source control management, build processes, defect tracking, testing, and operations
- Ability to prioritize and manage tradeoffs effectively to meet overall objectives
- Ability and willingness to support hands-on validation in simulation laboratory and on-locomotive
- Ability and willingness to travel as required
- Experience with ARM development, Data Distribution Service (DDS), Embedded RTOS, GoogleTest
- Knowledge of Model Based Systems Engineering with SysML