Skill Acquisition Roadmap
Command line
We generally standardize on the OSs here. MacOS on the desktop, and Linux for our severs. This actually gives us a lot of overlap when it comes to the command line. We're going to focus on MacOS for this guide.
Zsh
This is the biggest difference between MacOS and Linux for us. Macs use zsh as the default shell. For the most part though, you won't notice a difference. Basic Linux command line tutorials will translate 1:1.
All of our programming output runs in the command line. The only GUI runs in the browser. So you need to know how to work with the command line.
As long as you know how to move and copy files, run terminal commands, and such, you should be good.
Knowing the keyboard will help. Hitting up to cycle through previous commands. Setting up key combos like alt + left or alt + right
Docker
- Docker Tutorial for Beginners (youtube)
- Docker from Scratch (youtube)
- Network Chuck Docker 101 (youtube)
- Network Chuck Docker Compose (youtube)
- Are you doing Docker Compose right? (youtube)
Git
Github flow
This work flow for git branching/commits is pretty simple.
This is a much simpler and easier to manage workflow than 'Git Flow' which is very different and meant for much larger teams.
Python
Django
Type Hinting
PyTest
Pytest should already be setup. When reading/watching tutorials, you can ignore parts about setting it up or editing pytest.ini or pyproject.toml.
- Pytest-Django documentation
- Getting started with Pytest (youtube)
- Everything you need to know about fixtures (youtube)
- PyTest Parametrize (youtube)
- Pytest Tutorial – How to Test Python Code (youtube)
- Re-Write Django tests with pytest | pytest fixtures & test functions (youtube)
- Switch A Django Project To Use Pytest (youtube)
- Please Learn How To Write Tests in Python. (youtube)