Getting a Coding Job: Spending Money to Learn How to Code - dummies

Getting a Coding Job: Spending Money to Learn How to Code

By Nikhil Abraham

Learning how to code on your own is the cheapest option in terms of cash spent, though you’ll need more time to set up your system and troubleshoot issues that arise. The good news is that putting aside hardware costs, the software and learning resources are free or inexpensive. In addition, you’ll find a community of experts and people learning like you who want to share information and support each other.

Purchasing computer hardware

Computer hardware can be expensive, but options exist at a variety of price ranges. Here are some options when purchasing a computer to learn to code:

  • Cheapest: Use your existing computer, whether PC or Macintosh. The software is usually harder to install on Windows‐based systems than on computers running Linux, Unix, or Mac OS (which runs a version of Unix).

    For $89, Symple sells a computer with a preinstalled Linux‐based operating system and enough power to perform your coding tasks. You need to supply your own monitor, keyboard, and mouse.

  • Cheap: Chromebook laptops are portable and light but powerful enough to run coding software. They run Google’s Chrome operating system and are designed to be used while connected to the Internet. You can’t install traditional Mac, PC, or Linux applications, but you can install extensions made for the Chrome browser. These laptops typically retail for $200, and are manufactured by major companies such as Acer, HP, and Samsung.

    Google Chromebooks pack enough power to do serious coding.
    Google Chromebooks pack enough power to do serious coding.

    Codestarter, a nonprofit that provides laptops to kids learning to code, has publicly released the script to turn a Chromebook Acer C720 into a coding machine complete with modern programming languages such as Python, Ruby, and NodeJS.

  • Moderate: The computers in the previous categories are fine to learn with but are rarely used in professional development environments. The most popular computers in this category are $600 lightweight PCs called ultrabooks and made by Dell, Acer, and Asus, and the $900 MacBook Air. These laptops have high‐resolution screens with sharp contrast and crisp colors, important features when coding website or data visualizations.

  • Expensive: The standard machines used in professional development environments have at least a 21‐inch resolution screen, 8 gigabytes of RAM, 500‐megabyte hard drive, and 2GHz dual‐core or quad‐core processors. Some Windows PCs meet these specifications, but most popular among developers are the MacBook Pro laptops and the iMac desktop computers, both of which cost at least $2,000. Apple computers are popular in this category for several reasons:

    • Display: Apple’s retina display screen has such a high resolution that the individual pixels are imperceptible to the human eye at an average distance with normal vision. This high resolution gives Mac displays a strong advantage when doing visual work.

    • Hardware: Developers who use the Linux or Unix operating system often have to deal with hardware devices that don’t install or function properly. The Mac operating system, which runs a version of Unix, has few hardware issues because all parts are manufactured and tested by Apple.

    • Software: Mac computers are preinstalled with the most popular programming languages, including Python, Ruby, PHP, and Perl. In addition, for mobile apps, you can use a PC or a Mac to develop Android apps, but you can use only a Mac to develop apps for iOS devices such as iPhones and iPads.

If you do decide to purchase a higher‐end computer, remember that the majority of people using your programs won’t have a computer as fast or a monitor with as high‐resolution as you. Developers who forget this create websites and visualizations that others find slow or difficult to read.

Computer software

After you have a computer, you need to install software to help you write computer programs. The software is basically free, though it can take longer than expected to make sure it installs correctly.

Initially, you should install the following types of software:

  • Programming languages: Popular programming languages such as Rails and Python are used for everything from web development to data analysis. These languages are usually free to download, install, and use. Use a search engine to find installation guides for the Windows, Mac, or Linux environment.

    To install Ruby, Rails, Git, Sublime Text, and more on Windows, Mac, or Linux machines, use the guide at

  • Code editors: You can start programming right away with built‐in applications such as Notepad on Windows and TextEdit on a Mac. Notepad and TextEdit were not designed for coding, and other code editors provide enhancements such as code syntax highlighting and code autocomplete such as Notepad++ on a PC, Text Wrangler on a Mac, and Geany on Linux environments.

    To develop mobile applications, you can download and use XCode from Apple for iOS apps, or Android Studio from Google for Android apps. All of this software is freely available for you to use.

    Some popular and useful code editors are not free. Sublime Text, which sells for $70, works across multiple platforms and includes advanced editing, highlighting, and code completion features. You can download and trial an unrestricted copy before purchasing.

    Another code editor is Cloud9, which you access in the browser without downloading anything. The main advantage here is that everything is automatically updated, always works, and you can access your work and code from any Internet‐connected machine. Cloud9 has a free plan, and paid plans start at $9 per month.

  • Versioning software: Whether working alone or in team, it can be useful to save backup versions of your code and merge changes and updates from others working on the same program.

Free cloud‐based services interact with Git to back up your code on the Internet. Popular providers include and Both allow you and others to view and update code you publicly post.