Jake Vikoren took a break after college to figure out his next move. He started teaching himself machine learning in his spare time and once he realized he wanted to pursue it as a career, Jake enrolled in Springboard’s Machine Learning Career Track to structure his learning and become hireable. Jake answers our questions about getting into a machine learning bootcamp, Springboard’s mentorship program, his advice about specializing in the field, and how he’s pursuing jobs during the COVID-19 crisis.
What were you up to before Springboard? Did you study computer science in college?
I graduated in 2017 and moved up to Lake Tahoe because I wanted to take time to reflect before jumping into a career. During that time, I worked at a ski resort and as a kayak guide in the summer. I started to dive into machine learning in my own time and fell in love with it. I decided to go through the process of teaching myself programming in depth and hoped that it would take me somewhere interesting.
I was a physics major and philosophy minor in college. I had some basic exposure to programming when I was younger but I hadn't done any formal education during university. The philosophy minor translated well from courses like critical thinking and logic. It helped build some of the framework and rigorous thinking required to model problems in an effective way.
What motivated you to commit to a machine learning bootcamp after self-teaching?
I fell in love with machine learning because I saw AlphaGo, Google's deep mind group that defeated the world champion at Go (a board game that I love). I had a lot of motivation to get into machine learning so my self-study was pretty fruitful. I was learning a great deal but I eventually realized that if I didn’t find a program that was more structured and recognizable by employers, then it might remain a hobby. I was hoping to make it my career.
Did you research any other machine learning bootcamps? Why did you choose Springboard?
My research was brief, to be honest. I looked for bootcamps around the Bay Area a bit because I grew up and had family here. It would have been possible to move back to the Bay Area to do an in-person course, but I was enjoying my lifestyle in Tahoe and I didn't really want to move.
There are tons of coding bootcamps but I wanted to study machine learning specifically and there weren't many bootcamps offering dedicated machine learning tracks.
Springboard’s job guarantee also helped me take the leap. It felt like I had nothing to lose. During the pandemic, the job search has been tough and the job market in general is pretty flat right now. But Springboard has been forthcoming about the fact that they'll continue to honor that job guarantee. They've also been doubling down on providing extra resources for job searching in these particular times. They've guided us to job boards, sent helpful tips, and made suggestions about ways to find work right now.
What was the Springboard application process like? How hard was it to get into Springboard?
I had a preliminary exam with a questionnaire and a coding challenge with questions about regular expressions and balance brackets. Springboard wanted me to know some Python to get into the course, which wasn’t too difficult for me because of the self-studying I had done.
You had done some self-studying before applying, but do you have any tips for a complete beginner to prep for Springboard's application?
Springboard offers prework, which are the preliminary steps for the Data Science Career Track but it is possible for a beginner to get into the machine learning career track by doing that. Give it at least a couple of months of self-study in Python. Review data structures and algorithms and start to understand the basic syntax and structure of the language. I watched Youtube videos. Go to the Python website and read through the source documentation. It's a bit boring but it gives you more confidence because you'll start to understand how it all fits together. Then try to write simple programs to build your confidence even more.
What was the learning experience like at Springboard for the Machine Learning Career Track?
It was flexible which is part of what I enjoyed about the program. I was able to continue working four days a week. They recommended you dedicate 20 hours a week to this career track. I ended up putting in more time because I had wanted to. It typically takes 6 months to graduate, but I took 8 months to finish Springboard – I had a few hiccups in my personal life during the program.
I had consistent mentorship from my dedicated mentor who I had calls with each week as well as student advisors and career counselors. That was one of the most valuable pieces of the course. It gave me guidance and continued motivation to keep me going throughout the long process. Your motivation might be high when you first start a program like this but life happens and motivation wanes. Having people there who are keeping track of your progress and care about where you're at and where you're going makes a big difference.
Did you work with other students on group projects?
There was some interaction with other students on Slack but it was limited. I would not recommend going into this if you're looking for a tight-knit cohort.
All of the work was on my own – no group projects. Some of the course requirements involved sharing my project ideas on this community website and commenting on other peoples' project ideas or asking questions though. The entire program was self directed as far as collaboration goes, there wasn't much.
What did the Machine Learning Track at Springboard cover in its curriculum?
We covered a lot of the foundations of the mathematics behind machine learning as well as the best practices in software engineering. They also emphasized industry facing skills that surrounded working with big data and being able to process and scale your machine learning models and put them into production.
We covered Git and Github, Spark, Data Pipelines, Docker, AWS, Software Engineering Best Practices, continuous integration and deployment, logging, testing, debugging, big o notation, API and web scraping, data wrangling with Pandas, JSON, regular expressions, and SQL. We also studied a good amount of math like calculus, linear algebra, probability, statistics, linear regression. We went over deep learning, convolutional neural networks, recurrent neural networks, LSTMs, GANs, transfer learning, k-means, and a number of case studies in language processing and computer vision.
What types of machine learning projects did you build at Springboard?
There were a number of mini projects that cover the topics in each unit and then throughout the entire course you're working on a capstone project. The capstone is in-depth because you spend the whole course working on it.
For my Capstone Project, I chose to create a skin cancer classification model. The input is an image of skin with some sort of skin lesion and it outputs a classification among seven different cell types. It will tell you what type of skin cancer it is among melanoma, basal cell carcinoma, etc. I ended up getting a high performing model with 90% accuracy. It was fun!
Which technologies did you use to build your capstone project?
I used Jupyter Notebooks and Jupyter Labs the vast majority of the time when I was programming and that's still what I use for the most part. We wrote everything in Python and Jupyter Labs is the main environment. It wasn't a requirement to use Jupyter Labs but I used it a lot. It's a nice way to organize your Jupyter Notebooks and access data on your machine.
Springboard helped me with cloud services. We had access to cloud machines that had GPU compute and things like that. There were a number of different options that we could try. I used Google Colab and I highly recommend it because it's free and requires no setup. You can just go to Google Colab and start writing and you have access to the GPUs for free. If you run into any limitations as far as data processing, there's a $10/mo extension that gives you higher quality GPUs and more storage. I've found that to be the easiest.
What was the biggest challenge that you encountered in an online bootcamp?
It can be hard to keep your motivation up over a long period of time when you're not in a classroom setting. You should only do an online bootcamp if you're passionate about it. It's easy to choose to get into machine learning because it's a high demand industry and lucrative, but when you're learning something difficult and new, you have to be passionate about it to continue to stay energized. The biggest challenge was keeping my energy up for such a long period of time.
How did Springboard prepare you for the job search?
Career prep is one of the aspects that shines in this course. Springboard starts your career prep early on in the program. They did a great job of interspersing career information along with technical information. They help us prepare our resumes and LinkedIns (one tip was to get a premium account on LinkedIn). For the most part, getting a job is more about successful networking and less about sending out a million resumes. Sending out resumes is part of the process as well but networking is the most important. Before COVID, Springboard encouraged us to get out there and attend conferences. Throughout the course, they were teaching the career curriculum one step at a time. It's not like you finish the course and then you start searching for a job.
I was also happy to see that Springboard emphasized mindset. It's rare to see that in a formal education setting. It's important to find confidence if you are transitioning into a new discipline, a new career. A huge difficulty with that is maintaining confidence and confronting imposter syndrome. They shared articles with us that were specifically about imposter syndrome. That type of education is important to help put you in a good place to present yourself well.
What have you been up to since you graduated? Are you working in Machine Learning?
The job market is in a weird place right now because of COVID-19, but I've had a number of different job leads. I’m currently working as a part-time Assistant Instructor at the UC Berkeley Extension data analytics bootcamp. That speaks to the quality of the education I got at Springboard.
My time at Springboard was structured to get me to a place where I'm hireable. I have projects in my GitHub, my resume and LinkedIn are ready, I know what steps to take to network and look for a job and I have the skills I need to apply to jobs. The first job I got was people coming to me through my LinkedIn page because of the experience I had and the quality of content on my LinkedIn.
What types of Machine Learning roles did Springboard prepare you to apply for?
Actually, Springboard encourages us to broaden our search – even though I was in a machine learning engineering track, I learned to look for a wide variety of roles. There are many different titles that fit similar skillsets – for example, data science roles and data analytics.
Personally, I'm most interested in research. I'm in the late stages of the interview process at the Allen Institute for Cell Science in Seattle, WA. They're hiring a machine learning engineer for deep learning, computer vision, and integrative analysis. That's basically the coolest title I can imagine! I'm passionate about what they're doing as well. It's exciting!
Do you have any advice for bootcamp grads on the job hunt?
Think about what excites you and focus on that. I started focusing on computer vision at the beginning of my education. It's useful to focus on a subsection of machine learning that you like because that's going to allow you to develop your skills on a much deeper level. That will help you break into an industry.
I have much higher expertise in computer vision than in natural language processing or other machine learning areas. I understand natural language processing and I could talk about the technology and techniques but because I focused on computer vision, when I'm in these interviews I'm able to go into some serious depth about the technologies and approaches.
Specializing gives you confidence as well. When you're breaking into a new industry it doesn't make sense to try to learn it all. That's why I decided to do a bootcamp instead of a PhD. I know that if I get a job, I'm going to continue to learn so I might as well learn in an environment where I'm working and supporting myself instead of going further into debt.
Looking back, was Springboard worth it for you?
It was definitely worth it. Even if I don’t get a job in machine learning, I would still say it was worth it. When you're self teaching, it's like you're wandering around in a massive cave with no lights and trying to map it. There is so much information and it's overwhelming. You don't always know which direction to head in. Springboard took all of the pressure off. I didn't have to think about what I was going to learn next. I didn't have to try to make a plan or make my own deadlines.
A lot of the curriculum that Springboard provides is available online – you'll be watching some YouTube videos and TED talks, but Springboard’s value comes from the structure and the support. The guidance that you get from your Springboard mentor is invaluable. All of that allowed me to take my education to the next level. I would definitely do it again and I would definitely recommend it to someone else.