PRIMARY PURPOSE OF THE ROLE
This role is responsible for contributing to the firmware test engineering team by creating test procedures, developing test harnesses and automated scripts, detecting and reporting issues, and working with development engineers to resolve issues.
- Review and improve technical standards and processes for firmware test engineers and drive best practices.
- Develop test procedures from use cases and requirements and review test procedures developed by colleagues.
- Develop frameworks, test harnesses and scripts to test embedded systems and Internet of Things (IoT) backends.
- Aggressively automate test processes using Python.
- Find, isolate and report issues using bug tracking software.
- Influence the design of future products to improve testability.
- Work with development engineers to resolve issues.
- Interface to other engineers within the team and across various disciplines.
- Analyse and interpret logging and diagnostic information.
DECISION MAKING / SUPERVISION
- This role is required to contribute to standards for firmware testing and candidates are expected to have a high level of autonomy.
- This role is responsible for contributing to the mentoring of more junior firmware test engineers and bringing them up-to-speed with test processes.
- This role, if not carried out correctly, could result in poor customer satisfaction, damaged hardware or breach of regulations, which could result in large increases in cost, schedule and reputational damage.
- The main challenge in this role is finding the balance between engineering rigour and time to market. The role demands that quality standards must be maintained, but this requires a level of efficiency and diligence that more junior engineers will struggle to reach.
- This role also requires that good relationships are maintained with peer test engineers in other teams to improve best practices and carry out end-to-end testing effectively and quickly.
KEY RELATIONSHIPS / INTERACTIONS
- This role is expected to interact with development and test engineers, both within the team and in others, particularly during end-to-end testing.
- This role is also expected to take part in test engineering “chapters” where best practice is shared amongst other test engineers within the business.
- In addition to internal relationships within the technology team, this role demands building strong relationships with operations and support staff in addition to facilities management and test equipment vendor personnel when organising testing at external sites and with hired equipment.
- Formal qualifications in electronics or software engineering.
- At least 3 years of firmware testing experience.
- At least 2 years experience with the Python programming language.
- A working knowledge of C, C++ programming languages.
- Experience with TestRail test management platform is highly desired.
- Experience with Atlassian’s platform for defect tracking and documentation is highly desired.
- Experience with Git code management is highly desired.
- Experience using electronics measuring equipment such as oscilloscopes, function generators, power supplies, and digital multimeters is highly desired.
- Knowledge of Linux operating systems is desired.
- Very strong attention to detail.
- Proven self-starter.
- Ability to prioritise and a “can-do” attitude.
- Occasionally providing technical support to customers (which may be on the weekend or after hours).