A 10–12 week program can give you enough knowledge to get oriented on the path to success, but actually charting and traversing that path is ultimately up to you.
In short, maybe — but probably not if you define “full-stack developer” the way most of the industry does. Despite the marketing materials that some of the bootcamps use, most are really not designed to make you into a “full-stack developer”. And how could they be? Mastering all of the skills that a full-stack developer needs is a process that requires consistent and sustained practice over time. 10–12 weeks simply isn’t long enough. The good bootcamps know this and therefore actively work to help you set the right expectations. A 10–12 week program can give you enough knowledge to get oriented on the path to success, but actually charting and traversing that path is ultimately up to you.
Let’s try to flesh this out a bit. First, what is a “full-stack developer”? By most industry standards, a full-stack developer is someone who has a thorough understanding of all the elements of a web application. This means that they can design and implement a data store, write the server-side business logic, and code the client-side interface and view layer. The fact that there are roles in the software industry that focus exclusively on just one of those elements should tell you something about the difficulty of mastering all three. Good software may look simple from the outside, but that often belies the true complexity that lurks just outside of view. A full-stack developer is expected to have both the fundamental and domain-specific knowledge necessary to tackle challenges all across the application. This isn’t an easy goal to reach.
There are plenty of success stories about bootcamp graduates who go on to get jobs as software developers after just 10 or 12 weeks, but it’s worth posing a few questions about what it takes to become one of those success stories yourself:
- What is your end goal? If your goal is simply to get a job in the software industry then a 10–12 week crash course might be enough. There is however a difference between a job and a top job. Full-stack developers spend thousands of hours mastering their craft because they value the opportunity to do interesting and challenging work. In general, this is not the kind of work that you can get without having already mastered fundamental skills. And mastery is difficult to achieve in the short-burst of intensity employed at most bootcamps.
- What is your learning style? Some learners thrive in environments of high intensity, but it doesn’t work for everyone. If you come from a technical background and are predisposed to an engineer’s mindset, then a 10–12 week bootcamp might be enough to set you on the right path. But learning to think and solve problems in a structured fashion takes time. You can learn this skill, but without the flexibility to explore problems to depth, and to absorb their nuances, it’s easy to get overwhelmed quickly.
- What are your expectations? The marketing literature for bootcamps is full of lofty promises to make you a “full-stack developer” in just a few months, but the truth is that the people who are most successful in these programs are the ones who have the right expectations from the start. If you treat a bootcamp of this length as a catalyst, meant only to kick-start a much longer learning journey, then you are starting from the right place. Mastering your craft is going to be a long process and the learning shouldn’t stop the day bootcamp ends. To the contrary, you’re going to have to double down on your studying when you graduate and commit to a much longer path.
The high-intensity, short period of study model puts the onus for success on the learner rather than on the process.
In truth, I think that our industry has done itself a bit of a disservice by adopting the high-intensity, short period of study framework as the dominant model for education. This model puts the onus for success on the learner rather than on the process. You can get a job as a programmer after 10–12 weeks of training, but whether that job leads to a long and fruitful career is another question entirely. Acquiring, retaining, and mastering new skills requires time, and more importantly, it requires the flexibility to stick with a topic until you thoroughly understand it.
I think that 10–12 weeks is enough time for some learners to get on the path to becoming a full-stack developer, but only if they approach that time as a jumpstart rather than as a “complete” education. Some learners can do this, but it won’t work for everyone. This is why I have long been a proponent of mastery-based learning, where the burden for success falls on the process, not the individual. This approach to education leaves learners free to explore topics in depth and move on only when they are ready.
All of this is a long way of coming back to the beginning of my answer: 10–12 weeks is maybe enough time to become a full-stack developer, but outcomes will vary greatly from learner to learner.
This article was original published as an answer to a question on Quora, but is re-posted here for Medium readers who have the same question. If you enjoyed reading this article, please upvote my answer on Quora.