✨ Fill and validate PDF forms with InstaFill AI. Save an average of 34 minutes on each form, reducing mistakes by 90% and ensuring accuracy. Learn more

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

Wabtec Corporation Remote
lead engineer software remote software engineering test design architecture locomotive security software engineering embedded
January 23, 2023
Wabtec Corporation
Miami, Florida
FULL_TIME

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 capabilities
  • Derive MCA Platform software requirements and interfaces from system requirements, allocate them to software services, and provide traceability to system requirements
  • Design, program and develop MCA Platform software services which are robust against expected configurability, performance, cyber security, and quality requirements
  • Develop and modify Board Support Packages
  • Lead, develop, and consult on the development and execution of test plans
  • Execute platform hardware/software integration test cases on various test environments
  • 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 as necessary
  • Ensure proper documentation of technical data generated for the assigned projects and/or tasks consistent with engineering policies and procedures
  • Participate in, or lead as appropriate, design and code reviews.
  • 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
  • Drive process improvements and simplification initiatives to improve quality and productivity
  • Prepare invention disclosures to protect the technology that provides a competitive advantage to the business


Qualifications Requirements


  • Bachelor of Science in Software Engineering, Computer Science, or other Engineering discipline
  • Minimum of 2 years' software engineering experience
  • Experience with Linux OS on embedded systems
  • Experience with Docker
  • Experience with C/C++, Bash, Python
  • Experience developing and testing embedded software
  • Experience defining system-software designs and exploring technical feasibility tradeoffs
  • Ability and willingness to support hands-on validation in simulation laboratory and on-locomotive
  • Willingness to work cross-functionally
  • Ability and willingness to travel, as required


Desired Characteristics


  • Experience with ARM development, Data Distribution Service (DDS), Embedded RTOS, GoogleTest
  • Experience in developing, modifying, and debugging device drivers, bootloaders, or board support packages
  • Experience with hardware/software integration
  • Experience contributing to the design of new embedded systems
  • Knowledge 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 operations
  • Understanding of CI/CD software engineering practices
  • Knowledge of Model Based Systems Engineering with SysML
  • Ability to prioritize and manage tradeoffs effectively to meet overall objectives


Report this job

Similar jobs near me