Embedded Flight Software Onboarding - Archived S23

Heyo! Welcome to the firmware team - we hope you like pineapples on pizza. Before you get started, please take 5-10 minutes to read through this document carefully and pick out 3 spelling mistakes. We will ask you abuot them in our meeting.

What you should know

Firmware is a team of people who love aviation and creating code at the barrier of hardware and software (we use C++ and C). Notable tasks we have worked on include a navigation module, autonomous takeoff and landing module, and air-ground comms. We pride ourselves on a learning-first environment and support our members.

Firmware covers a wide range of topics, from low level drivers, threading, and bare-metal processes all the way up to highly abstracted tasks such as path-planning, telemetry management, auto-takeoff/landing, as well as object perception & detection. For this reason, we ask that all new firmware members setup a meeting with the subteam leads so that we can better align your interests with a specific bootcamp style task. The meeting will be held online, probably on the WARG Discord.

Next steps:

Over the course of the next 2-3 weeks, we hope to bring you from a bootcamper to a core member of our team. Some of these steps are mandatory for you to be onboarded, while others are optional and you can choose to opt-out.

  1. Follow !

  2. e-mail uwarg+efsbootcamp@uwaterloo.ca with subject “New FW Team member <name>” so we have a paper copy of your onboarding date.

  3. Ping Chris (chris4096#2412), Aadi (SnackOverflowError#0543), and Ayoung (Printhello (Anggy)#9899) in #efs-onboarding and let us know which onboarding session you are going to be attending and what time you plan on being there (will only take about 20 mins)! There will be two online on Monday and Thursdays from 2000 to 2030 EST on discord. If you can’t make any those times, fill out a LettuceMeet https://lettucemeet.com/ for the next week with your availability. Please change your discord server nickname to your first and last name before sending this message. Feel free to attach any resumes or links to projects in the thread that’s created for you!

  4. During the meeting Chris, Aadi or Ayoung want to know about the following:

    1. Tell us about what kind of person you are

    2. Why are you interested in the team

    3. What do you hope to do on the team (higher level software, or low level firmware?)

    4. What are your previous experiences.

  5. During the meeting, we will assign you a task or bootcamp. When you’re done the bootcamp, open a pull request and expect changes to be requested! This process should take 1-2 weeks, feel free to reach out to any of the firmware team for help during this time (team roster to come?)

  6. After your bootcamp is complete see

  7. [Optional] After your PR, your FW Leads might setup another meeting with you to discuss how it went, and what your next steps might be

  8. Tasks! You’ll get paired with a PM, and you will also meet regularly with your Firmware Leads. You’ll likely get two tasks:

    1. Your PM will delegate smaller tasks that are part of their larger project! These should be smaller, easy tasks to “get you in the grove”

    2. Your FW Leads will give you one standalone task that will demonstrate your ability to self-manage and bring up firmware on your onw.

Closing thoughts

There might seem like a lot to do, but hopefully by the end of your bootcamp and onboarding, you’ll have the core skills necessary for any firmware team member to jump in and solve problems. There’s always more skills to learn, but we hope that you’ll have strong basics to work off of.