May 2018: Click here for an updated review, and here for a recent collection answers to common questions I get asked about Data Incubator
This is a review of my experience in the Data Incubator data science program.
When I decided to make the switch from academia to data science, I went the route of doing a bootcamp. There is a lot that is appealing about this route. You get to learn with others in the same position as you. Having assignments and lessons forced on you can be a powerful motivator to learn and get experience. Having a fully worked out curriculum can mean getting a larger, better rounded introduction to the field than if you tried to learn on your own. Finally, many bootcamps explicitly market themselves to academics, which I found attractive given my background.
For these reasons, I decided to attend a bootcamp to launch my data science career. I ended up attending Data Incubator, in the September-October 2016 cohort. While I did end up getting a job through the program, I still left it with some mixed feelings about the program and thought writing some details may be helpful for someone trying to make a decision about attending.
Many, if not all, data science bootcamps have some kind of admission process. For some, this means just sending a resume and going through an interview. Others involve short technical challenges to test your statistics/programming to see if you're at the level they expect students of the program to be at.
I applied for a bunch of different programs and went through a few different admissions tests. By far the Data Incubator's was the most involved. After applying with typical application paperwork and getting reference letters, if you're chosen you're given challenge questions - programming questions that are pretty challenging that you only have a few days to complete. There is no way to reschedule so if you happen to be travelling during the scheduled time (like I was), you just have to figure out a way to do it. Along with the challenge questions, you have to come up with a project for the program, and do some initial exploratory analysis. If you make it through to the semi-finalist stage, you need to put together more analyses for the project proposal and prepare to do a short pitch in an interview. All of this took many stressful hours of preparation time.
Compare this to Data Incubator's main competitor, Insight, where I did an initial application and an interview and that was it. That application took perhaps an hour or two (and was also successful).
In addition to all the work you put into the Data Incubator application, you're not told until the end if you're accepted as a 'fellow' (no tuition), or a 'scholar' ($15k for the program). My hunch (based on a small sample size) is that they are strongly biased towards giving 'fellowships' to PhDs, and most Masters applicants end up with 'scholar' status if they are accepted.
Strengths of the program
Perhaps the best part of the program is that the assignments are diverse and do a good job of introducing you to a range of topics and tools. In contrast to Insight (where, my understanding is, you're given resources and a list of things you should do but no real lectures or assignments), there is a pretty structured curriculum that makes it clear what you're supposed to be learning and when. The fact that they are assignments forces you to actually get your hands dirty working with powerful different Python tools.
Another strength of the program is the focus on programming skills. As well as the assignments which are mostly expected to be done in Python, four days a week the program starts with an hour long coding challenge. I came in having basically taught myself Python to complete the application. By the time I finished, Python was my most comfortable language and I felt very confident in it.
The course includes in its curriculum some basic job skills that many people transitioning to data science lack: how to sell yourself to employers as a data scientist. There is advice and feedback on making a resume and interview practice. While some of this was a bit too obvious to be useful, I found some tips and advice helped a lot.
Finally, the course provides what any bootcamp should: a social learning experience where you're immersed and forced to learn a lot in a short period of time.
Weaknesses of the program
The program includes daily lectures. On paper, this sounds great, but in practice it's terrible. The hour-long lectures are frequently unhelpful because they often come after you've already learned the content while trying to complete the assignment for that week. When they are timely, they frequently are just low quality that make it hard to gain anything from. Most lectures are also remote - being teleconferenced from one of the other Data Incubator locations. The remote lectures raise barriers to interacting with the lecturer, and the sound quality is often poor enough that it takes just too much effort to pay attention. I found myself frequently using lecture time as lunch hour so the time wasn't a complete waste.
Parts of the curriculum structure also just didn't make sense. We had an assignment nominally supposed to teach us SQL, even though we had no resources for being taught how to even set up SQL on our machines (everyone ended up completing the assignment using Python's Pandas). One of the last weeks of the program we suddenly switched to using Scala for the morning programming challenges, despite using Python for everything else in the program. We came in Monday morning for our weekly assignment, and were literally given an hour to complete a challenge in a language none of us had ever used.
The advertising of the program is slick but the reality often falls short. The variety of companies hiring from the program is greatly exaggerated. Based on the marketing, I was expecting them to have hiring partners all over the country with a large variety of industries. There was exactly one non-profit, zero video-game companies that were hiring. There were only a couple of jobs in all of Boston. One student at my location just left the program immediately after seeing how limited his job options were in his geographical area.
Other problems with the course were deeper than just poor course planning. There seemed to be a deep distrust and infantilization of the students woven into the philosophy of the course. If we failed to complete an assignment on time, we were punished by being locked out of the system for contacting hiring partners until we caught up. One fellow in my cohort was locked out of the system as punishment for turning down a bad job offer. The 'soft skills' lectures (which were really 'job search' lectures) were at best not useful, but frequently condescending and verged on outright insulting people with academic backgrounds. We were routinely encouraged to apply for jobs we weren't interested in.
Overall, the program was useful for me. I probably could have gotten a data science job without it, but I am glad I did it. There are ugly parts of the program, but it was free training for me and did end up landing me a job, so I can't complain too much. However, I don't view it particularly favorably compared to Insight (a program I've only heard good things about from a few of my friends who have gone through it). I also am not convinced a bootcamp is necessary for the job - I actually got more data science interviews that weren't through Data Incubator, and it's mostly fluke that I got my job through Data Incubator instead of on my own.