Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

...

By the end of this list, you should be in a place where you are more than ready to start work on the car. A lot of this stuff you might have already done or don't need to do if you've dabbled in software development before, but if you're fresh out of cornerstone you might need to go step by step. Go through at your own discretion, but each step is pretty important.

General Onboarding

  1. Make sure to look over this landing page and dive into Confluence

  2. Look through this onboarding doc for all new engineers

  3. You might want to use this glossary to reference while trying to understand things

  4. Here is another electrical specific glossary

Git

NER uses GitHub and Git to manage software development

  1. Set up GitHub per this tutorial

Hardware We Use For Product

  1. What is a microcontroller?

    1. Why use an STM32?

  2. What is a Raspberry Pi?

    1. What is Embedded Linux?

  3. What is the CAN bus?

Note that for NER, we are using Embedded Linux for processing Telemetry Data and wireless communications, and all of the real-time processing happens onboard microcontrollers. These microcontrollers are literally just chips on our custom PCBs, not just Arduino development boards you may be used to.

Tools We Use For Development

  1. Install Visual Studio Code

    1. How do I use VSCode?

    2. Customize as you like, all of our tools are in Docker containers as of now

  2. Setting up Docker

    1. What is a container? How is it different than a VM (virtual machine)?

    2. We are attempting to containerize development into containers so that developers have all the resources available to them in a relatively small package (smaller than other proprietary tools at least) and to standardize the developer experience

Coding Basics & Helpful Tips

Info

If you’re ever stuck while programming or debugging, Google and Stack Overflow!! Learning to find answers online is literally half of software engineering

...

If you're interested in learning C++ and lower-level embedded code, try to walk through this tutorial. This should lay the groundwork for coding with objects, constructors, pointers, etc, especially if you do the exercises for the stuff you don't know.

Contribute!

For this team, our motto is:

...