I know that when I was researching data science bootcamps I obsessively looked for reviews or anything that would give me a real sense of what it was really like to be in the program. So, at the end of Week 1 I thought it would be helpful to share my experience for anyone considering taking this step in general, and taking it with Metis specifically.

TL;DR Version


So far this has been an awesome experience. There is a ton of work in the first week and adapting to the pace of learning while getting up to speed on python while simultaneously working on a group project due at the end of the week and trying to complete additional exercises is a tall order. But that’s exactly what I signed up for, and after the first week I’m confident that this program was just what I was looking for. The other students come from a variety of backgrounds, but they are all really sharp with something unique to contribute and really committed to learning as much as possible in the short time we have here.

In general, the program at Metis consists of different modes of work that are designed to teach new concepts, reinforce what you’ve learned, and generally simulate the type of work you would need to deliver in a professional environment. This is accomplished through a combination of pair programming, daily lectures, challenges, projects, and independent study. To learn what is involved in more detail, read on…

Pair Programming


Each morning you are paired with a different person in the program to work through a programming problem for 30 minutes. The “driver” does the actual programming and the “navigator” focuses more on the overall direction for how to solve the problem. After 30 minutes, all groups submit their solution and the instructors lead a discussion around the solutions.

What kind of problem, you ask? As an example, the problem for day 1 was: Write a program that prints the numbers from 1 to 100. But for multiples of three print “Fizz” instead of the number and for the multiples of five print “Buzz”. For numbers which are multiples of both three and five print “FizzBuzz”.

This morning activity accomplishes a few things: * Helps everyone get to know each other. Since this group will ultimately be an important part of your network, you want to have the chance to get to know everyone on some level * Forces you to communicate about technical problems and map out solutions out loud, with another person * Demonstrates the power of having another brain to bounce ideas off of and the value of people with different skill sets, technical abilities, and ways of thinking * Ensures you encounter a variety of programming challenges so that you continue to use your python skills, improve the efficiency of your code, and familiarize you with new programming scenarios * Allows you to see how different pairs go about solving the same problem

Daily Lectures


This is pretty much what it sounds like. The time before lunch and often for part of the afternoon is dedicated to lectures on the key topics being addressed that week. For week 1, we covered git/GitHub, iterative design, brainstorming, blogging, markdown, python (including pandas and numpy), and command line. If that sounds like a lot for one week, you’re correct. Fire hose. If that doesn’t sound like a lot, well… you’ll see.

Challenges


Each week, a set of challenges focuses on the specific skills you are working to acquire and reinforce. For week one, it was all about python - reading data, cleaning data, using lists and dictionaries to manipulate data, writing functions for repetitive tasks, and plotting data. In general, the challenges are also tied to the projects to help you work through the same types of exercises you’ll need to master in order to successfully complete the project. Challenges stretch you beyond the basics and involve a lot of searching for answers on Stack Overflow. Like “How do I access a list of tuples within a list within a the values of a dictionary to create a new dictionary…”

Projects


There are 5 projects over the course of the 12 week program, and they are designed to pull all of the pieces that you are learning together into a cohesive whole. The project in the first week is the only group project of the five. Each group has five days to put together a 5 minute presentation that answers a business question posed by a fictional client. In our case, a non-profit client uses street teams to get attendees for their annual fundraising gala and they need our help identifying which subway stations they should send their street teams to in order to maximize attendance/awareness/donations. You can use MTA subway turnstile data and any other publicly available data to put together the solution with your team.

Projects have the following benefits: * Provide the opportunity to do go through the full cycle of an analysis from framing the question to producing the insights/recommendations/algorithms * Simulate a real-world environment where you have to deliver an product in the face of ambiguous requests, insufficient data, and very short timelines * Reinforce what you learn in lectures and the challenges * Ensure that you are not only able to write code and analyze data but are also able to effectively communicate the end product to a non-technical audience

Independent study


Last but not least, each day after the lectures are complete there is time to work independently to review material, work through challenges, and work on projects. Instructors and TAs are available to help when you are stuck or need additional assistance.