My Experience With Flatiron School’s Immersive Data Science Program — Part 3, SQL is My Friend
Welcome to part 3 of my series sharing my experience with Flatiron School’s Immersive Data Science Program. In my last post, I shared some of the basic structure of Flatiron’s Data Science Bootcamp. I also detailed the struggles I faced learning Python, the exhaustion and depression I went through, and how much I wanted to not be there. Well that all changed the second week. Why? SQL. SQL was my buddy.
After sharing my struggles with my wife all week, my wife arranged for me to speak with her friend, who had gone through Flatiron’s Software Engineer bootcamp and was now a successful backend engineer herself. What followed was an intensive 4 hour conversation where she detailed her own struggles, and then a ton of code practice. I also used the time to get through the Learn lessons I had fallen behind on the previous week, and catch up to the SQL lessons I had to prepare for the following week. I felt better prepared, but still nervous.
Fortunately, I discovered that I in fact loved SQL, or MYSQL in particular. I found it easy to learn, easy to understand, and infinitely more forgiving than Python had been. SQL didn’t care about capitalizations, extra spaces, parentheses, etc. SQL just wanted to help me find the answers I was looking for. Even if I wrote the query wrong, it would return an answer that I could easily parse out and determine where I went wrong. Having a good handle on SQL, things started looking up. During our pair coding, I was easily nailing the SQL exercises, and proud to post my results, whereas previously I would struggle, despair and generally not finish without the aid of my partner. Now I was taking the lead, knocking out SQL queries left and right. It was the confidence booster I needed, and made me feel like I was going to make it after all.
After SQL, we were introduced to web scraping and API calls, more specifically, how to pull data from various sources and unpack them. We started with Yelp, and learned how to access their API to pull restaurant information from targeted locations in our area. This was a bit tough because it required a significant amount of Python, and understanding how the requests library interacted with Yelp’s API server. Fortunately, Yelp is pretty helpful when it comes to detailing how it handles requests, but it was a challenge at the start.
For our weekly project, we were given an analysis project. We were instructed to do an API call on a set of restaurants of our choice, clean and organize the data, analyze it, then answer a set of questions based on that analysis. For more fun, we were instructed that this API call had to be directed into an AWS Database, which we were to interact with using our recently learned SQL skills. So we went through the arduous and complex process of setting up an AWS account and setting up the Relational Database.
This project wasn’t hard, but I’m glad my partner was with me to help connect to the DB in Jupyter Notebook, as well as untangling the dictionary format so that I could run my analysis. The really fun part, was speculating on why we were getting the results we saw. That line of questions and speculation inspired this blog post, and helped birth my future focus on Yelp that culminated in my final project.
This was the week that really helped me see what Data Scientists really do. It wasn’t all coding, it was putting that coding to use, and seeing that I could make a difference. It also really inspired me to truly pursue Data Science and see this bootcamp through to the end. I was finally pulling aside the veil and seeing the stories behind the data, and I really really loved it. Moreover, I wanted to be able to test and prod and see if I could derive not only answers, but solutions to the stories I was seeing.
From what I hear, the curriculum has shifted lately, and instead of just web scraping, there’s also lessons on using Selenium, and SQL starts in the first week as well. SQL is extremely valuable for the average data scientist, as its the language we use to fetch our data and do our initial analysis. However, its easy to imagine how much harder the first week is going to be for students with no coding experience trying to cram all of that together in the first few days.