Metis Bootcamp Weeks 2-12

This is the third post in a series on my experiences attending the Metis immersive Data Science course in New York City. My previous posts covered the application process and pre-bootcamp work through Week 1. While I cannot guarantee anyone else’s bootcamp will be the same as mine, I hope you find these posts as useful as I found other blogs when I was researching data science programs.


Each week of bootcamp brings with it a host of new models, evaluation metrics, and visualization tools but maintains the consistent structure established in Week 1: pair programming followed by lectures and independent project time. There are four individual projects in addition to the first week’s group effort, each one concentrating on particular skills and analyses. Lectures are timed to introduce you to the knowledge and tools you’ll need to immediately apply to project work. Weekly seminars from the careers department add some variety to the normal lecture schedule.

A Typical Day at Metis
9 am Pair Programming
10:30 am Instructor Lecture
12 pm Lunch
1 pm Lecture or Careers Seminar
3 pm Project Work
5 pm End of Day

Pair Programming

The typical day at Metis starts at 9am with a pair programming challenge focused on coding skills, a logic problem, or breaking down a machine learning algorithm. Problems can seem impossible, very easy, or anywhere in between, and the variety in the challenges means you’ll likely vacillate between feeling really smart and really stumped. Metis makes a big deal of the diversity of student backgrounds, which I certainly found to be true of my cohort. Pair problems cover enough different topics that you’re unlikley to be an expert in all of them, meaning you may encounter some you can’t solve alone. They aren’t checked or graded, so there’s no real pressure to solve them, but they’re certainly worth spending time on. Many of the problems are similar to (if not identical to) questions you’ll encounter on take-home tests and in whiteboard challenges during the job interview process.

Lectures

The number and length of lectures varies in a given day but you can expect at least one between pair programming and the noon lunch break. The standard lecture consists of an instructor walking the class through a Jupyter Notebook or slide deck to introduce or further explain a particular concept or technology. Examples from Week 2 include a Powerpoint presentation on the assumptions of linear regression and a notebook showing how to train linear regression models using the Scikit-learn and Statsmodels libraries. Lectures coincide with the focus of each project, so Weeks 2 and 3 are heavy on linear regression and data visualization to prepare for the regression modeling project due at the end of Week 3. Here’s a quick summary of lecture and project topics, but keep in mind the current curriculum may be different:

Weeks Topics Project Duration (in weeks)
1 Exploratory Data Analysis, Git, Pandas 1
2-3 Linear Regression, Web Scraping 2
4-6 Classification Algorithms, Data Visualization, SQL, AWS 2.5
6-8 Natural Language Processing, Clustering Algorithms, NoSQL 2.5
9-12 Passion Project, Big Data, Neural Networks 4

Lectures tend to be front-loaded within each project cycle and the course as a whole in order to quickly provide you the knowledge necessary to complete each project. Towards the end of the course many lectures are optional as they may not apply directly to your chosen final project. Information will likely come at you too quickly for you to absorb it all, let alone all of the provided supplemental lessons. A hurdle many of my classmates and I had to overcome early on in bootcamp was abandoning the idea of ‘doing it all.’ There isn’t enough time to dig deep into every concept introduced by the instructors so eventually everyone has to pick and choose on what they spend their time and effort. Prioritizing the specific topics and skills you want to learn is essential to making the intense coursework manageable. For every data science skill you rigorously study and apply you’ll likely have to settle for cursory knowledge of other topics, which is especially true for project work.

Projects

