If you've never been totally in love with your job and have thought about changing your career and becoming a programmer, you've probably come across coding bootcamps while doing your research. A bootcamp seem like a great option for someone in your position -- you get handed a curriculum of things that you need to learn, it's much less expensive than grad school, and the top bootcamps all boast extremely high employment rates after graduation. There's no better time than now, amidst a pandemic (especially if you've lost your job due to it), to change your career and turn your life around. So should you enroll in a bootcamp?
The short answer is that it depends. It depends on how much time and effort you can put into it and what you want out of it.
I graduated from my bootcamp recently, and these are my thought about it. For some background on me, I don't have a degree in computer science, but I do have a degree in another engineering field. I also studied programming on my own for a while before I decided to join a bootcamp and get some more formal training on it. As a disclaimer, some other bootcamp grads might have had very different experiences from me.
Can you really do it with no experience?
You can. In fact, I'd say 75% of my cohort had absolutely no experience with coding before coming into the bootcamp, and most of them graduated with me. However, I'd highly encourage you to dabble with it for a good while before handing your money over to a bootcamp for several reasons:
A career change is a big deal
And you want to make sure that it's right for you. Bootcamps are less expensive and less of a time commitment than, say, a master's degree, but they're still a lot of money. If you didn't like your last job, or even if you did, what guarantee is there that you'll like coding? I'd recommend learning on your own for at least a few months before you join a bootcamp, because you probably want to make sure you like coding before you commit yourself to it.
For the bootcamp I attended, there was about 80-100 hours of pre-work before classes started, but in my opinion, this is not nearly enough for you to gauge whether you'll like coding every day for 5 days a week for the next few decades.
You won't feel (as) behind during the program
In the first month of my program, quite a few of my cohort-mates stated that they had cried several times each week because they felt so lost. A few even said by the end of the first week that they felt like quitting. Almost all of these people made it to the end, which is very commendable, and you can too. But it would be better to save yourself some of the stress of falling behind, because there will be plenty of other things for you to stress about.
You'll be able to go beyond the curriculum
If you're not struggling with keeping up with the curriculum, then you'll have the capacity to learn things outside of that. The reality is that there is so much to learn in this field that you can never really stop learning, so you don't have to limit yourself to just learning things taught in the bootcamp's curriculum.
What is the day-to-day life of a bootcamp student like?
I've only ever attended one bootcamp, so I can't speak for all bootcamps. For my bootcamp, there were 5 "phases" in my program, each one about 3 weeks long. For the first four phases, in the middle of each phase, there was a code challenge (aka coding test), which you had to pass to move onto the next phase. At the end of the phase, there was a phase project. The entire last phase, however, was dedicated to a single capstone project.
Schedule
I was on Zoom at 9 am sharp every day Monday through Friday. Most days followed a similar schedule. We'd start with stand-up, where we gathered together and talked about what we were going to do for that day. We'd work on labs (basically small assignments) individually for part of most of the day, but most days, there was also a pair programming lab. Once or twice a day, there would also be a 1-2 hour lecture with the instructor. At 5:30 pm, we'd begin stand-down, where we each reviewed how our day went and got to know each other better. A lot of the day was very flexible, and we'd all work individually or in small groups in separate breakout rooms for the majority of the time. This meant that most of what you did in a day was entirely up to you.
Exceptions to this schedule were during project weeks. The whole day would be dedicated to working on your project.
It's school, but it's not really like school
In addition to not having a rigid schedule, you don't get graded on anything you do (other than the code challenge, which you only have to pass). You don't have to do all of the labs if you don't feel like they'll benefit you. In fact, no one's even going to force you to do any of them, if you don't want to. This means that how much you get out of a bootcamp is entirely up to you.
You'll have an instructor to teach you the topics in the curriculum, but you shouldn't depend on your instructor to teach you everything. It's very possible that you'll get an instructor whose teaching style isn't suitable for you, but learning on your own is something that you'll have to do eventually anyway.
Outside of the classroom (aka Zoom)
If it's not really like school, is there homework? How many extra hours do you need to put in outside of class? The answer is that there is homework if you choose to give yourself homework, and you'll put in as many extra hours as you would like to. I personally spent a few hours every night either working on more labs from class or learning other things on my own, and I hardly ever slept before 1 am. There were also very few weekends where I took breaks. In addition to the projects I did for the program, I also wrote little mini projects on my own (some of which are in my other blog posts). However, you absolutely can get by without doing any of that. Again, it's entirely up to you.
Making friends
Making friends during my bootcamp was a very unexpected part of it for me. Especially because classes are all entirely online now, I didn't really give this much though before I started my bootcamp. However, because you see the same people five days a week for four months straight, and you're all more or less struggling through the same things, it's kind of a bonding experience. I was very lucky to have had very kind and genuine cohort-mates, and I'll definitely be keeping in touch with some of them for a very long time.
Will a bootcamp really help me get a job?
So the running theme is that it depends on you. A bootcamp can help you in the process of getting a job if you're eager to learn and put in the work, but it won't get the job for you. Most bootcamps have career services. At my bootcamp, each student gets a career coach to help with the job searching process, but career service always emphasizes that the career coach is just there to guide you and you're the one in the driving seat.
Bootcamps usually have high graduate employment rates, but employment can mean a lot of different things. To be realistic, you won't get a 6-figure paying job right out of a bootcamp. You've just spent 4 months, give or take, working really hard and learning new things every day, but truthfully, you still know next to nothing about coding. A lot of people do get employed within a few months after graduating from a bootcamp, but a lot of the time they get hired as interns or apprentices. And what they'll be doing in their job is most likely not what they've learned at bootcamp.
A bootcamp is a good place to learn how to learn. It is not a place that will teach you everything you need to know to become a programmer.
Advice and takeaways
Be comfortable with being uncomfortable
That's the only way to grow and learn. At the beginning of this experience, the thought of not know a lot of things really scared me. Now, the thought is still daunting, but instead of thinking, "I'll never be able to learn all of this," I think of it from a perspective of, "There's still so much interesting stuff out there for me to learn."
Be eager to learn
This one might be kind of obvious. But if you really find yourself enjoying coding, you won't groan so much at the thought of having to stay up later to work on a project or to learn more about something. Learning is hard, but it should also be exciting. Like I mentioned earlier, this is a field where you have to constantly learn for the rest of your career if you want to be good at it, so if you don't find yourself eager to learn more about computer science, this really might not be the right career for you.
Don't compare yourself to other people in your cohort
Everyone enters the bootcamp with different background. Some people will have a head start because they've already coded a bit beforehand (again, I think you should do this if at all possible), and some people will find everything entirely new. What you should compare yourself to is your past self. If you feel like you've done your personal best and have learned new things every day, then you're on the right track.
This sums up most of what I have to say. These are my honest thoughts about my bootcamp experience, both the good and the bad. If you have any questions, feel free to leave a comment and I'll try to get back to you!