How to go from Zero to Employment in Data Science
We propose the quickest and surest way to go from zero experience to landing a job, either in data science generally, or specifically in a new programming language or a new technology.
There's a chicken-and-egg problem for when you want to get started in a new field of work: You can't get a job without experience, but you can't get experience without a job. I've recently had this problem when I changed from R to Python and was aiming for a Python job, and I want to share how I overcame that problem.
I've walked a five-step journey, and I recommend exactly that approach:
1. Learn the Basics
First, you have to get good at the basics, and you have to do that by yourself. Find a good course, or ask about recommendations for a good course, follow it, and every time you get stuck, go to https://stackoverflow.com and ask your question. You might get impolite responses in the beginning, but don't get discouraged - you have to learn how to ask questions there. This teaches you to formulate your thoughts and problems clearly to people that are "not in your head" - asking good questions is an essential skill that'll be with you for the rest of your career.
You can aim for a certification as a fixed goal for this step. For example, when I started learning about big data technologies, I signed up for Cloudera’s Spark and Hadoop developer exam. Some professionals don’t like certificates and swear on practical work experience, but I consider them very helpful especially in the beginning, as a goal, an orientation on what to learn and when to mark this first step as “done”.
2. Find a Project with Passion
Many people stay stuck in step 1 - this is a dangerous trap. Instead, try to move away from courses as quickly as possible and create some project you're passionate about. Courses can teach you the basics, but they're usually not very good at actually motivating you. But if you're stuck in something that's dear to you, you'll solve the problem much faster and thus learn faster.
If you can't think of a good project yet, look around for existing projects, read blogs, and expand your knowledge of what's already "out there". This could very well take some time, but it's an effort that's well worth it. Of course, you should also orient the technologies used towards the kind of job you're aiming at.
And don't be afraid of your first one or two projects sucking. They probably will. I'm sure mine did. And those of the "big guys" out there probably did, too. The only way to make that third really cool project is to make the first two projects as well. These first two are the ones where most of your learning happens.
3. Present your project(s), and get noticed.
• Give talks at local meetups (see https://meetup.com for easy ones for your very first talks)
• Post your work to Hacker News (https://news.ycombinator.com/showhn.html).
• Find conferences in your area and apply as a speaker. It is okay to bullshit (but not lie) about your credentials as long as the talk itself has substance and is worthwhile for the audience to hear.
4. Contribute to Open Source
After two or three personal projects, think about contributing to existing larger open-source projects. Contributing your code to those projects is the only way to get feedback from the very smartest people. They rarely if ever do one-on-one tutoring. This is the best way to keep learning, but it takes a while to be able to work at that level.
5. Update your profile
Add your projects and talks to your LinkedIn and/or Github profile, and demonstrate why your projects are useful. You have to find out who will be reading your profile. For recruiters, just mention the project as if it was a "normal" job. For domain experts, just state that it was an unpaid project, but link to your GitHub repository and maybe mention how many stars it got.
By this approach, you signal your potential employers that you have the skills to start and finish a project, and can collaborate well in a team. This solves the chicken-and-egg problem mentioned in the beginning.
Enjoy the ride. It's frustrating at times, but very rewarding.
Bio: Alexander Engelhardt earned a MSc and PhD degree in statistics at the LMU in Munich, and then became a freelance data scientist specialized in machine learning with R.
- On-line and web-based: Analytics, Data Mining, Data Science, Machine Learning education
- Software for Analytics, Data Science, Data Mining, and Machine Learning
- Learning Machine Learning vs Learning Data Science
- Should you become a data scientist?
- 6 Step Plan to Starting Your Data Science Career