Software Learning Resources

Purpose

This document aims to provide students joining NER’s Software Solutions team with helpful content to learn various aspects of software development, web development, and more. It’s been separated into different key topics with resources to help you learn the basics. You might not need to watch all of these videos (some are long or cover the same topics), but if you’re starting from scratch they should be helpful. Also, 1.5x or 2x speed is your friend.

This document also provides links that may be helpful to those in leadership positions, although anyone interested is welcome to check them out as they discuss skills that are useful to everyone.

Learning Resources

  1. The Internet

    1. How does the internet work? (20 min)

    2. How the web works (13 min)

  2. Git

    1. Git 101 (slides)

    2. Git 102 (slides) (note: more advanced than you’ll need for this club but good to know)

    3. Git and GitHub for Beginners (45 min)

  3. HTML

    1. HTML Tutorial for Beginners (1 hr)

  4. JavaScript and TypeScript

    1. JavaScript Tutorial for Beginners (1 hr)

    2. Intro to TypeScript (1 hr)

  5. Node.js and Asynchronous Development

    1. The Async Await Episode I Promised (12 min)

    2. Intro to Node.js (17 min)

    3. Promises in 100 seconds (2 min)

    4. Intro to Promises (12 min)

  6. React

    1. React Tutorial for Beginners (2.5 hrs)

  7. Express

    1. How to Build a REST API with Node.js & Express (1hr)

  8. Databases

    1. What is a database (4 mins)

    2. Different types of databases (10 mins)

    3. What is SQL (5 mins)

    4. What is an ORM? (12 min)

    5. How to mock and test Prisma (read the “what is a mock”, “Using the mocked client”, and “Spy on methods” sections only)

  9. Postman

    1. How to use Postman (7 mins)

Bonus Videos

Leadership Resources

  1. Code Reviews

    1. https://mtlynch.io/human-code-reviews-1/

    2. https://mtlynch.io/human-code-reviews-2/