Company/Group: Lunar Trailblazer (under Caltech PI Bethany Ehlmann), in collaboration with NASA, Caltech IPAC, Lockheed Martin, and more
Company/Group description: "A Pioneering SmallSat Investigating Lunar Water and Geology"
Role Title: MOS/GDS (Mission Operations and Ground Data Systems) Intern
Role description: Helped develop database of spacecraft events
Duration: January 2022 - August 2022
Deliverables: Presented a part of the database I made at a Lunar Trailblazer meeting, recorded for use of future interns
Processed different input files (XML, TXT, CSV, etc) to determine when the spacecraft can contact Earth, which antennas to use for communication, rates at which data can be sent between Earth and spacecraft, etc
Wrote scripts to update and interact with PostgreSQL database of mission and spacecraft events
Reviewed several code review pull requests; tested code
Presented on my method of scheduling spacecraft-Earth contact times and events to the science team at the end of the internship
Unfortunately, due to export control regulations, I am not allowed to share the technical details of my work. You can read a broad overview of my work in my Trailblazer of the Week feature to the right, or in the bullet points below.
PostgreSQP, Python, Git control
Writing and running unit tests
Reviewing and interfacing to others' code
Presenting at weekly group meetings
Me getting my offer letter
Shoot for the stars (or in this case...the moon!)
I heard about this opportunity from one of my professors at PCC (Pasadena City College). I was initially hesistant to apply because the internship was only for PCC and Caltech students, and I wasn't a full time PCC student. Also, working on a space mission seemed way out of my league as a high schooler...
However, I decided to shoot my shot just for fun. The technical tasks were enjoyable, even though I had no idea if my speculations were correct. After a short interview and a few weeks wait, I was estatic to learn that I made it!
Adjustments had to be made to fit an internship with my high school and community college schedules. In the end, I made it all work, though. This experience taught me that feeling underqualified for a position or worrying about logistics shouldn't stop me for trying for what I want.
There's nothing quite like working in person.
For the first five months, I had to work remotely due to my high school and community college schedules. I'd code at lunch or sitting on my bed late at night. I felt this was not the most productive way for me to work, however, and opted to work in person over the summer.
At the office, I had my own private desk (three actually, becuase most of the time no other interns came to work physically), whiteboard, and temperature control! I tried to fit my in-person time in the 9-5 window so I could talk to my mentor who was right across the hall. Being able to whiteboard with her in person and see her physical models of the spacecraft-sun-moon interactions were really helpful.
The first picture I took my first day physically on the job. I would later help decorate the intern office with similar space posters.
Screw ups happen. And they should be documented.
Fun Fact: In June 2022, I almost wiped out a month's worth of our team's work 🥲
What happened: I tried to add a commit to a pull request. I must have forgotten to pull the most recent version of the branch (which had since had other things merged into it) so my small commit had some huge diffs in it. After committing, I compared the branch to main and seeing the only differences were the ones I expected, I figured the huge diffs were unimportant. I approved the pull request, giving the go-ahead for the branch to be merged into main.
However, upon merging, all the commits from one of the branches were overwritten. Since there was no way to undo the merge, my mentor was going to add all the commit changes manually. Desperate to undo my mistake and not cause my mentor further torment, I found a way to clone the pre-merged versions of the branches, merge them correctly, and then merge them back into the main branch.
To celebrate the recovery of those commits, I wrote up a page on our wiki explaining step-by-step my merge overwrite and how I recovered it. In hindsight I should have saved this page before I left my position, but at the very least I've learned to trust git diffs!
People are nice!
Another big advantage of working in person was getting to meet lots of people. I got to have lunch with my mentor and meet one of her collegues who I would work with later on. They brought me to Einstein Bros Bagels and Red Door, introducing me to staples of a Caltech student's diet before my time.
I also got to meet some other students my age through IPAC's weekly donuts-and-chill gatherings. I met a SURF student working in the building next to mine -- the first Caltech student I got to really talk to (besides alumni from my high school)! I also got to see another LT intern briefly in our office. She was a current Caltech student who would later transfer to my major and suffer with me on the Hexer Game project, funnily enough.
Lastly, I got to meet some interns from some other groups in Lunar Trailblazer on a field trip to Goldstone to see some DSN antennas. We were all PCC students, but even though we that and Lunar Trailblazer in common, we had very different experiences. Except for I and one other guy, every else worked on the science (geology) side of Lunar Trailblazer. While we were tapping away at keyboards, they were firing rocks in ovens! They pointed out the features of the canyons we drove by, telling the story of every rock. And the other software guy (who I'd only seen in Zoom meetings) taught me a little about investing. To date I've made about $20 from the S&P 500, so thanks Sebastian.
Us interns at one of Goldstone's DSN antennas