Everything at Metis revolves around the five projects at the core of the program, and for good reason – that work will eventually make up the portfolio you’ll use to get your first data science job. I’ve already written an in-depth post about the first EDA project; the remaining four projects cover regression, classification, natural language processing, and any topic, covered or uncovered in class, that you want to explore further. Students deliver 4-5 minute presentations on their projects to complete each assignment, with earlier work serving as practice for the final presentations. Although most projects have specific requirements, students choose their own topics and acquire their own data, which leads to a broad diversity of work. Of course, coming up with five ideas you like for which you can find sufficient data is easier said than done. Since you can only afford so much time for ideation, I recommend a strategy of giving yourself a hard cutoff day for when you’ll just commit to a project from your list of ideas. I was fortunate enough to find topics I liked for three of my individual projects, and those were a pleasure to work on; putting in extra hours is always easier if you have genuine passion for what you’re researching. The one solo project for which I failed to find a great topic is easily my least favorite, but I’m still happy with the results. After using up my allotted ideation time I still didn’t like any of my project proposals, so I ended up picking the one I disliked the least. I could have burned a few more days of work time trying to come up with a better idea, but instead was able to comfortably deliver a finished project and learn quite a bit in the process.

Since the Metis curriculum is available online and may change in the future, I won’t spend many words rehashing it. Instead I’ll quickly describe each project, link to what I did for the assignment, and provide a bit of insight into the particular challenges associated with it. The first project is the only one of the five that is a mandated collaborative effort, and you can read more about it in this blog post. My second project at Metis required us to scrape our own data and use it to fit a linear regression model. This project is the first real gauge of skill and understanding amongst the class, which can make presentation day intimidating. The early weeks of the course heavily favor students who enter the program with a lot of coding experience, and if that’s not you it can be easy to feel behind. As both a student and teaching assistant, I’ve seen a number of novice programmers struggle through the second project only to show marked improvement on the next one. For our third project, my class was tasked with utilizing a cloud computing service (AWS, google cloud, etc) to host a large amount of tabular data in a SQL database and then using it to fit a classification model. Whereas the regression project offers limited variety in applicable algorithms and software libraries, the classification project starts to open the data science floodgates. I really enjoyed the increase in creativity and diversity of topics and approaches in student presentations from projects two to three, and that trend continued steadily through the rest of the course. The fourth project is very open-ended and focuses on Natural Language Processing (NLP for short). The two previous solo projects are both exercises in supervised learning, or training models using actual values you want them to accurately predict. The NLP project marks students’ first foray into unsupervised learning, meaning output consists of things like document groupings and word relationships instead of a set of predictions. This assignment can seem directionless and the results difficult to interpret, which can be difficult for students who are used to clear goals and structure. The minimal requirements and sundry applicable techniques and technologies make the NLP presentations quite diverse. Students at this stage also tend to start applying more advanced visualizations using software like Tableau and deploying models in app prototypes with Flask. Of course, the cornerstone of most Metis portfolios is the final project, which is what students present to a crowd of employers and alumni on Career Day. This project tends to be more ambitious and polished than its predecessors because students have amassed more knowledge by the end of the course and they have a full four weeks to work on it instead of two. Topics and technology used tend to be more diverse than in any other project, but many students trend towards training neural networks since they are introduced in the final weeks of the course. If you’re interested in a software library or algorithm not covered in bootcamp, the final project is an ideal opportunity to learn and apply it. Career Day presentations are pretty much like those for any other project except there’s an unfamiliar audience and students spend more time practicing and fine-tuning their presentations beforehand. Showing your work to a group of people interested in hiring data scientists can be intimidating but it’s important to remember that while Career Day is a great opportunity to connect with employers, it’s not your only route to a job. Ultimately the event is a platform to show off what you’ve learned and to celebrate that progress with your classmates. I’ll write more about the job hunting process coming out of bootcamp in a future post.

Career Seminars

Your most important interactions with the Metis careers department will likely occur during your post-graduation job search, but advisors also check in regularly during the bootcamp. Various seminars aim to deliver tips on effective networking, optimizing LinkedIn profiles, and writing resumes to attract data science recruiters. Working data scientist guest speakers describe their professional responsibilities and experiences navigating the field. Some even give insights into what recruiters and hiring managers are looking for out of new hires at their companies. Much of the information provided by Metis career advisors is useful even if you are a seasoned job seeker, but it can often come at inopportune times, when students are focused on finishing projects. It can be easy to ignore careers seminars in lieu of more pressing concerns, but paying attention and taking notes is still worth your while, since only some of the presentation materials are available online. Once you leave bootcamp for full-time job hunting, you’ll appreciate all the leads and guidance you’ve collected.

