Drake Main

Software Engineer

Seattle, WA

About

I am a software engineer with a background in aerospace technology, where I have made significant contributions to both helicopter autopilot systems and ion propulsion control for satellites. My career is marked by a proven ability to adapt and excel across various environments, from the rigorous demands of space technology at Amazon's Project Kuiper, where I played a key role in propulsion system development, to the expansive cloud infrastructure at AWS CloudWatch Logs.

My technical expertise is deeply rooted in systems programming with a current preference for Rust, although I have extensive experience with C++ and C, which underscores my capability to handle low-level system interactions and performance-critical applications. While I do have preferences, I consider myself to be language agnostic, prefering to think more about the flow of the underlying data than the medium used to control it. My work spans from large-scale enterprises to smaller, dynamic companies where I've had the opportunity to significantly influence product development.

I possess a unique blend of software engineering skills with a practical understanding of hardware, thanks to collaborative projects with electronics engineers. This interdisciplinary experience has not only honed my technical skills but also my ability to integrate software solutions with hardware components effectively.

Work History

Amazon Kuiper

Software Development Engineer Redmond, WA

As a Software Development Engineer at Amazon Kuiper on the GNC team, I spearheaded the evolution of our propulsion software. I helped transform a basic framework into a comprehensive system that managed thruster operations in space, ensuring precise satellite orbit adjustments.

  • Developed and refined the propulsion control algorithms in Rust, ensuring high reliability and fault tolerance in vacuum and high-radiation environments.
  • Continually improved and updated the interfacing software between the flight computer and the propulsion control unit.
  • Collaborated closely with electronics engineers to integrate software with propulsion hardware, performing tests on real hardware in propulsion lab vacuum chamber.
  • Utilized tools like oscilloscopes and logic analyzers for diagnostics, directly contributing to finding and squashing bugs, both in the software and the hardware.
  • All contributions directly palyed a pivotal role in our first protoflight mission, successfully performing orbit adjustments of two test satellites and thus demonstrating the system's effectiveness.
RustC++LinuxPython

AWS CloudWatch Logs

Software Development Engineer Seattle, WA

On the 'front end' team at AWS CloudWatch Logs, I managed the ingestion pipeline for customer data, dealing with high-volume data processing. My role was critical in maintaining the security, reliability, and smooth operation across multiple global regions during deployments.

  • Implemented and rapidly deployed security patches, including a significant fix for a confused deputy vulnerability, enhancing overall system security.
  • Engineered and rolled out updates to mitigate major security issues in our logging framework, ensuring data integrity and protection.
  • Developed comprehensive testing suites to bolster system reliability, reducing downtime and errors in data ingestion processes.
  • Facilitated cross-team collaboration to ensure service interoperability during updates, maintaining seamless integration and operation continuity.
JavaLinuxPython

Digital Control, Inc.

Embedded Software Engineer Kent, WA

At Digital Control, Inc., I was instrumental in creating embedded software for a cutting-edge handheld device used in horizontal directional drilling. My work focused on enhancing user interaction through advanced visualization techniques and real-time data streaming.

  • Upgraded the application framework to a newer Qt version, integrating WebGL to enable UI streaming directly to web interfaces for easier development and testing, with potential customer uses as well.
  • Developed core functionalities in C++ within the embedded system, working closely with a principal scientist to implement complex matrix algebra for magnetic field to screen coordinate transformations.
  • Created a dynamic graphical UI utilizing TypeScript, which, combined with Webdis, allowed for real-time visualization of tracker orientation by streaming Redis data to web browsers.
  • Enhanced system capabilities by facilitating live data interaction, significantly speeding up the development and debugging process for field operations.
C++TypeScriptGoLinux

HeliTrak, Inc.

Software Engineer Intern Gig Harbor, WA

During my tenure at HeliTrak, Inc., a very small but innovative company, I contributed to an autopilot system for the Robinson R-44 helicopter. My role expanded from an intern to a key team member, reflecting my significant contributions to both software development and system integration.

  • Developed and implemented hardware drivers in C, meticulously aligning with technical specifications to ensure seamless integration with the autopilot system.
  • Created a suite of developer tools, highlighted by a real-time telemetry dashboard using JavaScript for the frontend and Rust for a WASM module, enhancing live data visualization from the CAN bus via a Raspberry Pi web server.
  • Successfully ported critical development tools from Windows to Linux, increasing the team's flexibility and productivity.
CLinuxJavaScriptRust

Contact