I am a Coding Bootcamp Instructor, and Here is My Message to Prospective Students

Shaw Kitajima
8 min readMar 15, 2021

First, let me introduce myself to build some credibility. My name is Shaw Kitajima, and I am an instructor for the software-engineering-immersive programs for a coding bootcamp called General Assembly. Our program is a 12 week intensive course, currently being held entirely remotely due to covid-19. I have been both a student and a teacher with General Assembly, and have helped many students start their careers in the tech industry.

What Should You Expect to Gain from a Coding Bootcamp?

Most coding bootcamps will be willing to give you a detailed curriculum of what is being taught. For example, our current cohort is broken up into four units: HTML/CSS/JS, the MEN stack using EJS for the front-end, Python and Django, and the MERN stack. However, it is a mistake to think that the objective of attending a coding bootcamp is to learn how to use the specific technologies that are being taught. From our curriculum, the only thing that I can semi-confidently say will still be around in fifteen years is JavaScript. Technologies are constantly trying to replace each other, and although React succeeded in beating out Angular in popularity, it’s only a matter of time before React loses to something else.

Bootcamps do (or should) carefully plan their curriculums to teach what are the currently most utilized technologies in their given area. That should help a student find an opportunity soon after graduating. However, one of the technical aspects of being a developer a student should seek from a bootcamp is to learn how to learn in the development space.

Learn how to Learn?!

I’m also quite a memer

Believe it or not, most web applications are very similar on a foundational basis. Users tend to get to see things on the screen, they input information that is saved to the application’s database, and the application has to figure out what to grab from the database when users ask for things (who would have thought YouTube and Facebook were the same thing?!). The great thing about all of these apps doing similar things is that smarter people than myself create different technologies that are responsible for doing the different things that are required from a web application. For example, in the MERN stack, Mongo is your database, Express is in charge of handling requests from clients, React is in charge of putting things on users’ screens, and Node is the glue that allows each of the technologies to work with each other.

The key to learning how to learn is to understand what you want to do with code. You should get first-hand experience with this concept when you cover your second language in a bootcamp, which hopefully belongs to the same programming paradigm family. At General Assembly, after we cover full stack development using Express and JavaScript, we take our students through Django and Python. Express and Django are both web frameworks, meaning that they are responsible for handling HTTP requests. JavaScript and Python both follow the Objected Oriented Programming paradigm. Our students find that learning Python and Django after learning JavaScript and Express is much easier than than first learning the former technologies, because they already know what they want to do with these them, and they just needed to learn the syntax. You will know that you have learned how to learn when you can feel comfortable with a new framework after trying the tutorial in the documentation, and then consulting the documentation for other things that you know the framework should have.

Learn how to Problem Solve

I can typically break students into three categories throughout the course.

  1. Students who don’t know what they want to do
  2. Students who know what they want to do, but can’t turn that into code
  3. Students who know what they want to do, and can turn that into code

Some people would say that category one is the same thing as category two, but those who would say that to a new developer are mean and you shouldn’t bring them into your life.

So how do students move on from step to step? Again, the main thing that they need to learn is what the tools in their toolbox do. Let’s take JavaScript as an example, you will have access to cool things like arrays and objects. You should learn what these different datatypes are useful for, and how to use them. If you have a foundational understanding of what you can do with different pieces of code, you should be able to figure out what you want to do with them, and then be able to actually code out your solutions.

But as developers, things won’t work all the time. If the first aspect of problem solving is solving a problem, the second aspect is what to do when your solution doesn’t work. As a developer, you must learn to debug (fix things that went wrong).

Hopefully, when your code doesn’t work, you will be given beautiful blocks of text called error messages. Although panic inducing at first, you will find that your instructors love error messages. If you are lucky enough to have in instructor available to resolve your errors, make sure you walk away from that interaction knowing how they knew what went wrong, and why they chose to do what they did to fix it. By the mid point of the cohort, you should go from this:

one of my first posts on Reddit

to this:

I made this one too!

How Do I Do What I Need to Do?

That’s a big question whose answer varies from person to person, but here is my two cents for most people. Be curious and tenacious, and have a balanced, healthy routine. Strong developers are those who are willing to experiment. When you are introduced to something in class, you should always think of what you could do with it, and try it out when you have the time. Repetition is very important, as the more you try things and log their outputs to the screen, the more comfortable you will be with them. If you stay curious and tenacious, you will find yourself moving from a category 2 student to a category 3 student in no time.

