SW Engineer: Functional Testing and Automation
Position location: Remote / flexible
Matter is an application-layer connectivity standard for the connected home. Matter is designed to be simple, ubiquitous, interoperable, secure, and reliable. It has been broadly adopted by a wide spectrum of device makers and connected home ecosystems.
Matter SDK is the reference implementation of Matter protocols. It is an open-source effort, hosted on GitHub under the Apache 2 license. Member companies of the Connectivity Standards Alliance, contracted staff and open-source developers worldwide contribute daily to the SDK, with an average traffic of 100 pull requests merged per week. The SDK provides:
- A platform-independent implementation of key Matter protocols – core protocols for commissioning, naming, advertising and resolution, secure session establishment, multiple ecosystem management, and data interaction protocols.
- A reference implementation of application-specific schemas (clusters)
- Storage and security bindings
- Integration with a reference platform (embedded Linux on Raspberry Pi)
- Embeddings into several leading embedded platforms and SDKs
Key Responsibilities
- Expand and maintain the infrastructure for running functional tests, both in simulation and on real devices
- Develop and maintain integration with tools for automatic bug finding – fuzzing, static analysis, etc
- Develop and maintain infrastructure for testing and the tests reference SDK for longevity and stability issues
- Build and maintain dashboard tools for tracking overall quality of the SDK
Qualifications
- Bachelor’s degree in Computer Science or a related field, or equivalent experience
- Strong background in software development, and protocol testing
- Knowledge of software development best practices, including version control, continuous integration, and deployment
- Strong understanding of scripting languages such as Python, Bash, and/or JavaScript
- Knowledge of virtualization and containerization technologies such as Docker
- Familiarity with static and dynamic analysis tools such as Coverity, OSS-Fuzz, Clang static-analyzer/scan-build, Clang / GCC sanitizers, and GitHub’s code scanning tools