Sr. Software Engineer – Embedded Controls Systems - #1672259
Harsco is recognized for technical leadership and worldwide experience in virtually all major aspects of railway track maintenance. We enable railroads to operate at peak efficiency over smooth, precisely aligned track that increases railway safety while reducing fuel consumption and other key operating costs. Our broad array of equipment and services support every type of railway operator, from major national and international railway systems, to short lines and high-speed urban transit networks.
The ideal candidate will serve in a senior technical role in Design, development and test of embedded software used to control complex railway maintenance equipment and will participate in full-cycle development projects from requirements through delivery and subsequent field support for a variety of rail maintenance equipment and machinery.
- Design, develop and test real time embedded machine control solutions for railway maintenance equipment including graphical user interfaces and machine I/O
- Design and develop software and processes to test, verify and validate new software
- Create and document methods to confirm that products meet or exceed requirements and customer expectations
- Apply communication and problem-solving skills to solve software issues related to the design, development, deployment, testing, and operation of systems both individually and within a dynamic team environment.
- Design and execute test plans, and scripts and report the results of testing in a clear concise fashion
- Design and execute automated test scripts using C/C++, Python, and other scripting languages
- Provide accurate estimates for assigned tasks, deliver the assigned task on time meeting specified functional expectations.
- Provide hands-on field support to test, commission, and troubleshoot machine functions.
- Communicate project status through reports, presentations and design reviews.
- Meet deadlines to ensure projects are completed within acceptable time and cost targets.
- Willingness and ability to travel up to 15% of time.
- Perform other reasonably related tasks as assigned by management.
- Master’s / Bachelor’s degree in Software, Electronic, Computer or other similar Engineering discipline
- Minimum 10 yrs. experience in design and development of embedded software used to control complex machinery
- Creation of embedded control code in C and C++
- Design and execution of automated test scripts using C/C++, Python, and other scripting languages
- Experience with Visual Studio and Windows CE
- CANBus network experience (SAE J1939 or CAN Open) and other fieldbus systems.
- Experience with configuration management tools such as SVN
- Must have ability to work autonomously with little direction and direct others.
- Excellent English written and verbal communication skills
- Experience with complex controls of heavy mobile equipment, including hydraulics and pneumatics
- Must be able to develop original algorithms, create code and write test cases
- 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
- Experience with Linux software development tools and environments
- Experience working as part of a multinational team
- The ability to predictably and regularly attend work
- The ability to read and speak fluent English
- The ability to work cooperatively with others
- System installation may require the ability to lift at least 40 lbs, walk over uneven surfaces (gravel) for up to 1 mile and climb vertical ladders up to 10'.
- The ability to drive a typical automobile.
- The ability to deal politely with customers and coworkers
- The ability to perform several tasks at once
- The ability to stand/bend/stretch, etc.
All your information will be kept confidential according to EEO guidelines.