Closing Thoughts

The Metis Data Science bootcamp was exactly what I hoped it would be: an intense, collaborative learning experience designed to push you to create the best work you can in a short period of time. It was well worth the cost of tuition ($17,000 when I attended) and helped me get hired as a data scientist within three months of completing the course. I enjoyed learning from knowledgable instructors and teaching assistants as well as fellow classmates from my close-knit cohort. Above all I appreciated how professional Metis was at every step of my bootcamp experience. Having said all that, I don’t think Metis, or bootcamps in general, are right for everyone. I was able to make the most of the program due in large part to my financial stability and lack of competing time commitments going into it. You can certainly succeed with a less advantageous situation, but the class will be even more of a challenge. The trite adage ‘you get out what you put in’ also applies to Metis, making time management and focus paramount if you want to get the most out of the short, fast-paced curriculum. I recommend visiting Metis and other bootcamps for a private tour or open house event to get a better feel for how you might fit in there. I also found the personal experiences detailed in alumni blogs very helpful in deciding on the bootcamp route; I hope that you get as much out of my posts as I did reading those of others.


TL;DR

  • You won’t have time to learn everything, so you’ll want to prioritize what you’re most interested in learning
  • Don’t spend so much time coming up with the perfect project idea that you don’t have enough time to execute it
  • Students with prior programming experience tend to have an easier time early in the program, but the rest of the class catches up fairly quickly
  • Career Day is a good opportunity, but not your only route to a data science job

Metis Pre-Bootcamp and Week 1

This is the second post in a series on my experiences attending the Metis immersive Data Science course in New York City. My previous post covered the application process. My subsequent post covers Weeks 2-12. While I cannot guarantee anyone else’s bootcamp will be the same as mine, I hope you find these posts as useful as I found other blogs when I was researching data science programs.


Although Week 1 is the official start of bootcamp, most programs, including Metis, assign a plethora of readings and assignments to be completed before the first day. The content of this material seems fairly similar across different programs: schools want students to be capable of writing basic Python scripts and understand foundational concepts of linear algebra, calculus, statistics, and probability. I can’t speak for all bootcamps, but if you show up for your first day at Metis able to do all of the following you should be fine:

  • Write a working Python function
  • Multiply matrices
  • Find a derivative and integral for a simple function
  • Calculate summary statistics like variance and standard deviation
  • Work through simple conditional probability problems

Even if you aren’t able to cover all of these topics you’ll probably be all right as most of them are reviewed in lectures, albeit briefly. In practice software takes care of much of the rote calculation you’ll need to perform for any of the math you learn but being able to properly interpret results will always require some conceptual understanding. The single most important skill you’ll utilize at bootcamp is Python coding; at Metis it is the backbone of every project and most assignments. The more comfortable you are in your coding skills, the more comfortable you’ll be with the bootcamp workload.

The exact format of Metis’ pre-course work may well change by the time you read this, but for the Spring 2019 cohort it was primarily composed of numerous short lessons contained in a Github repository, assigned readings from Allen Downey’s ‘Think Stats,’ and a few dozen math and coding challenges on HackerRank. The Metis repository also contained plenty of extra work that delved deeper into a variety of subjects but was not required to complete any challenges. Metis sends pre-bootcamp work to students a little over two months before class starts and their staff claims the required portions takes about 80 hours to complete, which I found to be a reasonable estimate. Work is submitted and checked, but as far as I know you won’t get ousted from the program if you don’t complete it. That said, I recommend doing all pre-bootcamp work and then some to arrive fully prepared for the rigors of the course. Bootcamps, by the nature of their brevity, do not afford instructors the time to cover most topics in depth. You will also not have the time to comprehensively study all of the material on your own, especially if you’ll be seeing much of it for the first time. Investing your time in studying before beginning a bootcamp can help you get the most out of it by allowing you to spend lectures clarifying and contextualizing concepts instead of constantly grappling with completely unfamiliar ideas. While simultaneously managing the demands of the pre-course work and full-time employment is certainly feasible, I recommend leaving your job at least a week before starting bootcamp if possible.

