Jonathan Perkin is a senior software engineer with 15 years of experience building reliable release and infrastructure systems and a long-standing track record in pkgsrc and SmartOS packaging. He combines deep systems and SRE expertise—from managing high-volume package repositories and distributed build infrastructure to hands-on embedded and IoT kernel work—demonstrated by contributions adding STM32 and ARMv6-M support to the Hubris microkernel and enhancing node-rpio for Raspberry Pi hardware interfaces. Jonathan has led release engineering teams at Oracle/MySQL and run critical internet operations at the BBC, delivering large-scale production services and security-sensitive fixes. He is an active NetBSD committer and principal maintainer of several pkgsrc repositories, routinely handling complex cross-platform builds, backports, and security releases. Based in the UK, he blends infrastructure pragmatism with low-level programming fluency, comfortable moving between OS internals, release pipelines, and embedded device drivers. A less obvious strength is his ability to shepherd long-lived open-source ecosystems—hiring, mentoring, and sustaining community-maintained packaging at scale.
Contributions:256 commits, 21 PRs, 148 pushes in 8 years 4 months
Contributions summary:Jonathan primarily contributed to the node-rpio library, designed for interfacing with Raspberry Pi GPIO pins. The user's contributions involved enhancing the library's functionality, including the implementation of PWM and I2C support. The user also focused on adding features for SPI communication and adding support for various Raspberry Pi models. Additionally, the user addressed several bug fixes and code style improvements within the library's source code.
A lightweight, memory-protected, message-passing kernel for deeply embedded systems.
Role in this project:
Embedded Systems Engineer / IoT Developer
Contributions:1 review, 12 commits, 3 PRs in 1 day
Contributions summary:Jonathan contributed extensively to the `hubris` kernel, focusing on expanding support for STM32 microcontrollers. They added drivers for STM32G0 series boards, implementing GPIO functionality and integrating them into the kernel. Furthermore, the user introduced support for the ARMv6-M architecture, modifying core kernel components to function on Cortex-M0+ processors. These changes involved adapting to architectural differences and implementing non-atomic atomic operations, while supporting STM32G0 demo applications.
kernelmemoryprotectedrustc11
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
Jonathan Perkin - Senior Software Engineer at Edgecast