Lead Engineer-MCA Platform Software- Hybrid (Ft. Worth, Remote Illinois, Pennsylvania, Texas)

Employer
Wabtec Corporation
Location
Washington, DC
Posted
Dec 05, 2022
Closes
Dec 07, 2022
Ref
724416250
Industry
Engineering
Hours
Full Time
A$ A' "A' ?Design, implement, test and validate the MCA Platform Software architecture. MCA (Modular Control Architecture) is the Next Gen Locomotive Control Architecture that modernizes the electronics, software, applications, and network communication compared to previous generations of locomotive controls. MCA has been a journey of Controls development to incrementally update aspects of various locomotive types, including Evo, AC44, Dash 9, and FLX locomotives, with the objective of improving software quality, improving engineering productivity, meeting cyber security expectations, all while addressing the latest customer needs.Essential Responsibilities:The MCA Platform Software Engineer will focus on delivering and sustaining a series of Platform Software services that are foundational to the MCA architecture, data model, communication, and cyber security strategy.You will contribute to the definition of the strategy on which technologies to leverage, which security practices to employ, and will be responsible for implementing those strategies.Responsibility is cross functional in nature and requires close collaboration amongst various MCA teams.In this role, you will:Review and refine control system-level requirements to understand design intent and reconcile with MCA Platform capabilitiesDerive MCA Platform software requirements and interfaces from system requirements, allocate them to software services, and provide traceability to system requirementsDesign, program and develop MCA Platform software services which are robust against expected configurability, performance, cyber security, and quality requirementsDevelop and modify Board Support PackagesLead, develop, and consult on the development and execution of test plansExecute platform hardware/software integration test cases on various test environmentsLead and participate in MCA Platform software troubleshooting efforts to root cause failures and defects on the various test environmentsPrepare and present technical design decisions and results to internal and external customers as necessaryEnsure proper documentation of technical data generated for the assigned projects and/or tasks consistent with engineering policies and proceduresParticipate in, or lead as appropriate, design and code reviews.Support V&V through validation test cases execution on various test environmentsProvide timely communications on significant issues, risks or developmentsPlan individual work for assigned MCA platform software features as input to project plansDrive process improvements and simplification initiatives to improve quality and productivityPrepare invention disclosures to protect the technology that provides a competitive advantage to the businessQualifications RequirementsBachelor of Science in Software Engineering, Computer Science, or other Engineering disciplineMinimum of 2 years' software engineering experienceExperience with Linux OS on embedded systemsExperience with DockerExperience with C/C++, Bash, PythonExperience developing and testing embedded softwareExperience defining system-software designs and exploring technical feasibility tradeoffsAbility and willingness to support hands-on validation in simulation laboratory and on-locomotiveWillingness to work cross-functionallyAbility and willingness to travel, as requiredDesired CharacteristicsExperience with ARM development, Data Distribution Service (DDS), Embedded RTOS, GoogleTestExperience in developing, modifying, and debugging device drivers, bootloaders, or board support packagesExperience with hardware/software integrationExperience contributing to the design of new embedded systemsKnowledge of Linux kernel internals (scheduling, memory management, IPC, file systems, etc)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 operationsUnderstanding of CI/CD software engineering practicesKnowledge of Model Based Systems Engineering with SysMLAbility to prioritize and manage tradeoffs effectively to meet overall objectives

Similar jobs