--- import H2 from "@components/H2.astro"; import H3 from "@components/H3.astro"; import InlineLink from "@components/InlineLink.astro"; import Li from "@components/Li.astro"; import Carousel from "@components/Media/CustomCarousel/CustomCarousel.astro"; import PageGroup from "@components/PageGroup.astro"; import Paragraph from "@components/Paragraph.astro"; import Paragraphs from "@components/Paragraphs.astro"; import PopoverWordDefinition from "@components/PopoverWordDefinition.astro"; import SkillMatrix from "@components/SkillMatrix/SkillMatrix.astro"; import Timeline from "@components/Timeline/Timeline.astro"; import Ul from "@components/Ul.astro"; import ExperienceLayout from "@layouts/ExperienceLayout.astro"; import spring_2019_interns from "@assets/experience/spacex/avionics-test-engineering-internship/spring-2019-interns.jpg"; import swag from "@assets/experience/spacex/avionics-test-engineering-internship/swag.jpg"; import type { carouselGroup } from "@interfaces/image-carousel.ts"; import type { categorySkills } from "@interfaces/skill-matrix.ts"; import type { timelineEntry } from "@interfaces/timeline.ts"; const headerCarouselGroup: carouselGroup = { animation: "slide", images: [spring_2019_interns, swag], }; const timeline: timelineEntry[] = [ { event: "Started", date: "January 2019", }, { event: "Finished", date: "March 2019", }, ]; const categorizedSkills: categorySkills[] = [ { category: "Software & Environments", skills: [ { item: "Git" }, { item: "Programming", subItems: [ { item: "Python 2/3" }, { item: "Bash Shell Scripting" }, { item: "Microsoft SQL" }, ], }, { item: "Methodologies", subItems: [{ item: "Test Driven Development" }, { item: "Agile" }], }, { item: "Atlassian Suite", subItems: [ { item: "Jira" }, { item: "Bitbucket" }, { item: "Confluence" }, ], }, { item: "Automation Interfaces", subItems: [{ item: "NI MAX/VISA" }, { item: "Jira RESTful APIs" }], }, { item: "Operating Systems", subItems: [ { item: "Linux", subItems: [{ item: "Ubuntu" }, { item: "WSL" }], }, { item: "Microsoft Windows" }, ], }, ], }, { category: "Electrical", skills: [ { item: "Schematic & PCB Design", subItems: [{ item: "Altium Designer" }], }, { item: "Electrical Diagnostics", subItems: [{ item: "Multimeters" }], }, ], }, ]; ---

Summary

Timeline

Key Takeaways

  • Wrote re-usable, unit-tested, and safety-focused test software components in Python for validating high-pressure transducers
  • Assisted in the running of qualification tests against flight networking hardware
  • Wrote software in Python to automate work-ticket generation in Jira
  • Successfully debugged electrical faults in used in Avionics test systems
  • Directly interfaced with the engineering team for test equipment, driving firmware fixes and providing beta test feedback

Details

Working at SpaceX was a dream come true, even when it was only for a three month internship. I've always loved space, including the technology related to it, as I know many others also do. I grew as a Trekkie, watching endless hours of rubbermaid tubs filled with VHS recordings of the original series, The Next Generation, and Voyager. As someone with a multi-disciplinary background, and with a special focus on robotics and automation, test engineering was a very good fit! During this internship, my primary goal was to create re-usable components for high pressure test systems. This involved interfacing with test rack equipment which could apply pressure to , and would then validate their response and performance to this stimulus. While I'd written quite a bit of Python prior to this, the standards for these components were (understandably!) much higher than I'd encountered previously. This effectively meant that the internship was a bit of a crash course in , as being able to verify that the tests would apply the correct stimulus, and in the correct way, helped reduce the chances of damaging , or supporting test equipment. As part of this effort, I also made significant improvements to the driver for the piece of test equipment which controlled how pressure was applied. While doing so, I encountered a fair number of discrepancies in the documentation and commands for this device. I ended up contacting the company and was put in contact with their engineering department, where I then drove fixes to their firmware and documentation, ultimately resulting in a fully functional test setup. Since I ended up working for the company long-term, I know that these components were used, and likely still are, for many pressure-related validation tests at the company and worked well! There were also a couple of side projects I worked on while here. The first was small Python app which automated the creation of Jira work tickets for the Lifecycle Engineering Team. Previously, a member of that team on a rotating schedule would manually create counterpart Jira tickets associated to a proprietary tracking system created in-house. By manually querying the SQL database for this proprietary app, and making it run on a schedule, tickets were made and assigned to the appropriate teams automatically, improving the response time to these tickets, and removing the potential for errors during the previously manual copy/pasting efforts. In my first week, I also debugged a custom circuit board for a motor controller test system, finding the location of a dead short, directing a tech to repair the failure, and then verified that the board functioned correctly afterwards. The final small project I worked on was manually running the shock tests in the qualification efforts for a piece of spaceflight networking gear while its owner, a friend, could not be present.