Patrick S. Barrett
Patrick S. Barrett
patrick@psbarrett.com
WORK HISTORY
LEMA | February 2024 - October 2024
LEMA is a small startup trying to make integrated solar systems, both photovoltaic and thermal.
Lead Software Engineer
- Architected the software systems for a series of off-grid solar systems' controller, interfacing
with a variety of power system and related components.
- Wrote an SNMPv3/v2c "client" library in Rust for our internal use.
- Lead the software team
- Guided less experienced developers in good software development practices.
- Implemented the foundations of the codebase as well as some of the trickier parts of the system.
- Held a weekly "class" on Rust along with a few other general topics related to software
development.
- Reviewed most of the code that went into our codebase, often suggesting simpler, clearer, or
more reliable ways of accomplishing the same features.
- Took on the role of product and project planner for the software team as well as some aspects of
the electrical and mechanical engineering teams.
Auxon | December 2021 - November 2023
Auxon was a very small, very ambitious startup building a system for "trace-based testing for
cyber-physical systems".
Senior Software Engineer
- Contributed to [Modality], Auxon's specialized graph database for structured trace data.
- Started, but didn't get a chance to finish, a development-focused local container orchestration
system initially aimed at embedded development environments: Conductor
- Helped to build a RoS2-based simulated test system.
- Wrote a product integration for the rust
tracing
ecosystem,
tracing-modality
.
- Maintained and expanded the Rust Modality SDK.
- Lead "translation" of internal docs for external consumption, helping to explain complex topics
in much simpler ways.
SmartThings | May 2017 - Oct 2021
SmartThings is Samsung's IoT subsidiary. SmartThings' primary product is its home automation hub
and the accompanying cloud platform.
Staff Software Engineer | July 2020 - Oct 2021
- Designed, architected, and was the lead contributor to the development of SmartThings' Hub Edge
Driver Platform. It moves device integrations from running in the SmartThings cloud to running on
hubs, embedded Linux devices, already owned by customers. It is written almost entirely in Rust,
with calls out to the legacy C application where needed.
- Wrote nearly all the code for the "Runner", the code that runs within the OS sandbox, providing
a seemingly native Lua + LuaSocket API along with custom APIs.
- Wrote the original PoC and continued to be a core contributor to the "Broker", the code that
runs outside the sandbox and accepts requests for any action headed for the outside world, such
as socket operations, logging, data storage, event handling, and anything else that is more than
pure computation.
- Wrote, from scratch, a pure lua implementation of a coroutine runtime called
cosock
which provides the full socket API offered by
LuaSocket, except it allows code that is intended to use LuaSocket in a single-threaded fashion
to be run cooperatively with other code also using LuaSocket.
- Wrote initial LAN Edge Device Drivers to be used as reference by users.
- Wrote a large portion of the documentation guides and references.
Senior Software Engineer | April 2018 - July 2020
- Personally architected & implemented the hub-side of a system for setting up a new hub's wifi
connection.
- Mostly written in Rust with some C for hardware interface abstractions.
- Built using Hyper directly.
- Re-designed the device discovery subsystem to appropriately fan-out device requests based a
filters provided by the ST cloud and/or app.
Software Engineer | May 2017 - April 2018
- Rewrote much of the existing cloud <-> LAN interface code from using a pthread-per-connection
model to a single-threaded system built on libevent.
- Helped maintain hub device handlers, written in C, for devices such as Hue & Sonos.
Exosite | May 2012 - Feb 2017
Exosite is a medium sized business that offers a hosted industrial IoT platform.
Software Engineer | Sept 2016 - Feb 2017
- Designed and developed new embedded software library for Exosite's upcoming 'Advanced Device
Connectivity' initiative.
- Library was designed for robust device to cloud security using better than industry standard
encryption & mutual authentication protocols while maintaining a very high level of developer
ergonomics and ease of use.
- Assisted with the design of the 'Advanced Device Connectivity' cloud systems.
Technical Marketing Engineer | Dec 2015 - Sept 2016
- Reviewed most of Exosite's marketing materials for technical accuracy.
- Attended industry tradeshows, fielding all questions about Exosite's technical products and helped
potential customers understand if and how Exosite's products could help them build their IoT
products.
- Remained as tier 3 customer support.
- Handled most tickets that were suspected to be legitimate problems found in Exosite's systems.
- Handled all questions about Exosite's CoAP API.
Applications Engineer | May 2013 - Dec 2015
- Was the main technical customer support representative.
- Wrote, developed, and maintained Exosite's documentation and documentation website including a
custom written static site generator.
- Helped create and run several training seminars designed for Exosite's partners.
- Helped in development and testing of the introduction of Exosite's CoAP API.
Associate Systems Engineer | May 2012 - May 2013
- Worked as part of a team to develop various embedded software projects, switching projects as
business needs changed.
- Ported eLua to a new embedded platform, personally wrote modules to support modem AT command
interface with modules to communicate using UDP, TCP, HTTP, and an abstracted interface to
interact with our platform web API.
- Sole developer and maintainer of Exosite’s official Arduino Library.
- Investigated various open hardware platforms and wrote example code to Exosite-enable the devices.
- Assembled prototypes to demonstrate potential customer applications.
- Various small projects including Javascript Widgets, Small PCB Population.
Mahtomedi Public School District FabLab | June 2011 - June 2013
3D Printing Specialist & Technology Consultant
- Selected and built three different low cost 3D printers.
- Refurbished two other 3D printers already owned by the district.
- Setup software for various uses in FabLab based classes.
- Provided ongoing assistance in maintaining 3D printers and other equipment.
- Hosted Saturday open lab hours for community members.
3M - Payment Components Business | March 2011 - May 2012
Technical Aide
- Responsible for making and shipping material samples.
- Created method for creating rapid prototypes using customer’s designs.
- Regularly assembled, laminated, and tested various card constructions for compatibility with ISO
and ANSI standards.
Century College - Engineering Department | Spring & Fall 2010, Spring 2011
Engineering Lab & FabLab Student Worker
- Re-setup all FabLab Equipment after computer upgrades, including: Epilog Laser Cutters, Stratasys
3D Printer, Z-Corp 3D Printer, Sherline Mills and Lathe.
- Created method for using a never used Roland Mini Mill for milling PCB’s.
- Performed routine maintenance of FabLab equipment.
- Kept inventory of all materials available to students in engineering lab and submitted purchase
orders when necessary.
- Instructed students on proper use of software and FabLab equipment.
EDUCATION
Bachelors of Electrical Engineering
University of Minnesota, Minneapolis, MN
PERSONAL PROJECTS
See my projects page.
SEE MY WORK