As soon as you start the Metis bootcamp, you’ll be immediately thrust into a new routine of lectures, short assignments, and project work. I devoted much of this post to the importance of the pre-course work because there is no adjustment period at Metis: the first project is assigned on Day 1 and due at the end of the week. You’ll work in a team, but completing and presenting exploratory data analysis when you’re relatively new to data science can still be a daunting task. Lectures and assignments during Week 1 focus on developing all the skills necessary to finish your first project, and in that way the first week serves as a microcosm of the course as a whole. At Metis you’ll almost always be working on a project; instructors assign new projects the day after the cohort presents their current ones. Lectures leading up to project delivery days are geared towards giving you the skills to complete the current project and tend to front-load vital information so you’ll have enough time to actually use it. For my cohort the group project required using MTA turnstile entry/exit data to solve a hypothetical business problem. My group combined the requisite data set with NYC liquor license information to determine the optimal areas of the city in which to open a new bar, preferably an area with high evening and weekend foot traffic but relatively few existing competitors. Cobbling together a project with people you just met is a great way to instill camaraderie and make everyone feel like they are doing the work of a data scientist. Looking back I feel like we barely accomplished anything on our first project, but that’s more of a testament to how much more material we’ve covered in the weeks since.

Bar Map
High traffic areas with high bar density (Left) and low bar density (Right)

After my first week at Metis I felt comfortable with the daily routine and project cycles, largely due to working up to that first presentation at such a fast pace. More than anything else that first assignment represented a complete project we were able to credibly present to others, establishing a standard that defined expectations for all subsequent projects. Metis instructors and staff will often say that the first week of bootcamp is the most difficult, and I believe that to be accurate in the sense that establishing a routine is more difficult than maintaining it. Metis throws you into data science work right away and by the time you finish that first project you’re that much more ready to face the challenges each subsequent week has in store.


TL;DR

  • The more you prepare before bootcamp the better you’ll be able to keep up with the pace of the course
  • Metis ramps up very quickly: the first project is due at the end of Week 1

Data Science Bootcamp Applications

This is the first post in a series on my experiences attending the Metis immersive Data Science course in New York City. My subsequent posts cover pre-bootcamp and Week 1 and Weeks 2-12. While I cannot guarantee anyone else’s bootcamp will be the same as mine, I hope you find these posts as useful as I found other blogs when I was researching data science programs.


I distinctly remember that filling out my first bootcamp application was the moment in my journey towards data science that I thought, this is really happening. Although I had been planning to leave my job for a little while and had been learning some data science fundamentals through MOOCs beforehand, applying felt like my first serious step in changing careers. In determining to which immersive programs I wanted to apply, I found the personal testimonials of blogs to be among the most helpful resources, more candid than program sales pitches and far more in-depth than most reviews on SwitchUp and Course Report. Given what a gigantic leap applying felt like to me I am a bit surprised I did not find more posts about the admissions process, and that is what motivated me to write about my experience.

For the sake of brevity I won’t delve much into the details of test questions, interviews, or programming challenges, especially since most of that information is readily available online. If a particular data science program doesn’t describe their admissions process on their website you should be able to get a full rundown of entrance requirements by emailing them. I will also add the caveat that my admissions experiences are limited to just two in-person, immersive programs in New York City, Galvanize and Metis, which represent only a fraction of the full breadth of data science classes. I won’t get into why I picked Metis here, but will likely write about my decision in a future post. While I researched as many options as I could find, I eventually settled on applying to two schools, a limit I recommend not exceeding if you will be applying simultaneously and are working full-time. Data science bootcamps generally have a limited number of spots per session and use the admissions process to find the most suitable candidates. It’s important to know that programs vary significantly in the difficulty and length of their admissions processes; some programs only require a couple of online interviews while others, like Galvanize and Metis, employ far more extensive screening.

