You don’t need to graduate with a Ph.D to pursue career in data science. Earning skill in this area can prove to be a great investment for anyone who works in the technology space. Proficient understanding can put you into a position to make a big difference in a companies value. Over the years I’ve been able to produce multipliers of value to companies in need for data technologies.
I found that many self-help blogs were giving people large laundry lists of must-have skills and algorithms to memorize which can deter people who are looking to understand more about career path. The aim here is to give you an idea of how I had gotten into the field and what has helped me sharpen my skills.
First of all, the term “Data Scientist” is still somewhat new and isn’t defined but I’ll do my best job in trying give advice on how to lead yourself into this direction. Many of the professionals that fill these roles were being defined as being Machine Learning Engineers, Statisticians, Data Analysts and sometimes Computer Vision Specialists. The reason why that employers have adopted this labeling is because there is more demand for software designers and developers who know statistics more than ever before. With the rise of mobile, there is more data out there than people know what to do with. Admittedly, some of this is hype but as we’ve seen before, there is an easing of the “hype bubble” which tends to bring things back to reality. That being said, let’s get to why I started my path down this road, where I am now and how I started my journey.
I’m currently working as a Data Scientist at a BioTech company, Vium (BTW We’re hiring). This company specializes in accelerating In Vivo drug research (more about In Vivo drug development Here if you’re interested). I’ve worked with other successful startups as a Data Scientist including Zite and Flipboard. I also serve in Advisory roles for companies in other countries.
There are many advice blogs available to help you gain an understanding of the particular skill sets of a data scientist. I’m aiming to give you my personal experience with getting into the field which may provide you with a more concrete representation of what to expect or how to prepare.
I graduated with a B.S. in Information Technology and a friend informed me that I could get paid while completing the Masters Program in Computer Science if I became a Teacher Assistant. This is exactly what I did. Upon applying for this program I was told that I needed to go back and complete a large list of prerequisite classes (data structures, Calc 1 and 2, Discrete Math). After completing the base level courses for CS. I was admitted into the Master level classes. At this point I started searching for an advisor. I ended up falling under one of our Computational Geometry professors. I then started projects under this professor and he advised me on techniques and approaches.
One of the projects that I was working during my Masters work focused on building a recommender system for a music player we called SmartPlayer. I worked with Signal processing and Machine Learning to develop a content filtering recommender system using features extracted from audio. The main focus of the project was in machine learning and recommender systems. I found that upon completion of this project, I had a deeper understanding on how machine learning but still lacked some of the core concepts that machine learning practitioners were experts at.
My first job as a Machine Learning Engineer
I moved to Silicon Valley after completing my masters in CS and started looking for a job. I started working for a Sales Software company in San Mateo as my first job. I found that my programming skills were good enough to start in a “Machine Learning Engineer” role for this smaller startup company. I mainly worked with Django and Python in this role but was the only person on-site which had any substantial experience with Machine Learning. While working there I took the Stanford Introduction to Machine Learning Course on Coursera. This was, by far, one of the best courses I’ve taken on the subject and I would highly recommend it to anyone who works in this field (https://www.coursera.org/learn/machine-learning). This class helped me gain a better understanding and a more broad view of machine learning and statistical optimization. This course also helped me understand how machine learning applied. This was helpful in getting me past intro machine learning questions in interviews. I would consider this model building prep. I found that this class was instrument in helping me get my next job as a Software Engineer for Zite.
I participated in Kaggle Competitions (Kaggle.com) which helped me in improve my skills in feature engineering and instrumentation of models. Since I was coming from a Computer Science background, I found it easy to start using the Pandas/Python/Scikit-learn/Numpy tool set.
Zite was my second startup gig and at this point, I was convinced that Machine Learning and statistical skills were extremely valuable in the valley. This role focused on build recommender systems for a news reader app called Zite (RIP). At this point in around 2012-2013 the Data Scientist buzz word was being thrown about Meetup attendees and invoked at conferences. I read some essential recommender system and matrix factorization papers (Netflix Problem) to get my beak wet. I would recommend these if you’re expecting to specialize in recommender systems:
These two papers have pretty much the same language stated in other complementary papers coming out these days in recommender systems and they’re easy to understand.
I found that a majority of my time was spent getting data and writing clue code for the recommenders that we already had. We actually had an easier time improving the core recommender by using different types of rating data rather than changing the algorithm itself. That being said, implementing and evaluating new recommenders was always fun and rewarding. I found that stretching your abilities as a Data Scientist by implementing new algorithms from scratch was a great way to improve your skills.
Usually when you work at smaller companies, most of your precious “Modeling/Machine Learning” time is eaten up by writing a Twitter scraper or some other thing to help you create features. Unless you have a good Data Infrastructure team on hand, it’s going to be hard convincing your founders that someone else should do this since you’re the one consuming the data.
After the acquisition of Zite into Flipboard I began working in a Data Products team. Data Products are terms used to describe a more “project orientated” view of algorithms and how to apply them to data in order to meet a business need. In this role it was advantageous to know how to develop these data products “end-to-end”. By that I mean,
1. Understanding business needs
2. Coming up with a strategy
3. Developing algorithms which consume data and produce a model
4. Deploy this model in a production environment
5. Test the model in production
6. Measure results over weeks of model performance observations
Almost always, after the project was completed there was a statistical significance test that was ran (usually a T-Test, or Chi-squared test). In this situation (news reader application) we were ensuring that users read more articles or clicked on more ads. It was pretty rare to get huge jumps in improvement over the baseline here since the product was so mature. If you plan to start working for a large(r) company like this you will definitely need to know how to run a T-Test and other significance tests.
There Are Many Other Data Career Paths
There are other ways to get into the Data Science field. From talking to other people in my field I have found that many transition from a Math, Physics or CS into a data science role. I feel that getting someone anecdotal account can be useful especially when you have so much information out there on the subject which isn’t as concrete as one might want.