The Role:
Silicon Labs is looking for a Software (SW) Developer in Test to plan, develop, and debug embedded applications, as well as automate test scripts to improve the overall quality of various wireless protocol SDKs.The protocol SDK implements a standard API over the protocol stack (e.g., Zigbee, OpenThread, Z-Wave, etc.) and peripherals, enabling faster customer application development. Each Silicon Labs wireless protocol is integrated into the Silicon Labs Gecko SDK. Most of our customers focus on building Internet of Things (IoT) products. You will be the primary SW Developer in Test, responsible for providing test coverage for each SDK feature and maintaining build-to-build quality and consistency. The ideal candidate has experience with embedded products and a soli understanding of the IoT domain. Additionally, experience working with embedded software and firmware used to control MCU peripherals is a plus. You will frequently interact with the SW Development Teams based in Budapest, Espoo, Rennes, and Boston. The ideal candidate should have strong knowledge of Python, and proficiency in C or Java is a plus. Good working experience with Linux/Unix is also required. We are looking for creative, flexible, pragmatic, and skilled individuals with excellent communication skills and a passion for problem-solving in a fast-paced team environment.
Responsibilities:
- Design and execute functional, negative, performance, and stress tests for Silicon Labs embedded wireless and MCU products.
- Work closely with development teams to debug issues found during the test cycle.
- Develop efficient and stable automated tests that can be run regularly as part of a continuous integration infrastructure.
- Assist in resolving customer issues by collaborating with the customer support team to reproduce and analyze problems.
- Emulate customer environments by working closely with the sales team and field application engineers to support customer needs and debug issues.
- Build, manage, and maintain a distributed test network.
- Simplify and automate product deployments and platform changes.
- Increase team productivity by identifying opportunities to automate and script daily tasks, and eliminate inefficiencies in existing processes.
- Create test plans based on requirements and conduct test plan reviews.
- Investigate test results within continuous integration systems.
- Implement automated test scripts.
- Write custom embedded applications.
Technologies we use:
- Python, Java, JUnit, Jenkins, Docker, Cloud-Based Computing, SQL Database, Windows, Linux, Shell, Bash, GIT, GenAI
Skills you will need:
- Work experience with 1-3 years in test automation or scripting.
- Strong knowledge of Python; familiarity with Java is a plus.
- Knowledge of version control systems such as Git.
- Experience with continuous integration techniques and test automation systems.
- Ability to communicate effectively and work well in a small cross-functional team.
- Ability to create and review test plans based on requirements.
- Experience in planning CI processes.
- Experience in implementing test strategies and test plans.
- We consider the following experience as a plus
- Experience with continuous integration.
- Knowledge of data communications and networking.
- Experience with task management and bug tracking systems such as JIRA.
- Team leadership and/or coordination experience is a plus.
- IoT domain knowledge.
Education and/or Experience
- Preferred: Bachelor of Science in Electrical Engineering or Computer Science from a four-year college or university; or an equivalent combination of education and experience with 1-3 years