We enjoy a market-leading reputation for high-quality, high-performance engineering solutions in Rail and Infrastructure.
Rail : We are a specialist, end-to-end supplier to the global rail sector. Our performance critical engineering solutions fulfil an essential role in maintaining the safe and reliable operation of rail networks around the world Solutions include : Rail Products, Friction Management and Rail Technologies.
We focus on innovation, creating leading edge engineering and digital communication technology solutions for the rail, infrastructure, and the built environment.
Solutions include : Control and Digital display, Contract services and Condition monitoring solutions
Infrastructure : We operate in the Infrastructure sector. We are experts at designing, manufacturing and deploying advanced technologies that positively impact the built environment.
Solutions include : Precast concrete buildings and products, Bridge products, Pipe protective coatings and threading
Job Summary :
The Embedded Software Engineer II will develop, modify, and maintain customized embedded applications using software engineering best practices and standards.
Essential Functions :
- Develop software for new and existing products
- Interpret product specifications and synthesize solutions with team members
- Assume lead development role for small scale projects
- Work independently with minimal supervision
- Support existing products involving feature enhancement and problem solving
- Document developed software and participate in generation of user level documentation
- Support customers and internal production and field service team members
- Load software and test on products prior to shipment
- Participate in field testing and debugging
- All other duties as assigned
Experience, Education, & License Requirements :
- Bachelor’s degree in computer science or other engineering discipline required.
- 2-5 years experience developing software for embedded systems required
- Experience with embedded RTOS required
- Experience writing ISRs and programs that interact with devices at the register level required
- Experience interpreting electronic schematics, device data sheets, and other technical documentation required
- Experience working with binary serial protocols required
- Experience with real-time applications programming required
- Experience with TCP / IP network programming, routing, DNS, and DHCP required
- Experience developing revision controlled software consistently following an established process required
- Graphing library experience preferred
Skills & Abilities :
- Proficiency with C’ language programming
- Proficiency with oscilloscopes, meters, logic analyzers, and other test equipment to analyze and debug embedded systems
- Proficiency operating in a Linux workstation environment, both developing software for embedded microcontrollers and software that will run in a Linux environment
- Programming with ASYNC, I2C, and SPI interfaces
- Embedded data acquisition applications involving A / D conversion
- Distributed source code management systems (e.g. Mercurial, GIT)
- Digital signal processing
- BASH
- Python
- Linux device driver experience
- Data analysis and statistical methods
- Linux system administration Competencies :
- Planning
- Planning
- Problem Solving
- Peer Relationships
- Patience
- Decision Quality
- Integrity & Trust
- Adaptability / Flexibility
- Listening
- Creativity
- Self-Knowledge
- Priority Setting
The Benefits...
- Medical, dental, vision benefits the first day of the month after hire date
- Market-leading 401(k) program with company match
- 5 paid sick days per year
- 100% tuition reimbursement
- Paid Parental Leave
- Career development and advancement opportunities