Install Your Tools

1. Install Your Tools

Proficiency in web and software development requires more than just a grasp of programming languages. Developers must also be familiar with a wide assortment of tools and technologies—specifically, tools that they can use to create software to share with people around the world.

The Netflix Advanced Java Boot Camp will expose you to many tools, some (or all) of which will be new to you. Believe it or not, you'll soon find these tools as familiar as your email or an app on your phone.

We'll summarize each tool here and then help you install them before the first class.

2. Ready for Action

You will need access to an individual laptop running Windows or Mac with the following minimum specifications:

  • Catalina MacOS or Windows 10

  • RAM: 16 GB (64 bit required)

  • CPU: Dual processor

  • Hard Drive: 250 GB

  • High-speed internet connection (minimum speed requirements: 25 Mbps download, 5 Mbps upload)

  • Webcam, microphone, and headphones

3. An Overview of Your Tools

You will need to download and install a number of required tools prior to the first day of class. Before installing your tools, take some time to examine each tool in more detail so that you can better understand the role they will play in the course.

  • Git Bash (Windows only)

  • Terminal (macOS only; preinstalled)

  • Git and GitHub

  • Xcode (macOS only)

  • OpenJDK

  • IntelliJ IDEA

  • Homebrew (macOS only)

  • Chocolatey (Windows only)

  • WSL2 (Windows only)

  • Docker

  • MySQL

  • Cassandra

  • DBeaver

  • Insomnia

Before installing your tools, take some time to examine each of them in more detail so that you can better understand the role they will play in the course.

Note You'll have time on the first day of class to check that you correctly installed all the tools.

3.1 Git Bash and Terminal

Git Bash (for Windows) and Terminal (for macOS) offer a command-line interface for working with the files and folders on your computer.

You might wonder if they resemble File Explorer or Finder. Sort of—except that they don't have pictures or other visuals. Each is just a box with text.

This might seem unappealing, but you'll soon learn that in many situations (especially with Git), a command-line interface proves faster and more effective than the graphical user interface (GUI) of the operating system.

You'll get plenty of exposure to the command line at the beginning of the course!

3.2 Git and GitHub

Code files are chiefly collaborative, because developers constantly build on each other's work. Git is a version control system that offers a set of strategies for orchestrating this collaboration. GitHub stores these collaborative actions online. You can think of GitHub as Dropbox for coders: it offers a central place for developers to upload their code, review the revision history, and change a main set of files.

You'll learn a lot about Git and GitHub during your first week of class. You'll receive the link to your class-specific repository during the orientation.

3.3 Java Development Kit (JDK)

The JDK is a set of libraries and tools that you can use to create and run Java applications. You'll use it throughout the course.

3.4 IntelliJ IDEA

IntelliJ IDEA is an integrated development environment (IDE) that eases the process of developing software. An IDE typically includes a text editor, a compiler, build integration, debugging, and more. IntelliJ IDEA is designed specifically for Java development.

3.5 Homebrew (macOS only)

Homebrew is an open source software package management service that will simplify the installation of software for macOS users.

3.6 Chocolatey (Windows only)

Chocolatey is an open source software package management service that will simplify the installation of software for Windows users.

3.7 WSL

Windows Subsystem for Linux is a compatibility layer for running Linux binary executables natively on Windows 10, Windows 11, and Windows Server 2019.

3.8 Docker

Docker is a set of platform-as-a-service products that deliver software in isolated packages called containers, which communicate with each other and bundle their own software, libraries, and configuration files.

3.9 MySQL

A relational database management system based on Structured Query Language (SQL).

3.10 Cassandra

Cassandra is a free, open source distributed wide-column store NoSQL database management system designed to handle large amounts of data across many commodity servers, providing high availability with no single point of failure.

3.11 DBeaver

DBeaver is a SQL client software application and database administration tool.

3.12 Insomnia

Insomnia is an open source GraphQL and REST client aimed at making testing and debugging APIs easier.

4. Ready, Set, Go

Now it's time to install your tools! Use one of the following installation guides, depending on whether you use macOS or Windows:

Note: You'll frequently need to install and use unfamiliar tools throughout the course. Resist the urge to stop and ask whether you're doing it right—just trust your instincts and try your best. If you get stuck, we'll get you the help you need right away. You can do this!