Apple (Summer 2022)
- Delivered a C++ library to integrate a C++ wireless network simulation engine with Python machine learning frameworks, using ZeroMQ (brokerless client-server messaging). Enabled efficient and robust real-time info transfer between programs.
- Enhanced large file storage (LFS) organization and scripting to reduce storage space by 88% and repo operation times by 95%.
- Learned Modern C++ (14, 17), implemented neural-network classifiers in Python, studied details of Git, Stash, Bitbucket LFS
This internship was much more personally rewarding that I initially expected because of how much time I put towards learning new material and designing a new library from scratch. Most of my colleagues has PhD's in networking and communications, whereas I had not taken networking classes before at all during my undergraduate education. This functioned as my first experience as a "software engineering" intern (despite my role being hardware in-name), as I made pull-requests and went through code reviews. Ultimately, I even worked on a project involving machine learning without prior experience. Not only did I deliver successful projects, I gained much more confidence in being able to handle large-scale software tasks in an unfamiliar space, which is undoubtedly an important skill as an electrical engineer in industry.
Apple (Summer 2021)
- Designed, built, and incorporated a scripting infrastructure from scratch (Python3, YAML/JSON)
- Converted a chip-level testbench (TB) into a block-level one; 85% lower build/run times.
- Designed a new interface to aid functional coverage of module signals.
- Learned: System Verilog, UVM, Functional Coverage (Collection and Analysis)
I greatly enjoyed how my experience in a digital integrated circuits design class like EECS 151 laid the foundation for related work in industry. I worked on 3 separate projects as part of the PMGR SOC DV team at Apple. Despite being remote, my experience was incredibly rewarding; my team was very supportive, with smooth onboarding and continued support, enabling me to make meaningful contributions to Apple's DV infrastructure.
MuMec Inc. (Summer 2020)
- Built, programmed, and tested a custom hearing aid
- Extensive hardware validation of chipset
- Full-stack board bring-up (hardware, firmware, software)
- Speech-To-Text using CMU Pocketsphinx
- Hand-soldering (0402) and reflow soldering (0201, BGA)
In this 10-week internship, I built, programmed, and tested a custom hearing aid device. As a solo engineer on the project, this work included fine-tuning the DSP parameters of the IC, validating the core chipset using test equipment and a development board, and completing full-stack board bring-up of the hardware, firmware and software. As a secondary feature, I laid the groundwork for Bluetooth Speech-To-Text capabilities. hardware manufacturing and debugging, I did a lot of hand-soldering and reflow soldering, spending nearly 10 hours a week in front of the iron and fume extractor. I performed precision hand-soldering (0402-sized components) and learned reflow soldering for smaller (0201) components and ball-grid arrays (BGA).
The development of a next-gen hearing aid is necessary to deal with increased algorithmic complexity, enable more powerful chips in smaller packages, and incorporate firmware-over-the-air technologies. While modern hearing aids are already effective, introducing unique features such as what I worked on could signal a paradigm-shift in education-based applications, and this is what I focused most on. I'd also worked on a project with a similar focus, so it aligned quite well. MuMec is still continuing this project, but for more background details, see here.
ATX Networks (Summer 2017)
- Full Suite of Hardware Test Equipment
- Integrate Excel Solver + Python to Optimize Design Process: ~3 days -> mere minutes
- Synchronize Company Documents (BOMs, proposals, inventory, etc.)
Background: This internship sparked my passion for electrical engineering specifically, as opposed to physics or math as core disciplines. My first week, I shadowed the VP of Engineering and lab technicians as they used hardware test equipment (polarizers, oscilloscopes, function generators, spectrum analyzers, and more) to evaluate the performance of hardware units. By the second week, I was collecting and even evaluating such data myself.
Project 1: Network Model Optimization: The middle chunk of my internship constitued the largest and most technically involved part; optimizing an optical network performance model. ATX had an Excel program that they used to construct the telecom solutions for their clients. The design engineer would manually alter parameters to optimize the signal-to-noise ratio (SNR).
To automate the process, I used a combination of Excel and Python scripting and decreased the design phase from days to mere minutes. The hill-climbing algorithm saved the current optimal state and intelligently decided what set of parameter variables to test next. After running the program with initial constraints, the design engineer only had to spend about an hour fine-tuning. This project significantly optimized a design bottleneck.
Project 2: Interdepartment Synching Lastly, I was asked to help integrate the information that Sales and Operations used into a comprehensive, efficient platform to avoid inter-team miscommunication. I integrated Excel, Github, and Salesforce to arrive at a solution wherein all bills-of-materials (BOMS), forecast proposals, inventory documents, and more were synchronized. This greatly streamlined communications and also helped reduce lead-times for ordering parts.
Juni Learning Remote CS Instructor (Sp19 - Fa19)
- 250 hours teaching USACO Bronze, Python 1/2/3, Java (AP CS + Advanced)
- Custom Teaching Materials for Visualization
- Created Scripting Projects
Instructor Accomplishments / Reflection: As an instructor, I primarily taught USACO (USA Computing Olympiad) Bronze/Silver, Python Levels 1/2/3, and Java (AP Computer Science and Advanced). I was provided with a curriculum to center my teaching around, but I always brought my own custom materials to lessons as well. I made sure to use engaging visual examples to communicate concepts and data structures that are often tricky, such as linked lists of objects, trees, and hash tables. Algorithmic problem-solving is easier when you fully understand the tools at your disposal. When it came to scripting, I found that real-world examples often worked best to motivate learning concepts like website parsing, data analysis, and automation at all possible levels. Having this teaching experience played a big role in how effectively I could teach, and helped me land TA positions in later semesters.
In total, I worked about 250 hours in the span of 7 months in my employment under Juni Learning.
Hardware: Board Bringup, Digital Design, System Verilog, UVM, Functional Coverage, Code Coverage, Coverage Analaysis, Design Verification & Validation, Analog Circuit Analysis/Design, Schematic Capture, PCB Design, Chip Testing, Board Testing, Precision Hand-Soldering, Reflow Soldering, Quality Assurance, Digital Signal Processing, Spice (LTspice, Hspice),
Other Technical Tools/Technologies: LaTeX (fluent), Matlab/Octave (proficient), Office Suite (fluent)
Miscellaneous: Technical Writing, Applied Research, Teaching