A lot of people have asked me what I thought about developer bootcamps, whether it's Mobile Makers, Starter League, or another program. Here is a slightly edited e-mail response I sent to someone who was considering attending a bootcamp.
A develop bootcamp can be a fantastic thing that’s a large piece of a life-changingly positive career change. It can also be a loss of thousands of dollars and months of your time that only leads to feeling more aimless. Like anything else, it's an investment, which means the risks have to be weighed carefully.
The concept of a developer bootcamp is that it's a tool for learning how to become a professional developer. However, all of the knowledge taught in these courses could be gained outside of the structure of a bootcamp for either free or a couple hundred bucks of books and learning materials. I know full-time iOS engineers who, as far as I know, are entirely self-taught. They taught themselves iOS development, and that is now their career.
However, teaching yourself how to become an iOS developer on your own is very very very difficult. Things come up, you lose momentum, you stop learning, you give up. Everyone benefits differently from structures around their learning process. I don’t think I could have taught myself programming without going to college. A developer bootcamp provides this structure for learning. Besides that, though, it’s entirely up to the student to make the best of it. It is not a case where you can pay some money, take a couple months, and all of a sudden you have a new career. The bootcamps I have experience with give you a ton – in-person teaching, mentoring, a lesson plan, projects, workspace, experience working on a team and submitting an app, etc. – and as far as I can tell they do a great job providing all of that. However, like anything that costs money, it’s easy to feel that “once I buy this thing my life will finally what I want it to be.” Entering a bootcamp with this sentiment as the primary motivator is going to result in disappointment.
So, I guess my main point is, weigh your risks. Have you programmed before? Do you know that you like programming? Could it be that you enter a bootcamp and find out that programming is not something you enjoy doing at all? Do you have the personal energy to undertake learning something completely new, to be frustrated every day at how little you know and how slow you feel you’re moving (I still feel this every day), and to be a beginner at something for a very long time? Some of these questions/risks can be answered/assessed ahead of time, others require you to dive in, but know that they’re there. Everyone I have seen who has gone to bootcamp and succeeded (found work as a developer afterwards) worked crazy hard. And it’s not work that stopped before or after a two month course. It is work that takes learning programming as a lifelong marathon of self-improvement and progress.
So yes, I support developer bootcamps. Being a developer is a fantastic job, there is a demand for developers, and bootcamps are an opportunity for people who need structured learning to hunker down and move towards becoming a developer. Would I recommend going to college for a CS degree over a bootcamp? If you already have a college degree then I would recommend a bootcamp. I have mentored for Mobile Makers, an iOS bootcamp in Chicago, in the past and will probably do so again in the future. It’s very much sink or swim – I’ve seen people do both – and for those who swim it is more than worth it. The bootcamps provide the tools, but it’s up to the student to make it worthwhile.