NPD Software Engineer

IDEX Corp   •  

Oklahoma City, OK

Industry: Manufacturing


5 - 7 years

Posted 54 days ago

The Software Engineer is responsible for the technical development of software for new product development (NPD) projects. Projects include the development, testing, and documentation of application/factory test software in an embedded Linux environment including configuring and building the Linux environment itself. The position requires excellent collaboration and communication skills

Essential Functions
Develop code for new products. This includes the coding, compiling, linking, testing, and debugging of the new code.
Utilization of the Agile process to meet product specifications on time and on budget
Engage with Commercial team to identify and analyze customer needs
Develop design verification and validation plans for software; perform verification and validation tests documenting the test results
Monitor and research industry advances related to software development and it’s integration with electrical systems
Review and debug low level software and electrical designs/hardware (reading electronic schematics and PCB layouts)
Understand firmware: how to read firmware written in ANSI C/C++ for micro controllers/digital signal processors and FPGA/CPLD’s
Experience in numerous embedded controls (e.g. PID control loops, motor control, FIR and IIR digital filters, state machines, low-level peripheral drivers, etc.)
Familiarity with industrial fieldbus protocols and other serial network communications (ProfiNet, Ethernet/IP, DeviceNet, CAN, USB, RS485, Modbus,I2C, SPI, etc.).
Determine and verify the system requirements by analysis and modeling of control systems using simulation tools such as MATLAB, Spice, Altium ect….
Work closely with mechanical and electrical engineers to develop robust software designs for various electro-mechanical systems/devices
Support the development and maintenance of software used in the manufacturing area
Performs other duties as required
Responsible for aiding in own self-development by being available and receptive to all training made available by the company
Plans daily activities within the guidelines of company policy, job description, and supervisor’s instruction in such a way as to maximize personal output
Responsible for keeping own immediate work area in a neat and orderly condition to ensure safety to self and co-workers

Qualifications: Required Education and Experience
Bachelor’s Degree in Software Engineering, Computer Science, Computer Engineering, or Electrical Engineering
5+ years of experience in working on multi-functional teams developing new products
Proficiency using embedded Linux operating systems
Proficiency reading and debugging electrical designs

Preferred Education and Experience
Experience preferably in Instrumentation/Metrology/Process control industry
Embedded Wizard and/or alternate GUI experience a plus
Previous direct customer interface experience to define specifications and troubleshoot problems

Additional Eligibility Qualifications
Strong attention to detail and accuracy in work
Demonstrate good organizational skills and good follow-up techniques
Must be able to multitask
Advanced computer skills
Demonstrated initiative, judgment and maturity, deals with confidential information with the utmost discretion, respect and care
Demonstrate responsibility, respect, dependability, patience, and productivity in order to create a positive work environment

Supervisory Responsibility

Work Environment
Exposure to manufacturing environment. Noise level may vary from moderate office environment to noisy/loud in the plant area. Proper use of safety equipment such as steel-toed shoes, goggles, safety glasses, gloves, apron and face shield must be observed.

Up to 25% Domestic and International