Experience
Supernal
Software Engineer, Energy Storage Systems (November 2023 - Present)
- Developed script to autogenerate diagnostic fault detection C code and gtest unit tests for 3000+ faults
- Created Python script to parse hierarchical state machine definition in an Excel file and autogenerate its implementation in C
Maxar Technologies
Ground Software Engineer Intern (June - December 2020; June - August 2021)
- Developed and improved satellite telemetry archival software in C++
- Automated daily verification of telemetry for 90+ spacecraft, a task that normally took up to 1.5 hours to do manually every day
- Ran unit tests for command and telemetry processing to prepare for new software releases
- Gained experience with agile development methodology
University of California, Santa Cruz (Sep 2018 - Mar 2023)
I was a tutor/grader for several courses at UCSC. The courses and their descriptions are listed below.
Logic Design with Verilog Grader - CSE125/L
- Verilog digital logic design with emphasis on ASIC and FPGA design. Students design and verify large-scale systems. Assignments and project use the Verilog Hardware Description Language with emphasis on verification and high-frequency ASIC/FPGA targets.
Logic Design Tutor - CSE100/L
- Boolean algebra, logic minimization, finite-state machine design, sequential circuits, common logic elements, programmable logic devices, and an introduction to system level design. The electrical behavior of circuits including three state outputs, propagation delay, logic levels, and fanout.
Embedded System Design Tutor/Grader - CSE121/L
- Microprocessor and microcontroller architecture, programming techniques, bus and memory organization, DMA, timing issues, interrupts, peripheral devices, serial and parallel communication, and interfacing to analog and digital systems.
Advanced Programming in C++ Grader - CSE111
- An introduction to object-oriented techniques of software development including data abstraction, inheritance, polymorphism, and object-oriented design.
Computer Systems and Assembly Language Tutor/Grader - CSE12/L
- Introduction to computer systems and assembly language and how computers compute in hardware and software. Topics include digital logic, number systems, data structures, compiling/assembly process, basics of the system software, and computer architecture.