Python & C Engineer - Embedded System Testing
We are seeking a skilled Python & C Engineer with expertise in embedded system testing. This role involves designing and executing comprehensive tests for embedded wireless and MCU products, debugging issues with development teams, and developing automation tests for continuous integration. You will also play a key role in resolving customer issues, emulating customer environments, and contributing to the continuous improvement of testing processes through automation and scripting.
Key Responsibilities
- Functional, negative, performance, and stress tests will be designed and executed for Silicon Lab's embedded wireless and MCU products.
- Collaboration with development team(s) is essential to debug problems found during the test cycle.
- Automation test development is required so tests can be run regularly as part of a continuous integration infrastructure.
- Assistance in resolving customer issues will be provided by working closely with the customer support team to answer and reproduce customer-related issues.
- Customer environment emulation will be performed by working closely with the sales team and field application engineers in supporting customer's needs and debugging customer's problems.
- Distributed test network building, management, and maintenance are key responsibilities.
- Simplification and automation of product deployments and platform changes are expected.
- Productivity increase of the team through identifying opportunities to automate and script daily tasks and eliminate waste in existing processes is a goal.
- Automation test cases will be implemented based on test plans.
- Test results investigation in continuous integration systems is required.
- Custom embedded applications will be written.
Technical Skill Requirements
- Strong proficiency in Python with any embedded system experience (excluding storage) is mandatory.
- Basic knowledge in C is required.
- Experience in bootloader and firmware test automation is essential.
- Experience in bare metal environments is a must.
- Experience in low-level drivers (SPI, UART, I2C, etc.) is required.
- Experience with C, and scripting languages such as Perl or Python is necessary.
- Experience in RTOS systems (uc OS, FreeRTOS, etc.) is required.
- Knowledge of Embedded systems and Communication protocols (SPI, UART, I2C, etc.) is essential.
- Familiarity with Jenkins, Dockers, and RTOS is preferred (secondary skills).
- Technologies used include Python, Embedded systems, Jenkins, Docker, Cloud Based Computing, SQL Database, Windows, Linux, Shell, Bash, GIT.
General Requirements
- Employment Type: This is a Permanent, full-time position.
- Communication skills are essential to communicate well and work well in a small cross-functional team.
- Conversation fluency in English is required.
Preferred Skills (Experience considered a plus)
- Experience with continuous integration techniques, with Jenkins experience being preferred.