Preparing for Your Bootcamp

Thursday, August 30, 2018

When I decided on a bootcamp, I applied to the session and was accepted well before the actual deadline/start of the bootcamp. I had a full eight months before it started, so I took it upon myself to begin looking into the subjects that were going to be covered.

Some bootcamps require pre-work before the program starts, and some don’t. Mine did not require any studying prior to the start of the bootcamp, which I liked to hear because I also was continuing with my full-time job until the day I started.

A Tutorial for Each Topic

While I had been playing around with HTML, CSS and JavaScript for a few months, I had never touched the vast majority of the topics that were going to be covered. So, I took it upon myself to do at least one tutorial on each of the topics. That way, I would have at least some understanding of the broader topic at hand.

One thing I found frustrating throughout my learning and the bootcamp was grasping how the entire ecosystem of things worked together at a 10,000-foot view. How did HTML talk to CSS. How did HTML and CSS talk to JavaScript. How does HTML, CSS and JavaScript (frontend) communicate with the Ruby on Rails (back end) framework? I was focused on each individual topic and looked at it through a silo. Looking back, I wish I spent a little more time internalizing the broader web development concepts and how each items interacts with the other.

I recommend doing tutorials on each of the topics and get a sense of the broader ecosystem in which all the parts work together. The added bonus of doing all these tutorials before your bootcamp bring us to my next pointer:

How do You Learn Best?

When I decided on the bootcamp, I had been out of a formal learning environment for quite some time. It had been 11 years since undergrad, and four years since grad school.

Because I spent time learning on my own and looking into the topics that I would be tackling in the bootcamp, I already had a sense for what was important versus what I could look into later. This was helpful in itself, but it forced me to think hard about how I learn best.

For me, I would often read documentation and leave more confused that when I started. Looking back, it made sense because tech docs are meant for developers who know what they’re looking for and can think of code in the abstract. I needed more concrete examples and real-life application. So, I would read one tutorial that would walk me through building something like a simple to-do list step-by-step. That was a better learning experience for me. There also came times were I found one tutorial better than the other. Regardless of which explainers were better, (and here's the bonus...) the fact that I would complete between two and five tutorials on a particular topic meant I actually just completed much more studying/pre-work than if I just stumbled through the official documentation.

In doing multiple tutorials, I got a sense for how I was going to learn all this information the most efficient way. The bootcamp stuffs years of computer science and web development subjects in the span of three months. It is imperative that you learn efficiently. Don’t try to understand every word the tutorial (and eventually your instructor) presents you. Understand the broader concepts of how things work, and then do further exploration of the specifics (syntax, etc.) later. Take a broad topic, break it down into digestible chunks and tackle each one one-by-one until you internalize it! Learn how you learn best.

Know How the Internet Works

In a web development bootcamp, you are learning how to develop the web. Think about that: You are literally making more real estate on the web for people to visit and interact with.

It’s imperative to understand broadly how the internet works. Specifically, you need to look into the topics of clients (like the computer/device you are currently using to view this article) and servers (serve up data and content to the client), and how they talk to one another.

Understanding clients and servers will allow you to more readily grasp the concept of frontend, backend, and full-stack development.

Know Your Computer

To make more “real estate” on the web, you’re going to use your computer or laptop. I always like to compare web development to carpenters or home-builders. Just like carpenters will plan out and build the structure, appearance and various functionalities of a home, you, too, will be creating websites and applications that have structure, style, and functionality.

While carpenters have a toolbox, you have a computer. As such, you should get to know it as well as you can. If you cannot wield your computer to do your bidding and bring the vision of your application (or your employer’s real-world project) to life, you will have a hard time.

Do a tutorial on the operating system of the laptop you will be using. I use a Mac, so I did a tutorial on Unix, which underlies the MacOS operating system (And: I only found out about Unix only after googling “MacOS tutorial”). You might think that I mean understanding the innards of a computer: the power source, the memory, RAM, display, etc. While that can be helpful and interesting, it’s much more important to understand the concepts of a “root directory” or a “project directory” - the file structure of a project, relative versus absolute paths, and how to traverse files in a given OS, etc. You're going to want to access things quickly.

Oh, and the terminal. The terminal (or the “command line”) is where you will be running the bulk of your commands for many web development programs. Instead of downloading a program with a user graphical user interface ( or “GUI,” an application that you double-click on to start it up), you will be using the terminal to talk with your computer’s kernel (the core of the computer where processing and memory allocation take place). GUI’s provide a nice interface that most humans prefer, but it can be limited in functionality for a developer. The command line will give you so much more power and flexibility when creating your applications. Plus, employers will require it, so you must learn how to use the terminal effectively and efficiently.

Don’t fear the terminal. It might seem intimidating at first, but, as we stated before: Learn how you learn best. Do one tutorial and if that doesn’t satisfy you, do another! Keep going until you feel comfortable switching directories (folders), creating files, etc. That is the core of what you will be using each and every day as a dev. If you pass on the terminal, employers will pass on you.