In my current role, I'm developing C#-based RF test automation
software for a critical NPI. These programs communicate with a
DUT using register-level socket commands to automate tests such
as S-parameters, time-domain reflectometry (TDR), and
component-level verification. Each new device under test (DUT)
requires me to first build a driver to enable basic device
control. Then, I develop methods to control attenuators,
amplifiers, switches, and other PCB-level components. I also
build a control panel GUI for each DUT to help streamline
troubleshooting. The end goal is to have a full suite of tests
that a technician can reliably run at the click of a button and
the connection of a few cables.
I also started a side project to fully automate test station PC
setup. In doing this, I significantly reduced the work hours
required to configure new test stations. In turn, this helped to
build the relationship between my team and the Keysight IT team,
ensuring that we are aligned regarding PC safety and
cybersecurity in the future.
C#
APIs
RF Test
Source Control
Hardware Drivers
Supporting an evolving assortment of Keysight's products over
the years, I resolved over 450 post-sales issues in Jira Service
Desk & Salesforce. This involved collaborating with sales
personnel, application engineers, and customers themselves. I
was the sole USA-based point of contact for government and
high-security customers for certain products with sensitive
customer requirements.
To enable efficient repair and calibration, I delivered
in-person technical training for vector network analyzer service
and verification. Additionally, I worked to improve and expand
customer-facing programming examples to help them automate their
solutions. This included example scripts in C#, C++, Python
(using both PyVISA and IVI-COM), VB.NET, and Excel VBA. For
internal customers, I developed applications for some of
Keysight's VXT transceiver products using C#, enabling faster
diagnosis of hardware, software, and FPGA issues.
Meanwhile, I was also an active leadership member of
Keysight's largest employee networking group. On the leadership
team, we organized professional, social, and philanthropic
events for over 300 members.
Jira/Salesforce
Customer Support
Scripting
Technical Documentation
March 2024 -
August 2018 -
After graduating from UC Davis, I joined Keysight's engineering rotation program. The quantum team was just getting started at the time, and they ended up retaining me for almost the entire duration of the program. I worked with this team as they set up an agile development system using Jira and as we developed Keysight's first few custom solutions for customers in the quantum computing space. These solutions utilized hardware and software recently brought into the company's portfolio via an acquisition as well as existing equipment. In my time with the team, I determined the scalability of our solution for systems utilizing more qubits, wrote VHDL FPGA code blocks for use in our FPGA design software, and documented the FPGA design software.
VHDL
Agile Development
Solution Engineering
Technical Documentation
November 2017 -
Together with one other electrical engineer, I led the design, development, and delivery of a custom training tool for emergency first responders. The project was initiated by the UC Davis Veterinary Medicine Department, who approached our professor with the concept. Under his supervision, we handled everything: system design, PCB layout and assembly, chassis design, testing, and customer training. The device helps reduce harm to animals involved in roadside emergencies.
Small Team
PCB Layout
Technical 3D Modeling
While attending classes at the Santa Rosa Junior College, I joined Micro-Vu as an intern in their electronics department. During my time there I assembled, evaluated, calibrated, and diagnosed problems with circuit boards and peripherals. This work helped them scale their "Vertex" and "Sol" products.
Soldering
BOM Management
I worked as a math lab assistant in SRJC's "Math Lab", a classroom repurposed as a gathering place for students to work on their math-related homework. My job was to help the students finish their homework and understand the material, whether it was trigonometry, multivariable calculus, differential equations, or linear algebra. I enjoyed helping my fellow students get those "a-ha" moments even when they were feeling discouraged by the difficulty of the subject.
Professional Social Skills
Problem Solving
Advanced Mathematics
Ame is a game intended to help novice Japanese learners to
practice the Kana characters in the language, which are the
basic sillabylic "letters" which make up words. The characters
fall as blocks into a cup and must be typed before the cup
overflows and allows any blocks to fall off the screen. I made
this game from scratch in HTML/CSS & JavaScript, using
Matter-js as the physics
engine. It was a good way to practice JavaScript, web design,
game design, and Japanese all at the same time!
Play the game
right here on my webpage.
JavaScript
HTML/CSS
Vite
This game was part of a larger course by by GameDev.tv which included the creation of five Unity games of varying types, but of those five TileVania was my favorite. This little platformer game taught me some of the biggest factors that go into making a fun 2D game. I look forward to using what I learned here in games I create on my own in the future.
Unity Engine
C#
Game Design
I was disappointed with the popular budget tracking options
available like Mint and YNAB. Instead of creating category
"bins" to limit spending in, I just wanted a way to see where my
money was ending up, broken down in a few different ways via
nice graphs. I created this Visual Basic for Applications
(VBA)-based budget spreadsheet in Microsoft Excel which makes it
easy to input expenses, income, and reimbursements through a
simple user interface. Everything else is done automatically. I
use this to track my own finances, as do many of my peers.
Available on
my Github.
Excel
Visual Basic for Applications (VBA)
BlockGraph is a Unity project which uses elements of Unity's
Universal Render Pipeline (URP) and ShaderGraph system for
defining shaders. It creates fun mathematical animated shapes
with any number of blocks which are colored by the shader code,
based on their XYZ coordinates. Effort was put into optimizing
the render pipeline for minimum frame render time.
Adapted
from Jasper Flick's tutorial on
Catlike Coding.
Unity Engine
C#
Shaders
This is from of the Core Combat course by GameDev.tv, in which we create a RuneScape-style RPG with a click-to-move system, a rich environment, and enemies with patrols and guard duties. This course built upon the skills learned in the one mentioned in my TileVania card. Effort was put into planning out the game from the beginning and building a custom world for the characters to inhabit.
Unity Engine
C#
Game AI
Game Design
I took a 3Ds Max modeling and animation class at the SRJC and loved it. This was my final project for the class. The satellite is based on the European Space Agency's Rosetta space probe, and the interior area is based on NASA's space shuttle Atlantis. The banana is based on a banana.
3Ds Max
3D Modeling
Rendering
Custom map pack for the classic Doom 2. I learned the tool Doom Builder in order to create this WAD packed with the ideas I had come up with while playing other custom WADs for the game.
Level Design
Editor Utility