Breaking into tech and getting your first professional job as a developer is a big topic right now. The days of needing a CS degree are safely behind us and massive amounts of online content promise to teach you code. But there's one big question being asked over and over again by aspiring devs:
Do I need a Developer Bootcamp or should I learn on my own?
There is no right answer. Bootcamps aren't right for everyone. They're a lot of work and come with no guarantee of success (if you see a Bootcamp with a guarantee, run very fast in the other direction).
But they also provide a ton of value and experience that you can't get from self-paced video courses.
Here are 5 Bootcamp benefits from a professional engineer who did one:
Structured Learning Plan Without the Worry
Yes, there are hundreds of online courses that can teach you to code in every programming language. But knowing which topics are the most important, what order to learn them, and how much time to spend is a very overwhelming decision. It's easy to get distracted by the newest trending framework on twitter, what startups are doing or how FAANG operates. A lot of learners are so overwhelmed by how much they can learn that they never really learn anything deeply, jumping from one topic to the next. And if you're busy questioning what you're learning you can't learn it effectively.
Bootcamp let me skip all that anxiety. I had confidence I was learning the right things. I knew other's who'd gotten jobs through the program and I knew the instructors were professionals in the industry too. I could focus 100% on learning without worrying if I'm learning the right things and my instructors validated my progress along the way, helping fill the gaps I needed. And that was a great weight to have lifted of me because...
I quit my job for my Bootcamp. It was a 12-week, full-time, in-person, 9a-6p Monday to Friday program that FULLY immersed me in web development. It was probably the scariest thing I've ever done, but committing to something in such an extreme way did something amazing for my mindset that learning on the side never could. Becoming a developer became my life for three months, and there wasn't much room to get distracted. I had to push away the doubts. I couldn't second guess my choice. I couldn't procrastinate. Failure wasn't an option because I quit my job for this.
That immersion and dedicated time was perfect for my learning style. I needed that level of focus to learn so much in a short time , and the risk of being unemployed to drive me.
Bootcamps want you to get a job, it's kind of their entire business model. Career support and interview prep were a big focus in my program. We had 2 rounds of mock interviews with our instructors. Before doing them, I was nervous but thought I knew enough and would do ok. Well let me tell you now, you are never as ready as you think you are for a technical interview. They will ask questions you never expected, in ways you can't anticipate and at a pace that might make your head spin.
Those mock interviews were invaluable because I got real, in depth feedback afterwards on what I did well and how to improve. That's not something you can get from video courses or out in the wild either. It made my actual interviews a lot less intimidating and I had good answers ready that scored big points with interviewers.
Collaborating on a Codebase
A good Bootcamp will make you work in teams for at least one project. And that's great, because products in the real world are rarely built by one person. We have to share codebases with other devs pretty much all the time. That means we can't just hack together code we understand, we have to write well structured, clear and commented code everyone can understand. And that's actually harder than you might think.
There's whole books dedicated to the topic, but there's no substitute for experience. The more you can collaborate on code, the better you'll get at writing it and you'll be better positioned to get an offer come interview time.
You'll learn more about managing code with source control when you have to work with other developers too. Feature branches, merging changes to or from the main branch, solving merge conflicts and writing good commit messages are all important skills in a professional setting. Most self-paced online programs won't cover these skills, but a good Bootcamp will and they can really boost your chances of landing your first job.
Another fact of team development life is the code review. For the uninitiated, code reviews happen any time a developer wants to add changes to a codebase. With Git source control, changes are usually made on a feature branch and then submitted for review and approval by another dev before merging it into the main codebase. Code reviews can be really intimidating for a new dev (and for experienced ones too). You're literally submitting your code to be judged by someone else. More often than not you'll get some level of feedback or change requests and it's important to take that feedback constructively and learn when to do what's asked, push back or ask for clarity.
Even more important though, you also need to give code reviews. Reviewing other people's code is hard. It takes awhile to learn when to ask for changes, how to give good constructive feedback and to feel comfortable critiquing anyone's code as a beginner.
Getting experience on both sides of a code review before my first professional job was awesome. I've been asked many times in interviews "How do you approach giving feedback for code reviews" and having a good answer that comes from experience will really impress your interviewer.
Plus, you probably don't want the first time you review code to be a senior dev's pull request!
So what now?
I recommend anyone looking to break into tech to seriously consider the Bootcamp route. The right Bootcamp can jumpstart your career and position you above self-taught or even CS grads. But if a Bootcamp isn't in the cards for you, don't be discouraged! You can make it in tech any number of ways, and now you know a few extra skills to focus on while you learn.
If you want to know more about me, my Bootcamp experience, how to get into tech, or pointers for good code reviews find me on Twitter @justmyrealname!