Overview
Job Summary:
Responsible for the design, development, and maintenance of software and firmware for electronic control systems deployed in the rail industry. This includes developing software requirements specifications, functional specifications, and software design documents.
Essential Job Functions/Responsibilities:
• Design and develop high-quality software products in a fast-paced environment
• Support and enhance the entire software development life cycle
• Perform and guide the automation of unit, module, system, and regression level testing on various software modules and systems
• Perform root cause analysis and develop solutions as necessary
• Accountable for system requirements review, software architecture, and design
Qualifications:
Essential:
• Bachelor’s or master’s degree in computer science/engineering, Electronics Engineering or MCA.
• Software Engineering experience of 10 to 15 years in Real Time Embedded Software development.
• Experience with RTOS like QNX, VxWorks, etc.
• Strong experience with C and C++ programming in multitasking and multithreaded environments on an RTOS platform
• Experience working with Ethernet, TCP/IP, RS-232/422 protocols
• Hands-on experience testing/debugging software, firmware, and electronic control systems
• Ability to work in a very fast-paced, dynamic environment with adjustments to priorities to meet the needs of the organization
• Effective communication skills; ability to articulate clearly and concisely
• Experience with SCM, software change management, continuous integration, and automated unit testing processes.
Desirable:
• Experience with ARM or X86-based hardware and QNX Board Support Package.
• Familiarity with Agile development methodologies such as Scrum and TDD in an embedded environment is desired.
• Familiarity with PHP, HTML, Python, and shell scripting.
• Knowledge of safety-critical software or CENELEC standards and the rail industry is a plus.