We’re a small, highly experienced team that built the operating system for the most sophisticated
beverage dispenser in the world, made by the largest beverage company in the world (We can’t tell you
who they are, but we’re in Atlanta). Now we’re at it again, but this time we’re building a Linux-based
distributed operating system to unify all equipment purchased by this beverage company. Along the
way we’ve completely re-imagined how to build Linux devices. Are you still using A / B partitions for
updates and rollbacks? We invented a way to de-dup releases and store an arbitrary number in a single
partition. Need to test real hardware in a simulator, or access hardware from a different node in a
distributed device? Our hardware abstraction is network transparent so we’ve got you covered. Want to
run x86 on your laptop but push to your arm64 dev board? Just enter the IP address and our Studio
application will sort out all the details and install to any target across the network. Incremental OTA,
manifest based deterministic runtime, immutable layer based filesystems, universal logging
infrastructure with support for real time streaming over the network, fully routed websocket mesh
networking, multi-node devices and many other inventions that push the boundaries of what is possible
on a Linux device. We’re looking for someone to help us integrate even deeper into Linux as we invent
and deliver the future!
About the Role
Our goal is to transition our Yocto stack from our partner organization to an internal resource so we can
focus on deeper integrations and continue our work on distributed platforms (devices that contain more
than one Linux board). Our partner remains engaged and will provide training and transition support. In
this role, you will be an integral part of our architecture team, contributing to high level designs and
solutions, such as auto-creation of a mesh VPN network for distributed devices, as well as execution of
deliverables such as upgrading to new Yocto versions, board ports and inclusion of new packages in our
build. As we put a great deal of focus on operational infrastructure in our Studio product, there is also
an emphasis on capturing operational state of the OS and reflecting it in our tooling.
Primary responsibilities
Support, extend and update our Yocto based infrastructure, including new Yocto releases, new
board support and exposing new libraries and packages.
Work closely with our internal teams to design, document and deliver new features.
Build, branching and publishing related to creating releases of os components.
Debugging integration related issues such as performance (video, browser, etc…) and stability
(library compatibility, crashes, etc…).
Learn, understand and contribute to our overall platform architecture.
Qualifications
B.S. in computer science and five years related work experience
Software build support for multiple architectures (x86, ARM)
Yocto-based Linux system construction
Linux boot processes on various hardware platforms
Linux kernel and DTB configuration
Systemd service design, usage and debugging
udev usage and rules
X11 and Wayland usage and configuration
Shell scripting
Configuration and usage of system interconnects such as I2C, PI, GPIO, USB, etc…
Networking : TCP / IP, Ethernet, VPN’s, firewall rules, wifi, etc…
C / C++ development
Senior Linux Engineer • Atlanta, GA, United States