🧠 Essentials #
It’s easier to draw a straight line with a ruler right. Just like that there a few tools and skills that make your life as a developer easy.
💡 Note #
This document is inspired from MIT’s Missing Semester of CS Education, you can check it out to learn more about it.
🛠️ Tools and Concepts #
🧑🏻💻 Command Line Environment #
As a developer we use the command line/terminal significantly during development. The knowledge of basic commands and familiarity with command line interface(CLI) will help you in the journey ahead.
🎓 Topics to learn #
-
Basic terminal commands
cd
- Move around your directory structuremkdir
- Create directoriestouch
- Create or modify filesls
- List the contents of the directory or filerm
- Delete directories or files
-
Navigation
- Follow this simple activity to learn how to navigate through the command line.
- Make a directory with your Name using
mkdir
- Move to the directory using
cd
- Create a text file About using
touch
- Create a directory Projects using
mkdir
- List of the contents of the current directory using
ls
. You will see About.txt and Projects - Delete About and Projects using
rm
🧑🏻💻 Resources #
Articles
🎯 Checkpoint #
- You should be able to comfortably browse through directories and create and delete files
- You should know how to use the basic terminal commands
- You should be able to comfortably used the commands mentioned in documentations to install libraries and packages via CLI
🌴 Version Control #
Even if you haven’t heard of version control you might be aware of Git
and GitHub
. Often times developers collaborate to work on projects, Version Control
allows developers to track changes made to their codebase over time and collaborate effectively with other team members.
🎓 Topics to learn #
- Git terminologies and concept
- Commits
- Staging
- Branching
- GitHub
- Forking a Repository
- Cloning a Repository
- Pull Requests and Merging
🧑🏻💻 Resources #
Interactive Tutorials
Articles
🖥️ Code Editors #
A best-fit code editor will make any developer more efficient at writing code. It will assist to examine code for less mistakes and show where edits need to be made.
🔖 Advantages #
Code formatting
- It will make your code more readable by automatically adding proper indentation.Intellisense
- It helps you write code faster by suggesting the next line or keyword in your code.Git Integration
- In-built integration to help you perform staging, commits and other git functionsPlugins and Features
- The code editors provide a large variety of plugins and extensions to enhance your development process
🖥️ Editors #
You can choose an editor of your choice. These are the most commonly used code editors:
- VS Code - A light-weight editor by microsoft
- Sublime Text - A light weight editor by Sublime HQ
📦 Package Managers #
Package managers help you install softwares and other libraries via CLI. There many package managers available out there such as NPM, PIP, HomeBrew , etc. You will use them in different learning paths.
If you are interested to know more about package management, you can checkout Package Management basics by MDN.