Initial applications tend to be fairly uniform, consisting of an online form asking who you are, where you’re from, why you want to study data science, and when you want to start, all (hopefully) easy questions that shouldn’t require more than an hour or two to answer. Submitting an application puts into motion a time-sensitive process that involves completing programming challenges, taking timed online quizzes, and interviewing with school staff through video chat. While you may have some flexibility in scheduling when you undertake these tests, you probably won’t have the time to familiarize yourself with a topic that is completely new to you. Fortunately, schools will usually tell you exactly what they want you to know before you apply and some, like Metis, even have practice assessments you can use to gauge your readiness for admissions. I highly recommend studying topics like linear algebra, calculus, statistics, and scripting (generally coding challenges are in Python) and evaluating your progress with practice quizzes before you apply. Thanks to my preparation, I found both the Galvanize and Metis admissions tests to be challenging but well within my understanding of the material. While I had plenty of prior experience with Python, I had not studied any of the math topics in many years and would have fared far worse on those sections had I not spent a considerable amount of time reacquainting myself with them. If you also feel the need to review the math or statistics fundamentals, I recommend the sites Math is Fun and Mathopolis, which work in tandem to provide simple lessons and corresponding challenges to test your knowledge. For a more advanced understanding of math topics, check out 3Blue1Brown on YouTube, which includes entire series on linear algebra and calculus. A great book for beginners to coding is Learn Python the Hard Way, which should more than prepare you for admissions coding challenges. I utilized all of these resources and found them to be extremely helpful, but by no means is the list exhaustive.

Even though I felt prepared for admissions, I was surprised by the speed and intensity of the whole process. While I was successful in finishing the bulk of both applications on weeknights after work, in retrospect, waiting for the weekend would have been a smarter approach. Trying to complete a 48-hour coding challenge in the free time a full-time job affords is certainly not impossible, but it can add a good deal of unnecessary stress. Saving assessments for the weekend would have allowed more uninterrupted work time and fewer lost hours of sleep. For both Galvanize and Metis, successfully negotiating the online tests and coding challenges ushers in the final round of admissions testing: one or more online interviews with data scientists affiliated with the school. The interviewers are there to serve as a hybrid of test administrator and benevolent guide if you get stuck. I found the interviews to be friendly and casual, but simultaneously nerve-wracking, and recommend studying any suggested materials and more beforehand, particularly if you don’t like being asked to solve problems on the spot. I spent an estimated ten hours working through each program’s admission process from start to finish, not counting time spent studying.

Once you complete all phases of the application process you may have to wait up to a week to hear back from the school’s admissions office with your results. If you are admitted you’ll have to sign an agreement and make a deposit, usually within a week, in order to secure your seat in a cohort. I paid my deposit a little less than four weeks after filling out my first application, but that timeline could certainly have been made shorter if I hadn’t been simulatenously navigating two admissions processes. An advantage to applying to multiple schools at the same time is that if you get admitted to more than one you’ll have the luxury of being able to pick whichever you think is best. Alternatively, if you apply early enough and don’t get into your first choice of program you can try to get into a different school that has a cohort starting around the same time. I have also heard from admissions officers at various schools that early applicants have a better chance of being accepted due to class sessions having more open spots and fewer candidates farther out from their start dates. Some programs require several hours of work to be completed before the first day of class, and early admission affords you a head start on any pre-bootcamp assignments or extra studying you might want to undertake.

Hopefully this post sheds some light on the data science bootcamp admissions process and gives you an idea of what to expect if you decide to apply to one. If you want more details or have any other questions, feel free to email me at [ lukaswadya@gmail.com ]. Thanks for reading!


TL;DR

  • Admissions can take a while, consider limiting your number of applications if you’re working full-time
  • Study before applying because you may not have enough time to do so once you start the process
  • Applying early gives you more flexibility and may make getting admitted to a competitive program easier