Surprisingly, even more important than repetition is the trifecta of sleep, exercise, and diet. A healthy brain is a productive brain, and information retention and problem solving benefits greatly from the trifecta.

that’s right, I made all of these memes

Maintaining the trifecta will seem like an incredibly hard task during a grueling bootcamp. That is why routines are so important. An example routine that I would strongly recommend to students, with the assumption that the program is a remote 9–5, would look like this:

6:30AM: Wake up

6:45AM–8:00AM: Exercise (I run and bike)

8:00AM-9:00AM: Shower, have breakfast, and briefly review the upcoming material (note, this is upcoming material, not yesterday’s material)

9:00AM — 5:00PM: Class!

5:00PM-7:00PM: Personal time and dinner

7:00PM — 8:30PM: Homework. If none is assigned, review material. If comfortable with material, solve coding algorithms

8:30-PM-10:30PM: More personal time

10:30PM: Bed time!

It is heavily recommended that you have your exercise before class starts so that you can have a fully alert brain by the time class starts. You’ll also notice that there is almost 4 hours of personal time. This only works because there is an assumption that you are taking about 2 hours of outside-class time everyday reviewing material. The thing that makes coding bootcamps seem difficult to a lot of students is that a lot of lectures will depend on material that was covered the day before. If homework is assigned on a weekly basis, the repetitions and necessary comprehension will not be complete in time if students procrastinate on homework until the deadlines, and the material will seem that much harder.

Of course, if you do not feel comfortable with the material with just 2 hours of personal time put into review, you will have to suck it up and commit some more. Coding bootcamps will cram a lot of material in because they only have 12 weeks to cover it, but that also means you only have to withstand a crazy schedule for 12 weeks.

Some Extra Bullet Points of Tips

  • Don’t be afraid to try things. Your computer won’t blow up
  • The first two weeks (usually the fundamentals of the main coding language you will use) is the most important material in the entire cohort
  • After two weeks of instruction, you should be able to explain why developers like arrays and objects so much
  • Get good at JavaScript. You will frequent a site called Stack Overflow, and its founder said: “Any application that can be written in JavaScript, will eventually be written in JavaScript.”
  • If you take notes in class, I would recommend handwriting them (handwriting takes precious time, therefore, you are more selective in what you note, making you more critically engaged in lecture)
  • Study groups are great for reviewing material, and come with added benefit of keeping you accountable to your routine
  • Blogging about your experiences on weekends will further cement your comprehension of coding topics — and may be useful in your job search
  • Speaking of the job hunt, like it or not, being a strong developer is less important than knowing the right people
  • As you solve more algorithms, get into the habit of explaining what you want to do, writing out the pseudo-code for your solution, and then actually coding it. That’s what you will have to do in a white board interview
  • We write code for other developers, not the computer
  • Being quick with the shortcuts and properly indenting is very sexy
  • Don’t be a jerk. Most companies by now have realized that you can teach most developers how to do things, but a person’s personality is not as easy to change
  • When you are working on projects, a well planned project will take less time to code than a poorly planned project. It’s a lot easier to solve problems that come up in pseudo-code than problems that come up 12 lines deep in a function. If your pseudo-code is perfect on your first revision, you are either a genius, or you didn’t pseudo-code correctly
  • A strong developer is a resourceful developer. You don’t need to remember how to get yesterday’s date in JavaScript, you need to know what to Google to get yesterday’s date in JavaScript
  • You’ll know that you have made it as a developer once your friends start reaching out with million dollar startup ideas

Closing Thoughts

I want to leave the most important thing for last. Have fun! You are going to embark on a journey that should continue for several years into the future. If you find yourself enjoying the bootcamp, no matter how grueling it can be, you are going to have an amazing career. If coding doesn’t spark joy, then well, at least you can quit early, instead of waking up at 3:00AM six years later realizing that you hate your life.

Thank you so much for reading this essay to the end! I’d love to hear about your coding experiences, or any standup comedy opportunities you may have, so reach out on LinkedIn, and let me know that this is how you found me!

--

--