Hi! I'm John, a software engineer who specializes in embedded systems.

fn projects() {

  • MetamorpherRust

    This is a tool used to convert data into metadata! Basically it takes an input file and creates a directory structure full of empty files with a Base64 encoded representation of the input data in the filenames. I even had an article published on Hackernoon about it! If you happen to use Arch Linux, you can also find metamorpher in the AUR.

  • RCC: The Remote C CompilerC

    This is a project from school that I enjoyed quite a bit. It's a tool for shipping source code over the network to more powerful build servers so you can still use your low-power device's IDE, etc. There's also an accompanying whitepaper.

  • Nanos G20 Guide

    The Nanos G20 is an older ARM single-board-computer that I worked with in the past. This repository stores some (probably dated) guides, code, and configurations for embedded developers targeting this platform.

  • This Website!Rust, HTML/CSS

    This website is written in plain HTML, CSS, and a Rust web framework called Rocket. Putting it together was a great learning experience for me, and I got the chance to leverage a (primarily) systems programming language for the web! I also used Skeleton for a lot of the HTML/CSS boilerplate. It's also packaged as a ~35 MB container image and deployed on Kubernetes!

  • U-Boot ContributionC

    In the defense industry, it's very difficult to get open source contributions through company bureaucracy and into the public domain. Despite this challenge, since open source software is important to me and the business case for re-contribution is very strong, I fought to get this patch into upstream U-Boot! The patch also serves as a good example of my low-level C experience.

  • Advent of CodeRust

    Advent of Code is an annual, Christmas-themed coding challenge that I learned about in 2018. The solutions I've implemented are all in Rust. This challenge is one of the primary ways I learned the language!

  • Project EulerC, C++, Rust, Bash, Java

    Project Euler is a programming challenge more heavily focused on mathematics. I've written solutions in several different languages which helped develop my understanding of how to leverage different languages' strengths and solve problems idiomatically.


fn resume() {

John Moon

Embedded Software Engineer - Sacramento, CA


Qualcomm Innovation CenterSpring 2022 - Present

Senior Software EngineerFully Remote

Spring 2022 - Present
  • Android Linux Kernel development
  • Migrating legacy code to Bazel build system
  • Contributing to upstream open source projects (e.g. AOSP)

Valley Tech Systems, IncSpring 2019 - Sprint 2022

Software EngineerFolsom, CA

Spring 2019 - Sprint 2022
  • Embedded Linux infrastructure development
  • Software defined radio development
  • Open architecture systems development
  • Network modeling and testing
  • Containerization and orchestration of legacy applications

Northrop Grumman CorporationSummer 2016 - Spring 2019

Software Engineer - Mission SystemsSacramento, CA

Summer 2016 - Spring 2019
  • Embedded software development - specializing in airborne signals intelligence platforms
  • Core systems programming for Xilinx Zynq Ultrascale+ MPSoC and RFSoC chipsets
  • On-site flight integration and test
  • Adopting and modernizing large legacy codebases
  • Leveraging and contributing back to open source software
  • Attending technical conferences (Embedded Linux Conference, Xilinx Developer Forum, etc.)

Digiwest, LLCSpring 2012 - Fall 2015

Hardware Developer & Quality ManagerPortland, OR

Spring 2012 - Fall 2015
  • Embedded hardware development - specializing in low-power Bluetooth data collection systems
  • P.C.B. layout design using EagleCAD
  • Writing stress-test and analysis programs in several languages
  • Management of assembly team - up to five people

San Jose State UniversityFall 2017
B.S. Computer Science
Men's Varsity Water Polo Team Captain
2016 Golden Coast Conference All-Academic

Languages C, C++, Rust, Python, Bash, Java, Awk
Tools Vim, Git, GNU utilities, GDB/Valgrind, Nginx, Wireshark, Make, CMake
Software Linux, U-Boot, Docker, Kubernetes, REDHAWK, Buildroot, gRPC/Protobufs
Skills Software and hardware development, device drivers, open source, networking, server management, bootloader design, team-oriented, natural leader
Certifications CompTIA Security+


fn contact(guess: &str) -> ContactInfo {

In an effort to reduce spam emails and phone calls, I implemented a little "completely automated public Turing test to tell computers and humans apart" (a.k.a. CAPTCHA)!

To see my contact information, enter the third word in the following quote (refresh to get a new one):

RAM wasn't built in a day.

Note: word is whitespace-delimited with punctuation included.

Of course, if this was important, I'd use an industry-accepted CAPTCHA system, but this is way more fun! Also, thanks to fortune for generating the quote!