Firmware Engineer
Responsibilities:
- Design – working with Product Management, Project Management and end user stories on
- new product design architecture.
- Development – taking designs and making them happen. Writing and testing code using
- strict development methodologies including code reuse, maintainability, testing and
- documentation.
- Building high volume platforms - linking millions of users worldwide at the same time.
- Quality Assurance – developing test cases in line with best practice methodology.
- Project Environment - Working in a cross-functional agile team to develop features with
- collaboration across the software stacks.
Qualifications and Skill set:
- 3-5+ years Linux/C programming skills experience required along with a relevant 3rd level qualification.
- Proven experience developing and debugging multi-threaded systems.
- Understanding of UNIX/Linux operating systems and programming environments.
- Strong coding skills with proven ability to write well documented, maintainable, and testable
- code.
- Excellent problem-solving skills and the ability to demonstrate logical troubleshooting steps
- when working on software bugs
- A genuine passion and interest in technology and software development with a thorough
- knowledge of best practices and new technologies.
- Self-management skills, particularly in respect to prioritization and execution
- Detail-oriented individual with the ability to rapidly learn and take advantage of new concepts, business models, and technologies.
- Have the ability to communicate technical concepts to non-technical people.
Further skills which are desirable … and will be developed in this role:
- Linux Kernel and/or driver development
- Unit Test driven development
- Bluetooth classic or BLE development
- Experience with GSM AT Commands / Modem integration
- GPS/Positioning
- CAN Bus experience
- Sensor integration
- Development and debug of firmware such as u-boot