When I was hired for my first front end developer job, I had no idea how to use the command line.
Many of the tools used by the team I was part of required using command line. I couldn’t get my working environment setup for our code base without it.
And so, that’s how I learned command line: reluctantly thrown into it because I had no other choice. I fumbled my way through for months—years even—before finally kind-of-sort-of-not-really feeling comfortable in it.
Today, I want to share some resources for learning the command line as a front end developer.
Quick aside: you may hear people use words like CLI (command line interface), terminal, bash, or shell interchangeably with the command line. I may use CLI occasionally in this article.
Why should you learn the command line?
Let me be really clear about this up front: you don’t need to learn the command line to be a good front end developer.
There are an abundance of GUI-based tools you can use to do almost anything you can do with command line. Many of them are very good. Most of them are passable. A few of them are terrible.
When I was learning, a few folks on my team told me:
Real developers know command line. – Assholes
Fuck those people. Real developers write code, and that’s the only criteria.
I don’t care if it’s only HTML and CSS, or if you do or don’t know command line, or if you know a backend language or not. If you write code, you’re a real developer. Period.
So, with that out of the way, why should you learn command line?
- Some popular front end tools require it.
- It can make you more marketable. Being able to put “knows CLI” on my resume definitely helped open some doors.
- It might help you work more effectively with back end teams.
It will get brogrammers to shut the fuck up about whether or not you’re a real programmer.JK, no it won’t.
- You’ll be able to piece together tools that do exactly what you want (and nothing more) for free instead having to pay for a GUI-based tool.
- It can be faster/simpler/more deeply integrated into other tools than using a GUI.
Alright, with that out of the way, let’s look at some resources to learn command line.
Tools for learning command line
The CLI is something you can take small steps into. You don’t have to jump in head first and quit using GUI tools altogether.
Today, I still use a mix-and-match combination of CLI and GUIs. I’ve been slowly drifting more to the CLI, but there are some things that I just find a GUI easier for. That’s totally ok.
Settle on the mix of tools that works best for you, and don’t let anyone tell you it’s wrong.
- Really Friendly Command Line Intro by Tracy Osborn is a criminally underpriced ebook available in several formats that walks you through learning CLI in a super approachable way. Tracy is not charging enough for this!
- If you’re more of a visual learning Terminal Training by Remy Sharp is a video course for non-technical people on learning the command line. It’s a great deal already, but you can save 30% with the code
- If you’re looking for a short-and-sweet introduction to the CLI, my buddy Steve Griffith posted a new video on getting started with the command line yesterday that I wish existed when I started.
- Back when I was fumbling my way through the terminal on my first job, I put together a terminal cheatsheet on GitHub. Its still there if you need a quick copy/paste reference.
- If you’re working with Git, the amazing Katie Sylor-Miller put together Oh shit, Git!?!, a super handy copy/paste reference for common Git tasks.
I’m sure there are some other great resources out there, too, but these are my favorites.