Harsco Corporation Embedded Software Engineer - Controls in Ludington, Michigan
Big! Yellow! Complex! Equipment!
Think of the controls needed to operate all the on-board systems of a locomotive, then add hydraulics, pneumatics, GPS, IoT, and even standalone software packages. We are the leading provider of technically advanced equipment to the Rail industry that improves safety and efficiency around the world. Join our team of over 40 Software Engineers; part of a global team of over 100 engineers in this design-driven environment.
As Embedded Software Engineer - Controls, you’ll design and develop embedded software used to control complex railway maintenance equipment. The Senior Embedded Software Engineer - Controls will lead full-cycle development projects from requirements through delivery and subsequent field support.
You have your choice of our office locations in Columbia, SC or Ludington, MI.
Domestic (U.S. residents) relocation assistance is available. Visa sponsorship will be considered.
You must have a combination of education and experience as follows:
Bachelors degree in Software, Electronic, Computer or other similar Engineering discipline with 3+ years of experience described below OR
Associates degree in Software, Electronic, Computer or other similar Engineering discipline with 7+ years of experience described below OR
10+ years of design experience as outlined below with no technical degree
Creation of embedded control code in C++
Experience with Visual Studio and Windows
CANBus network experience (SAE J1939 or CAN Open) and other fieldbus systems.
Experience with configuration management tools such as SVN
Experience with complex controls of heavy mobile equipment, including hydraulics and pneumatics
Exposure to requirements management (Jama) and issue tracking (Jira)
Robotics, device control and distributed I/O controls
Support hydraulic and electrical controls engineering
Experience with wired and wireless communication protocols
Ability to develop original algorithms, create code and write test cases
Ability to work effectively across functions in a highly matrixed environment