A Good Laptop
For a smooth development experience, you’ll want a decent laptop. You don’t need to drop $2000+ on a machine, but I urge you to get a laptop with a solid-state hard-drive(SSD). The speed difference between a machine with an SSD and one without one is dramatic as far as boot time, processing and compiling speed. Whether or not you pick an Apple or Windows machine (or install some kind of Linux distribution) isn’t terribly vital (I myself use Windows), but there are some caveats that can come with Windows development. Certain frameworks (most notably Ruby on Rails) are prohibitively difficult to install on Windows, so if you happen to know for certain that you’re going to be working with Rails, think carefully before you go with Windows. You can get around that by installing a virtual machine, but even that is a bit of a hassle. So don’t feel compelled to break the bank, but make sure you have an SSD, and a healthy amount of both storage space and processing speed.
A Text Editor
A text editor is a software program that is optimized for writing, editing, and organizing code. There are several good choices including Atom, Sublime, Notepad++, though I personally recommend Microsoft’s Visual Studio Code. There are many features that text editors make use of that would easily fill another blog entry (or two), but you’ll want to start using one as soon as possible for two main benefits:
- Color-Coding: Code is colored in editors according to what it dies, and that color-coding will help you find mistakes a lot faster when certain elements don’t look the way you would expect them to.
- Syntax highlighting: When you make mistakes, which you will do quite often, the editor will point out many of the worst of these mistakes.
For almost the first year I was learning to code, I used an editor that did NOT have a robust syntax-highlighting, and it cost me a lot of debugging time that I really shouldn’t have had to spend in the first place. A text-editor that fits you comfortably and enhances your workflow is arguably the most important tool in your developer’s toolbox.
Chrome Dev Tools
Chrome Dev Tools is a suite of tools built into the Google Chrome Browser. You access them with the Ctrl + Shift + I (replace Ctrl with Command on Mac). Dev Tools lets you inspect certain elements, displays messages logged to the console, is capable of monitoring performance and loading times for sites, etc. This is another tool that warrants a longer discussion than I have space here for, but you’ll find it a big help early on for error messages and the ability to confirm how the browser applies CSS to pages.
Node/npm or Yarn
I hope this installment was helpful, and don’t hesitate to reach out to me with any questions or comments. Next time on Self-Taught Developer’s Guide: an overview of online learning resources for self-taught devs!