Eric Barch
ericb[at]ericbarch[dot]com
Remote (USA)
Profile
Life long learner intrigued by tech and how it can be leveraged to solve real world problems. Current areas of focus include decentralization, IoT, scalable web infrastructure, networking/security, telematics.
Experience
Senior Software Engineer, RoBotany Ltd (Fifth Season); Pittsburgh, PA (2017-2022)
- Provisioned and maintained Kubernetes clusters in both the cloud and at the edge. Included provisioning bare metal servers in house and deploying an HA hypervisor across nodes. Configurations were managed via GitOps for ease, reproducibility, and visibility. (Debian Linux, k3s, Rancher, Emissary, Cloudflare Access, Proxmox, Flux)
- Developed a number of backend microservices, APIs, and fleet management functionality to manage a “swarm” of distributed robots. (NodeJS, TypeScript, OpenAPI, Dependency Injection, Integration Testing)
- Created/deployed an IoT data ingestion pipeline that incorporated both a visualization and alerting framework for providing engineers and growers with insights to get their job done. (InfluxDB, Prometheus, Grafana, Chronograf, Redis)
- Implemented a developer centric robotics framework for controlling actuators, reading sensors, generation of faults, an RPC mechanism, and coordinating with other robots via Pub/Sub. (NodeJS, TypeScript, Modbus, OPC, Raspberry Pi, Docker)
- Developed a CI/CD solution for backend services and robots. (CircleCI, Docker, GitHub)
- Implemented a BLE mesh gateway that captured wireless sensor data and deduplicated metrics based on a Pub/Sub consensus algorithm. (Bluetooth Low Energy, NodeJS, Redis, Socket.io)
- Implemented big data storage in the cloud that kept recent data in hot storage and moved older metrics into cold storage. (Azure, Time Series Insights)
- Maintained a custom netbooting Raspberry Pi Linux distro as the basis for the robotics platform. (Debian Linux)
- Networking and IT. Configured firewalls, provisioned managed switches, configured VLANs, WAP deployment & configuration, configured VoIP systems, setup load balancers, and managed several VPN servers. (pfSense, UniFi Switches and WAPs, OpenVPN, haproxy, Asterisk, Microsoft RDP)
Software Engineer, Tome Software; Royal Oak, MI (2014-2017)
- Worked with a team to define and develop a REST API that powers a volunteering focused web app. Setup a Continuous Integration/Deployment pipeline to run unit tests, build Docker images, and redeploy with zero downtime. (NodeJS, PostgreSQL, Docker, Swagger)
- Worked with a team to design and implement a continuous integration system that helps developers rapidly build Docker images for ARM/Raspberry Pi. (NodeJS, PostgreSQL, Docker, RabbitMQ, Redis, Bash)
- Developed a mesh based solution for deploying off-the-grid delay tolerant communication networks. Created a syncing protocol that allows all nodes on the network to opportunistically exchange data with one another. Designed and 3D printed cases for the nodes, which consisted of a Raspberry Pi and long range XBee radio. Researched OpenBTS and SDRs for creating non-permanent GSM stations. (Raspberry Pi, NodeJS, Java, 3D Printing, Docker)
- Architected and developed a scalable microservice based backend responsible for consuming large volumes of sensor data. The system stores this data in a fault tolerant manner and generates analytics from the sensor readings. Real time notifications based on sensor data was a requirement (via websocket), in addition to generating data reports on a weekly basis. Created a service discovery system using haproxy and confd. (NodeJS, PostgreSQL, Cassandra, Redis, RabbitMQ, Bluetooth Low Energy, Docker, Ansible, etcd)
- Managed IT for the company. Configured routers, firewalls, VLANs, WiFi APs, and other networking equipment. Established company best practices and conducted quarterly security reviews with all employees.
Controls Engineer, 221 Robotic Systems; Remote (2009-2014)
- Developed embedded software for brushless motor control on the STM32 platform. Implemented control interfaces for USB, I2C, and CAN. Created a companion HTML5 management tool that is used for configuration and debugging of the controller. (C++, HTML5, JS, CSS, AngularJS)
- Designed and implemented a robotics control system. Created a UDP protocol, designed a PCB, wrote an Arduino library, and developed a control application that
received input from USB joysticks to be sent over the network. (C++, Java) [0]
- Developed a chrome web app that replaced the Java control application for the above mentioned robotics platform. The app uses HTML5 APIs to receive USB joystick events, transmit UDP packets, and display robot metrics to the user. (HTML5, JS, CSS) [1]
- Developed and deployed custom web store with PayPal integration. (PHP, MySQL)
CTO, Lava LLC; Flint, MI (2012-2014)
- Cofounded company. (2012)
- Developed and deployed a real-time social networking site that had over 100+ users. (Python, NodeJS, RabbitMQ, Redis, MongoDB, Websockets)
- Designed prototype PCBs and launched Bluetooth Low Energy Arduinos on Kickstarter (Ember & Torch). Funding unsuccessful - raised $12.7K. [2]
- Launched a Bluetooth Low Energy smart lamp on Kickstarter (ION). Funding successful - raised $74K. Wrote firmware that ran on the nRF51822 BLE SoC (C++). Developed an Android BLE remote app (Java). Wrote a NodeJS npm library to control the device over BLE. Developed real-time “try before you buy” page using a websocket control channel that carried user control inputs to the server and binary MPEG data back to the browser. (HTML, CSS, JS, NodeJS) [3]
- Worked on several contract jobs to fund the company, including development of the 2015 Chrysler 200 Android app, now on the Play store. (Java) [4]
- Developed and deployed public facing lava.io website and store. (NodeJS/MongoDB) [5]
Education
Kettering University, Flint, Michigan — BA Computer Engineering (2013)
Personal Projects
- BLECast – An ESP32 library for broadcasting arbitrary data via BLE
- Dockuwiki – A dockerized wiki that backs itself up via Git
- socket-tunnel – Tunneling HTTP connections over WebSockets
Achievements
- Certified Apache Cassandra Administrator; O’Reilly Media (2015)
- Licensed Ham Radio Operator (KE8CHC)
- FIRST robotics student for 2 years, mentor for 2 years
- Cofounder of the Kettering Open Source Club
- Exhibitor at Maker Faire Detroit; (2012 Editor’s Choice, 2012-2014) [6]
Project Links
References
Available upon request