With this module, you'll learn how to streamline your workflow and assemble a dev environment using standard tools and practices, allowing you to focus on crafting quality code.
With this topic, you'll learn about the landscape of editors, IDEs, and how to choose an editor and make it your own.
- Compare an IDE with a simple code editor
- List some common IDEs and code editors
- Determine what editor you might need for web, native, and API projects
- Android Studio
Tool
- Atom
Tool
- Chrome DevTools
Tool
- GitHub Codespaces
Tool
- GNU Emacs
Tool
- JetBrains
Tool
- Sublime Text
Tool
- Vim
Video
- Vim Adventures
Game
- Vim in 100 Seconds
Video
- Visual Studio
Tool
- Visual Studio Code
Tool
- WebStorm
Tool
- Xcode
Tool
With this topic, you'll learn how to use the command line (also known as the shell) and create scripts to make running complex commands easier.
- Describe what a command line interface is and how you might use it
- Use the command line to navigate to your projects directory and clone a git repo
- Use SSH to remote into a server
- Use the command line to monitor your system resources
- Theorize how you can use the command line and scripts to automate daily tasks
- A Linux Command Line Primer
Tutorial
- Awesome Shell
Resource
- Bash in 100 Seconds
Video
- Command-line Environment
Video
- Hyper
Tool
- Linux debugging tools you'll love
Book
- Oh My Zsh
Tool
- Powershell
Resource
- Shell Tools and Scripting
Video
- SSH Essentials
Tutorial
- The Art of the Command Line
Guide
- The Shell
Video
- tldr pages
Resource
- Windows Subsystem for Linux
Tool
- Bite Size Bash!
Book ($)
- Bite Size Command Line!
Book ($)
With this topic, you'll learn about the importance of source control, Git commands, handling merge conflicts, popular branching strategies, and more.
- Describe what source control is and its purpose
- List typical source control providers
- List common Git commands and their purpose
- Describe Semantic Versioning and its purpose
- Compare using source control and not using source control to manage a project
- BitBucket
Tool
- Git & GitHub Crash Course
Video
- Git and Git Flow Cheat Sheet
Resource
- Git Explained in 100 Seconds
Video
- Git Tips
Resource
- GitHooks
Resource
- GitHub
Tool
- GitKraken
Tool
- GitLab
Tool
- How To Use Git
Guide
- Make Atomic Git Commits
Article
- Oh my git!
Game
- Pro Git
Book
- Semantic Versioning 2.0.0
Resource
- Version Control (Git)
Video
- Introduction to Git
Course ($)
With this topic, you'll learn about some productivity tools and how to estimate work effectively to set proper expectations with stakeholders.
- List common productivity tools and their use case
- Explain the Pomodoro technique and how it can help you stay on track
- Use a time tracking tool to help you gain an understanding of how long a type of task takes you to complete
- Describe the PERT estimation method
- Theorize how you might properly set expectations with stakeholders to complete a task
- Reflect on how long a task took you to complete and compare it to your original expectations
- Awesome Productivity
Resource
- Estimato
Tool
- Forest: Stay focused, be present
Tool
- Learn agile estimation in 10 minutes
Video
- PERT
Article
- Pomodoro Technique
Video
- Toggl
Tool
- Clean Coders: Productivity
Video ($)
- Clean Coders: Estimates
Video ($)
With this topic, you'll learn how to set up your local environment and streamline it to increase your productivity.
- List what you need to be able to set up an existing project on your machine
- Describe the role of configuration in an application
- Demonstrate how you can use Docker to set up your project local environment
- ~/.dotfiles in 100 Seconds
Video
- An unofficial guide to dotfiles on GitHub
Resource
- Awesome dotfiles
Resource
- Docker
Tool
- Docker Compose
Resource
- Getting Started with Dotfiles
Article
- GitHub Codespaces
Resource
- GitPod
Tool
- Dotfiles Are Meant to Be Forked
Article
- holman/dotfiles
Tool
- Homebrew
Tool
- Managing my dotfiles as a git repository
Article
- thoughtbot/laptop
Tool