I recently had an eye-opening experience when one of my junior front-end engineers decided to use hackathon time to explore a budding interest, machine learning (ML). Using resources from the fast.ai online course – whose motto is “making neural nets uncool again” – junior was able to rapidly figure out the basics of setting up and deploying TensorFlow models.
Initially he produced some comical results, an artificial intelligence that could intelligently paint beards onto a person’s photos. But within days he’d switched gears to projects that would produce more applicable results and created an ML model that could be flighted in our production systems. Just a couple weeks later we started to see measurable impact on our operational objectives.
As someone who studied ML in college, worked hands-on with it for the early part of my career, and then managed ML teams for more than a decade, I’ve gained enough perspective to say that we live in a truly amazing time when it comes to the ease of use, availability, and raw power of ML. I suspect that if given the challenge, my junior front-end engineer could replicate the first five years of my career in five days with modern toolkits.
Moreover, the emerging truth is that you don't need a fancy degree or specialization to harness AI nowadays. These tools are becoming a part of the standard developer toolbox. In the 1990's, an engineer who wanted to experiment with neural nets would often need to start from the simplest concepts and work their way up, understanding the mathematics and principles as each layer progressed. Today even a novice can use tools like Google Cloud AutoML to automate nearly every aspect of creating AI models and produce impactful results. All the complexity is abstracted away, but that’s alright because abstraction lends itself to more and more powerful tools. When is the last time you bumped into a coder who wanted to learn assembly?
Modern developers may not be able to speak to the mathematics of why their AI models work, but the results speak for themselves. The founder of fast.ai and former Kaggle president, Jeremy Howard, agreed in a recent Tweet: “I never had a formal technical education,” and “I didn’t actually go to any lectures or tutorials. I thought they were a waste of time.”
The implications are staggering. Think about how we traditionally hire for engineering talent, particularly in the domain of ML. We look for a college degree in computer science and/or mathematics, perhaps some research projects, and certainly several years of experience. But I’ll be totally honest: If we define great engineering simply as the ability to build solutions that solve problems for customers, then the best ML engineers I’ve personally worked with over the past few years have been self-taught.
Further, they had under five years of experience in the domain. So, in a world where easy-to-learn ML is producing extraordinary results, do I really need to hire a pedigreed “machine learning” engineer, or does ML simply become another tool in the box that’s available for every coder out there? My bet is on the latter; that we simply must rethink how we look for talent. To pull a quote from creator of the Keras, the open source neural network library, François Chollet: “The best people are 90%+ self-educated, whether they have a degree from Stanford or not. The value-add of degrees in computer science is increasingly marginal.”
That attitude would be considered heresy by most hiring managers but times are changing. Today, I’m sourcing my ML candidates from Kaggle contests, pouring through GitHub commits, and looking at college degrees last. The real question isn’t whether or not this is a good idea, it’s whether we should looking beyond ML and remove the requirement for CS degrees altogether.
Nick Caldwell is Chief Product Officer at Looker.