Matthew Knight is a Staff Software Development Engineer with a decade of experience building embedded systems and back-end tooling, now based in Surrey, BC. He combines a formal electrical engineering background with hands-on firmware and systems work, contributing notable C-translation and compiler-level improvements to the popular Zig language and adding architecture and HAL support for Cortex-M microcontrollers in microzig. Matthew has progressed through roles at Elastic, Sysdig, and now Zscaler, bringing production-grade C and systems expertise to cloud and security contexts. He’s equally comfortable authoring low-level register definitions and fixing ISR/clock configuration bugs as he is shaping backend features, and his personal projects live on Codeberg where he continues exploring Zig for embedded development.
Unified abstraction layer and HAL for several microcontrollers
Role in this project:
Embedded Systems Engineer / IoT Developer
Contributions:121 reviews, 19 commits, 325 PRs in 7 months
Contributions summary:Matthew primarily contributed to the development of a unified abstraction layer and HAL for various microcontrollers within the `microzig` project. Their work included adding support for new CPU architectures, specifically Cortex-M0plus, and addressing missing HAL components. The user also made updates, such as fixing issues related to interrupt service routines (ISRs) and clock configuration. Furthermore, they generated register definitions for specific microcontrollers like STM32F103, STM32F303, STM32F407 and STM32F429.
General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
Role in this project:
Back-end Developer
Contributions:7 reviews, 30 commits, 26 PRs in 2 years 8 months
Contributions summary:Matthew primarily contributed to the `ziglang/zig` project by implementing and refactoring code related to the C translation features. They added functionality for scoped typedefs, moved duplicated code into common functions, and updated code to handle 64-bit immediates. Further, they added bpf() syscall and supporting structs, and added more op codes. These contributions directly support the compiler's ability to translate C code to Zig.
purposecompilertoolchainzigprogramming-language
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.
Request Free Trial
Matthew Knight - Staff Software Development Engineer at Zscaler