About Us: GE is the world's Digital Industrial Company, transforming industry with software-defined machines and solutions that are connected, responsive and predictive. Through our people, leadership development, services, technology and scale, GE delivers better outcomes for global customers by speaking the language of industry.
Role Summary: Software Engineer will be responsible for the software design, development and integration of embedded software applications, to be run on locomotive platforms utilizing real time operating systems for Transport Intelligence products and solutions. In this role you will have technical responsibility for lccontributing to the team and works with direction from Senior Team Members or management, beginning to work independently.
Essential Responsibilities: • Design and development Object-Oriented (C++) software solutions for Transport Intelligence suite of products and solutions, contribute to the programming (in C, C++ on Linux / QNX) of applications, components, and interfaces onceptualize the initial design specifications for new features along with the other stakeholders • Ensure and meet all GE coding standards and quality specifications on time. • Be responsible for the integration of software into a given hardware platform and with related on-board systems. • Work closely with the business unit to ensure application development meets product specification requirements. • Ensure the utilization of Configuration Management tools (PVCS, Perforce, StarTeam,, ClearQuest, and Agile) to control software and changes to software. • Actively participate in design and code reviews. • Work cross functionally with other hardware, component, and systems engineers to ensure developed products and solutions meet all customer requirements. • Participate and support in field qualification of product development and production release. • Helps drive pair programming practices and code reviews across the team • Breaking down problems, documenting problem statements and estimating efforts • Explore alternate technology and approaches to solving problems
Qualifications/Requirements: • Master’s / Bachelor’s Degree in ECE / EEE / Computer Science Engineering / related engineering streams • Minimum of 4 years of professional experience • Minimum of 3 years of experience in embedded software development in C++, • in depth knowledge on programming in C++ on Linux or Embedded Linux or QNX • Minimum 3+ years of experience in embedded platforms like QNX or embedded Linux • Minimum 2+ years’ experience in programming with Linux/QNX kernel and IO programming , • Experienced in using design patterns and OOAD tools • Experience in LINUX/ QNX debugging tools like gdb, tcpdump • Exposure to networking stack, TCP, UDP, socket communications • Working knowledge in configuration management and defect tracking tools
Desired Characteristics: • Experience with digital filter design and tradeoff analyses of different digital filter approaches • Experience with Matlab modeling of digital filters, Matlab automated code generation • Experience with software design interfacing to real time data acquisition systems • Understanding of hardware and software integration for system design • Experience with locomotive design and subsystems • Experience with software design methodologies (UML / OOAD) and using analysis / design tools • Experience with Safety standards (CENELEC, SIL) and developing safety critical applications • Experience with unit testing and coverage testing tools such as; LDRA or VectorCast • Ability to provide technical assistance and resolution to complex designs • Excellent communication and organization skills • Strong interpersonal skills, tenacity, and patience to develop long-term customer relationships • Organized, with the ability to multi-task • High energy, self-starter, with a proven track record in delivering results • Strong critical thinking / problem solving skills. • Experience with Agile or Scrum team software development approach.
We are in the process of transitioning to an improved job application system and in the interim we are operating with two systems. Have your Job ID ready (from the email you received when you applied) to log in and check your application status.
Click the appropriate button. If you don't know your job ID, you can still check your status: use both buttons.