Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 32 Next »

This tutorial assumes you know absolutely nothing about software development, Git, or coding. If anything is unclear, feel free to reach out for help!

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

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 Python and coding higher-level applications, try to walk through this tutorial. If you do all the exercises you'll get a pretty good understanding of Python.

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:

“Ambition drives success” - Not Not Dylan Donahue, 2023

meaning that you truly get out what you put into the team. The typical ask for weekly contribution is around 5 hours for regular members, but people who go beyond typically get more experience/system knowledge and really get to feel like a part of the team.

For some projects, GitHub Issues is used to track tickets. For others, there might be a different way of tracking tasks/tickets/issues.

Talk to your lead/head if you’re looking for things to do!

  • No labels