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: A Firmware Engineer will primarily be working within the new product development team or the sustaining team. This team is responsible for long term development programs for new products as well as short-cycle custom design tasks that leverage existing standard product platforms. Our engineers are involved in all aspects of product development ranging from system-level design and requirements analysis, through prototype generation and testing, to final design validation and documentation
Essential Responsibilities: • Work with Microcontroller or Power PC ranging from 32-bit microprocessors to field programmable gate arrays and digital signal processors. • Develop applications that perform data acquisition, event processing, and data management and communication functions. • Development of embedded designs ranging from high-level application development to low-level hardware device driver. • Work with the firmware team members in designing CPU/DSP/FPGA based embedded systems. • Engage in all aspects of project development ranging from system level design and requirements analysis through code development and testing. • Work with firmware Senior and principal engineer to help drive overall firmware architecture initiatives. • Demonstrated skills in object-oriented techniques and associated languages. • Analyze embedded code to determine root cause of defects and implement corrective action. • Develop systems using real-time embedded operating systems (VxWorks, QNX, Linux,etc.) • Drive the strategy and structure of embedded designs, techniques, and processes
Qualifications/Requirements: • Bachelor’s Degree in Computer Science, Computer Engineering, Electrical Engineering, or related engineering discipline from an accredited university or college. • Minimum of 3+ years’ experience in firmware development and real time data processing and management. • Sound knowledge and hands on Real Time Applications, Microcontroller / DSP architecture and Device Drivers • Minimum of 3+ years of experience writing code for an embedded processor. • Minimum of 3+ years of experience using C++ • Knowledge of microcontroller based digital circuit design and peripheral interface and hands-on of testing tools like Digital Storage Oscilloscope and DMM
Desired Characteristics: • Demonstrated skills in object-oriented techniques and associated languages. • RTOS experience - QNX. Use of FW tools such as BDMs, memory programmers. • Experience in design of PCIe, USB, Memory Controllers - DDR2/DDR3, ARM microprocessor-systems. • Experience in wireless embedded systems and communication standards like Modbus, OPC etc. • Experience using software debugging tools; emulators, debuggers, etc. • Experience in and knowledge of test driven development concepts. • Experience with Ethernet TCP / IP, UDP, memory architectures, databases and structures. • Demonstrated skills in implementation and verification of high quality designs in a timely manner. • Demonstrated ability to work amongst diverse teams cross functionally. • Demonstrated skills in problem solving. • Strong oral and written communication skills. • Knowledge and or working experience of the AGILE development process. • Green Belt certified and DFSS trained. • Ability to promote ideas and make sound technical decisions as a member of a team of technical experts. • Ability to produce detailed and complete functional design and interface documents • Energy and desire to deliver high-quality software quickly through iterative development • Ability to stay organized and focused while supporting multiple areas of shifting technical and conceptual complexity.
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.