So you’ve decided you want to learn to code.
We live in a golden age of remote working; we can take MIT classes in our pajamas; we can Google error messages and find solutions to problems before we even know we have them; but even so, there are limitations to self-guided study. If you’re someone who prefers the comfort of learning at your own pace in the comfort of your home, you might prefer learning to code online. But by doing so, there are a number of missed benefits on-site class settings can provide.
In an environment customized for learning, the classroom setting enforces subtle influences conducive to success. Having face-to-face interactions with instructors and fellow students inspires accountability and promotes responsible academic behavior. A relationship of expectations forms between participants, creating healthy pressure to complete lessons on time and strive for academic success.
Working alongside peers, you get healthy competition and the opportunity for collaboration and camaraderie. Having to follow a schedule that requires you to be in class at a specific time promotes productive learning habits. Without the accountability that mandatory attendance, project deadlines, and student-teacher relationships enforce, learning to code on your own volition can be a struggle, and well-intended study habits can fall prey to procrastination.
When the Learning is Fast, it’s Fast. When it’s Slow, it’s Painful.
When learning to code online, you might breeze through lessons with little trouble. You follow the instructions, work through the problems, and if you run into a snag, look up a YouTube tutorial. No problem. But there may be times when you can’t figure out what is causing your code to malfunction, preventing you from moving forward. There might not be a tutorial that addresses your specific issue and you end up hitting a wall. If your online class has an instructor or other students available for help, contacting them can take time, and trying to fix your code across the Internet comes with its own suite of challenges.
When learning in a classroom setting, there are instructors presenting step-by-step lessons to you through lecture. You get to practice the material through guided lessons or projects, and if you get stuck, you can receive help without having to communicate across many miles or time zones. If your fellow peers are tied up, you can turn to your instructor to help you work through problems and find creative solutions.
Flying Solo vs Learning with Peers
When learning in-person at a coding bootcamp, you’re engaging with a community full of like-minded individuals to collaborate with, share ideas, and work through problems together. Taking a coding class with other students allows for a more dynamic curriculum through the implementation of group projects, peer reviews, and team activities. This means more opportunities for you to learn skills found in actual career environments. With online coding courses, you might not have the luxury of peer engagement. Sure you might be great at coding, but are you able to work well on a team? Do you even know how to work on a team? When learning to code online, you risk missing opportunities to build team skills that employers seek, such as:
- Agile project management: Understanding the Scrum framework, laying out and following a Kanban board, creating realistic project timelines and working in sprints or iterations to complete them.
- Communication: A dev environment can have many moving parts, and being able to convey ideas between departments is a necessary (and often overlooked) skill for a workflow to run smoothly. Although you might not experience the full scope of a company’s development process in a coding bootcamp, group projects will teach you how to articulate your ideas to peers similar to working with teams in a career setting.
- Feedback: It’s easy to become so immersed in your work that putting yourself in the head of your preferred product user becomes difficult. “Obviously the user will know that this arrow is a link, it’s red and the other arrows are black! …Right?” Feedback from peers challenges your assumptions by providing a fresh perspective on what’s working and what isn’t. And the reverse is true; reviewing someone else’s code gives valuable insight into understanding alternative solutions.
- Networking: You’re in an environment with peers that have dedicated a lot of time and money to be in class, challenging themselves in order to advance their careers. These are the people that may end up in that company you’ve been dreaming of working at. Guess what? You’ve already worked on a team together in class and you now have a foot in the door. It may not always be that simple, but growing your network and forming relationships within your industry goes a long way.
There’s a lot you need to learn to consider yourself hirable. You do some research, figure out what online coding courses to take, and dive in. But are you sure you’re focusing on the right set of skills? How would you even know? By joining an in-person coding bootcamp, you are being led by professionals who have the experience to back up why you’re learning what you’re learning.
Of course, it is possible to figure out which skills would be the most beneficial to learn on your own, but you risk being left without a complete understanding of how the material connects to the bigger picture. Much like learning a new instrument, you can pick up a guitar and try to teach yourself how to use it, but having an instructor to show you relevant scales, strumming patterns, proper technique, and how it all ties together with the rest of the orchestra will allow you to play better with the band.