As an "in" professional discipline, Machine Learning exhibits a curious behavior: though talent is frustratingly scarce, it's immensely easy for the individual to obtain. Why? It's all available online, (largely) free for the taking.
I did not get a bachelor's degree in this field. Self-teaching at my kitchen table in 2014, I landed a job as a software developer. Self-teaching still, I joined ShopKeep's Data Science team. Eighteen months later and wanting further technical expertise, I quit my job, left NYC, and jumped full-time into machine learning self-study — the best, if only, way I knew how.
In September of 2016, I moved to Casablanca, Morocco to pursue the Open-Source Machine Learning "Master's" — a full-time, self-curated schedule of textbooks, MOOCs, publishing code to my GitHub and writing to this blog. Now back living and working in NYC, decidedly successful in what I set out to do, I'd like to inform others as to how to plan and execute a similar program for yourself.
The following is a practical guide to the Open-Source Machine Learning "Master's" (OSMLM). It is not a technical guide, which would provide concrete guidance on what to study. Instead, my aim is to provide motivation, logistical details, and strategic insight — to take you from "that seems cool, but crazy" to "woah, this is not only feasible, but really makes a lot of sense." I personally find the latter much more valuable.
The content is organized as follows:
- Why this might be right for you
- Building a curriculum
a. Educational resources
d. Where to live
Keeping a schedule
- A sense of urgency
- Personal development objectives, in parallel
- Applying for the next job
- Why there's very little risk
Why this might be right for you
You should pursue the OSMLM for the same reasons that you'd pursue a traditional master's program: because you want further technical expertise in this field. The motivation behind this ambition may vary: perhaps you've a bachelor's in Economics and want to break into data science, or perhaps you're dexterous with scikit-learn, are effective in your role, yet need to understand more deeply how your tools work in order to obtain a promotion. The OSMLM, like a formal master's, is a semi-broad deep-dive into select topics in machine learning and not much more.
The OSMLM confers a number of obvious benefits in cost, expediency and flexibility. These are enumerated in detail in the motivating post. Notwithstanding, what are the downsides? To this effect, what type of person is required to pull this off?
- There is no one to push you but yourself. A priori, there are no professors. There are no study groups. There will be no tangible social pressure: it will probably just be you.
- This might be viewed as a "radical" choice. In ten years, I'm certain this will change. However, in 2018, you'll find few people with the line Open-Source "Master's" on their résumé.
- The meritocracy comes to bear. A master's degree from a prominent University, along with a passable GPA, holds professional weight (for better or for worse). In contrast, the OSMLM attacks on one singular vector: that talent is weight, and that success in this program is developing this talent. There will be no "diploma-crutch."
Who this is for
Addressing the above in order, the OSMLM might be right for you if:
- You're convicted about your passion for the field. The thought of studying machine learning all day has you smiling from ear to ear. No one will push you but yourself, and that's the only person you need.
- You don't mind being different. You're not phased by the notion of explaining — crisply and with conviction — why you made the choice to pursue this program.
- You feel the meritocracy in your bones. You're confident in your ability to master material, and communicate it back to others. You know what the bar is for employment in your desired role, you know that you'll surpass that bar after finishing this program, and you trust that because the meritocracy is real, this program could do nothing but bear delicious, abundant fruit.
Personally, I derived my educational resources from:
- MOOCs (massive open online courses)
- Textbooks (often obtainable in electronic format)
- Blog posts
- mathematicalmonk videos
- Udacity "Nanodegrees"
Yours may be different. However, the promise is: all of these materials are available online, and for a trivial or zero cost. If you've been in the field for more than a month, this is probably already clear to you.
Again, this is a radical choice! If only because you won't know many others doing the same.
In NYC, everyone is asked for their story — in interviews, at parties, on the subway. Preparing to quit my job, leave the city and move to Morocco — what was mine? How would I present this to others before leaving, during the experience, and after returning to the city? Believe it or not, I started composing, if mentally rehearsing, this story long before I ever left.
Be excited. "Here's what I'm doing! Here's why I'm doing it! I'm scared, yet convicted. It's awesome, and I will be back, more learned than ever. Promise."
Maintain a blog. This is an extremely important point of strategy. Arguably, this was my most crucial insight throughout this whole experience.
Keeping a blog serves three principal ends:
- It helps you to concretize knowledge. If you're going to share something with others, it is easy to motivate yourself to make sure you know what you're talking about. This stems from the basic human tendencies of fearing both rejection, and the perception of inconsistency.
- It helps you to stay relevant in other people's eyes. I was diligent about sharing my posts on Twitter and DataTau. Fortunately, they were shared by others. In fact, I received 7 blind interview requests from managers that had read my blog (and continue to receive them to this day). This is a point of expediency, not braggadocio: do it well once, share it, and reap the rewards for a long time to come.
- It gives you something — nay, everything — to talk about in your interviews upon your return. I was keenly aware of the importance, for better or for worse, of maintaining a public sharing space of personal projects before I left for Morocco. Throughout the OSMLM, I could cynically be characterized as a "professional blog-writer/portfolio-builder." Upon return, over half of my interviews began with: "Hey, I read that blog post which I really enjoyed. Mind walking me through it?" Uh, yep. No problem.
In addition to a blog, I found that maintaining a presence on Twitter proved valuable as well.
- The machine learning community is small: build yourself a community within, for all the same reasons that community-building is more generally valuable to your work, and quality of life.
- People will likely find your idea enviable and admirable. Everyone likes a "radical," and the idea of living in a "far-off land." In addition, if they're passionate about machine learning (and cognizant of the speed at which it moves), they probably relish the thought of full-time study as well.
See "Applying for the next job" below.
I lived in an apartment in Casablanca. However, I would not have been happy working out of this apartment as well.
For all those with ambition to work and travel: co-working spaces are a thing. Even in Morocco. They have comparatively fast internet (to the median speed found in the city at large), desks, coffee, patios, food, and most importantly, other motivated individuals like yourself.
Your choice of workspace is up to you. For me, finding a space outside of my apartment in which to work was important for my social and emotional health.
Where to live
The world is huge! And in most of the world, $1,000/month gets you pretty far.
I chose to live in Morocco so as to improve my French, and live in an Arab country more generally. Your interests are probably different.
NomadList is a terrific resource for choosing where to "digital nomad." It indexes countries based on things like:
- Cost of living
- Internet speed
If you're unsure about where you might want to go, I would start here. In addition, moving abroad is of course in no way a requirement for this program. However, the assumption is that you won't be generating income, so pursuing the OSMLM in your home country might prove expensive.
Please, do not overlook visa requirements. Follow the rules. In Morocco, I was granted 3-month tourist visas, which I could renew by spending a few hours in neighboring Spain. For an in-depth look at visa regulations, please visit my personal favorite, VisaHQ.
Personally, my costs had the following dimensions:
- Monthly rent: $600/month for a beautiful, central, sunlit, and furnished 2-bedroom apartment in the center of Casablanca, which I often split with a friend.
- Coworking space: $300/month. Really expensive, in my opinion! (I found the same in Mexico City as well, that a monthly co-working fee ran roughly half of what I'd pay in rent.) All the same, I only spent 2 months here before moving to friends' offices.
- Educational resources: roughly $1,100. This said, I spent $800 on the first half of the Udacity Artifical Intelligence Nanodegree program. Thereafter, I bought a textbook, subscribed to some Coursera courses at $50/per, etc. Overall, if I wanted this cost to be $0, I could have made that happen. In any event, I do find the aforementioned costs trivial considering the value I received in return, and even moreso as compared to tuition in a formal master's setting.
In 10 months, I spent roughly $12,000. I ate out, traveled some, and afforded a terrific quality of life built around the thing I wanted to do most: full days of bright-eyed, and well-rested, machine learning study.
I knew 2 people in Casablanca before I arrived. Finding a community was important to me.
Technology/entrepreneurship communities can be found worldwide (Adrian Avendano is an unbelievable testament to this fact). Casablanca was no different. I attended Meetups, pitch events, happy hours, and even PyData Casablanca! After a while, I was able to surround myself with people that kept me happy and helped me grow. Choosing to work from a co-working space can often give you this "for free" as well.
Like any extended international trip, ensure that you've premeditated your options in the event of theft, dental, or medical emergencies. This is standard practice.
For the OSMLM, give special thought to computer insurance as well: without your computer, there's not a whole lot of work that you can do.
If your computer breaks:
- Where's the computer store?
- How will i get a new one?
- How long will this take?
This will vary by country. Investigate beforehand.
Building a curriculum
I know the landscape of machine learning educational resources exceedingly well, if only because the field is dear to my heart. I know what I know, and I know what textbooks, courses and papers I'm dying to have the time and energy to properly consume.
For me, the OSMLM was 10 months of navigating, with discipline yet flexibility, this dreamscape.
Unfortunately, prescribing you a concrete academic curriculum is outside the scope of this post for the following reasons:
- Everyone will have a different initial base of knowledge.
- On some level, your "curriculum" should already be in motion: if "you’re convicted about your passion for the field" (as noted above), you probably already have some idea of what you'd like to learn.
This said, if you're looking for resources on specific topics, I likely am a great person with whom to speak, and I'm more than happy to help.
Keeping a schedule
Like building a curriculum, this came easy to me: keeping a disciplined, focused schedule around machine-learning self-study was all I wanted to do.
If this comes less easily to you: treat this like a job. Get rest. Take weekends off. Exercise before you go to work (if that's your thing). Leave your workspace at a reasonable hour, and pursue hobbies, relationships and culture at night. Hold yourself accountable. Do whatever worked for you in a previous job, or period of your life.
A sense of urgency
In a salaried job, you trade the myriad potential upsides of entrepreneurship for stability: assuming you do your job well, you will receive a paycheck twice a month, (largely) irrespective of the exact hours you put in. "Hustling" bears few fruit. Ultimately, your goal is longevity: to continue to do great work, and be excited about this work; to not burn out; to be there in a few years' time.
In the OSMLM, things are different. Here, you've "ripped the carpet out from under you." You have no paycheck, no immediate professional support, no structural "crutch." Furthermore, once finished, you will have something to prove to your previous professional world (in interviews, etc.).
My [machine learning] goal for the OSMLM was to learn as much as possible. My resource-bottleneck was time. As such, it became easy to keep a robust schedule, and to work slightly-longer-than-normal hours. It was, stated dramatically, "fight or flight." Looking back, I am impressed, though not entirely surprised, with how much work I produced within this context.
In the OSMLM, a sense of urgency is a feature, not a bug. Use it to your advantage — as a biologically-principled infusion of raw motivation.
Personal development objectives, in parallel
In 2016, in addition to further technical expertise in ML, I wanted to both ~perfect my French, and live in an Arab country. Pursuing the OSMLM in Casablanca allowed me to chase all three goals simultaneously.
Besides the technical, what are your goals? Is there a language you'd like to learn? A sport you'd like to try? A list of books you'd like to read?
There is no mandate to have a single focus: you're in control of your days. If you want to study machine learning from Monday-Thursday, then write fantasy novels on Fridays, you should do that. If you'd like to teach English abroad, move into a school in Japan and study machine learning at night.
Of course, the OSMLM isn't about machine learning at all. Instead, it's about:
- Writing down your learning goals, and acknowledging that most of the knowledge they require is freely available online.
- Figuring out the most expedient way of accomplishing these goals, ideally simultaneously.
- Getting after it, now.
Applying for the next job
While this might seem daunting, it is really the easiest part.
- Have a narrative. Clearly communicate why you chose to pursue this program, and why it was the best choice for you, personally. To almost any employer for whom I wanted to work, it was a very easy case to make.
- If you kept a blog, things will come to you. As noted above, I got many interviews from people having read my blog; furthermore, the majority of my remaining interviews were structured around a walk-through of a post I had written. This puts you in the driver's seat from the start.
- If it's clear that you worked hard, you really can't lose. The OSMLM aligns cleanly with three key things a startup looks for in a prospective technical hire: a passion for your work, a demonstrated ability to learn quickly and autonomously, and a portfolio showcasing what you can actually do, today. If you worked hard throughout your OSMLM, you'll bring all three in spades.
When I returned from my two-year trip, and sat down to face my interviewer, that was all they wanted to discuss! It was seen as "different, courageous, enviable." Empirically, the OSMLM was received in largely the same manner.
Finally, to the extent you've kept a blog, simply sharing with your readers that you're looking for "what's next" is a great way to get started. Fortunately, I had many fantastic individuals following my journey, and they were nothing but helpful in connecting me with their network when I began to plot next steps.
Interviewing upon return is the fun part. You'll be surprised how well this experience is received, and just how far it takes you.
Why there's really little risk
Assuming you put in the work, I see two possible outcomes for this experience:
- You realize you don't like machine learning all that much. If you're disenchanted with this field after dedicating a meager 6-12 months to its mastery, then it's probably not for you. Realizing this would be a win, not a loss.
- You become a pseudo-expert in machine learning. Perhaps with another spoken language under your belt, or having lived abroad for the first time. You're energized, refreshed, and ready to return to a job (or join the field itself). You have stories and a portfolio of work that raise other's eyes. In my view, this is at once your worst-case, and best-case, scenario.
Simply put, dedicating an extended period of time to one of the hottest professional fields of the present can only bring opportunity.
Being an effective machine learning practitioner requires fluency in a large body of material. Fortunately, this material exists entirely online, largely for free, and is yours for the taking.
To the extent that you're an effective autodidact, the OSMLM is a cost-effective, flexible, and overall highly-expedient way in which to acquire this knowledge. It is not a sabbatical, but instead a principled and strategic period of focused study. Furthermore, it allows you to pursue other pressing personal goals in parallel, and brings energy, new perspective, and a point of differentiation as you return to the working world.
As i was told by a VP of Research during an interview: "it's clear from your work that you learned far more in this year than you would have in a traditional master's." Personally, I didn't know how to do it any other way.