Firmware/Software Engineer
Role details
Job location
Tech stack
Job description
We are now recruiting for a Firmware/Software Engineer to join our team in Stockport. Reporting to the Lead Software Engineer, your role will be to design and implement new and innovative solutions for signalling and train control systems and products in the field of Railway Engineering. There will also be involvement in problem resolution of new and legacy equipment., * Write firmware for embedded systems using the C language.
- Write unit-test software, and other software to support development and testing.
- Contribute ideas to the design of systems, software and firmware.
- Participate in "code reviews" of their own work and that of colleagues.
- Participate in testing, hands-on.
- Contribute to estimates of work-load.
- Help create a positive, enthusiastic, supportive working environment.
- Interact with other Engineers and Project Managers.
Requirements
The work to be performed is diverse and ability in the matters listed below is needed but we do not expect a single candidate to have all desirable skills or to be excellent in all matters:
- Broad grasp of the C language.
- Awareness of object-oriented programming techniques.
- Able to work with abstractions.
- Drawing and sketching diagrams.
- Testing techniques.
- Test-driven development.
- Enthusiasm for testing and documentation.
- Strong refactoring ability (breaking functions into smaller parts).
- The ability to learn and adapt.
- The ability to decompose a concept into bite-sized portions and explain them clearly.
Educated to degree level (or equivalent) in an Engineering discipline (electrical/electronic or software engineering) with relevant experience in programming skills (preferably a safety critical industry), candidates must have previous experience of demonstrating their ability in a work environment, e.g. in a product design role.
At Park Signalling Ltd we encourage collaborative working and experienced engineers are expected to be able to supervise, coach, mentor and encourage junior Engineers and Technicians. All members of the Engineering team are expected to be able to learn from one another., You may have experience in the following: Firmware Engineer, Software Engineer, Embedded Software Engineer, Embedded Systems Engineer, Electronics Engineer, Control Systems Engineer, C Programmer, C Developer, Embedded C Engineer, Test Engineer, Railway Signalling Engineer, Safety-Critical Software Engineer, Systems Engineer, Product Design Engineer, Engineering Consultant, etc.