Should you attend a coding bootcamp?

If you are reading this blog post, chances are that you are considering attending a coding bootcamp. Maybe you have been teaching yourself how to code for some time now, and you want to improve your skills even further. Perhaps you feel like that doing dozens of mini-courses and following tutorials on YouTube is not bringing you anywhere, and think that the only way to get to a professional level is by attending a more structured course. I myself just concluded Codeworks, one of the leading JavaScript bootcamps in Europe, and would like to share my experience so that you can decide for yourself if this is the right path for you, and understand a bit more what a bootcamp can (and cannot) give you.

Alright, so before I get to talk about the pros and cons of attending a coding bootcamp, I would like to start with an important premise. When I first started to learn coding, I didn't really know what I wanted to do with it. I just knew that I wanted to do something radically different from what I used to do at the time (I was studying at a Liberal Arts and Science College), and coding happened to be something I felt could help me do that. To be honest, I didn't immediately fall in love with it. And this is because I approached it in the wrong way. My main goal was to learn how to code so that I could get a job, and so I just bought some books and enrolled in some online courses so that I could learn the fundamentals and get some practice. This is probably the worst way you can learn how to code. I was still thinking in terms of classical education, where all the learning happens in a top-down manner, from teacher to student, and with a well-defined curriculum. I felt like I needed that, else I would not be really learning.

It was bullshit. Coding is just a medium for you to materialize your ideas. This is how I suggest you should think about it. You have a cool idea that you would like to create, so you go out there and you learn the tools that let you do that. You want to create a heading - you learn how to use the <h1> tag in HTML. Now you think that you want to change its color - CSS to the rescue! And, step by step, Google search after Google search, you will realize how much you have learnt. In no time, you will have learnt all you needed to create your little project. Maybe you want to share it with the world, so you go and search how to deploy a site. This, trust me, will teach way more than any book, assigned exercise or tutorial out there will ever do. Often, you might feel like you are not learning much, that it is all unstructured: what I can tell you is that learning always happens in an unstructured way, and you need to embrace the uncertain path that lays in front of you.

Now, after this long rumble, coming to whether you should or should not attend a bootcamp, the answer is: it depends. It depends from the goal you have. If your goal is to learn the hottest technologies in Web Development in as little time as possible so that you can quickly get a job in tech, than yes, a coding bootcamp (a good one!) can provide you with the right structure for you to learn that without having to spend ages finding a tutorial that is worth it. In 3 months of bootcamp, I managed to learn all the technologies that are required to apply for Full Stack jobs in Europe, and I can safely say that it has helped me be confident enough to approach tech interviews and has given me the chance to land a job as a developer.

However, one of the main things I see interviewers being interested about are... my projects! And it makes sense, they want to make sure that you know how to create an application. They don't give a shit whether you have graduated from the GloriousHackerProgramme or DevelopersUnited bootcamp. They want to know if you have experience. This is also one of the reasons why bootcamps are becoming so popular: they provide you with practical experience that recent graduates might be lacking because of the theoretical nature of their studies. Yet, most coding bootcamps will still focus on teaching you a lot of things that might be useless for you at that moment (data structures, algorithms, all sorts of databases, etc), just because these are the things that are required to know in order to get a job. I was often frustrated that I could not work on the projects I cared about, just because I needed to learn the 10th technology to query my database! I believe that if I could have just focused for 3 months just on working on my ideas, creating my product, shipping it, maybe even learning how to monetize it, I would have been far stronger as a developer.

So, my main advice, before even considering attending a bootcamp, is to take some months to practice as much as you can. Start from gathering ideas that you would like to work on. If you don't have any, think harder: there is definitely some problems that you want to see solved and that you could work on. They don't have to be huge or change society forever. Just small problems, like an app that automatically generates QR menus for restaurants. Once you have the idea, use the tools that you already know (or that you are learning) to execute it. You will realize that, for most projects, you won't even need to use some fancy Front End framework like Vue, Angular or React, but that a good old mix of JavaScript, HTML and CSS will do just fine. Don't get hooked by the latest trends or by what everyone says: you will most likely not need any super crazy technology to create simple projects. You just need to start.

At the end of 6 months, let's say, in the worst case scenario you might have 3 fully functioning applications, maybe one of them deployed. This, in itself, is already a valid ticket to get some interviews. And if you are still thinking that you might want to attend a bootcamp, fair enough. But at least, you will get there with a much deeper knowledge of what it means to create a project. Because, in the end, let's face it, the main reason why people want to learn how to code is that they want to create something that they enjoy, and that perhaps might even be monetized one day. They want to become independent with some apps. And many people are already doing that.You don't need a bootcamp to learn this.