How can developers start a career in machine learning?
While the application of artificial intelligence (AI) technology is somewhat shrouded in a mist of ambiguity, few can deny the progress of its more grounded cousin, machine learning (ML).
Powering voice recognition, personalized recommendations and virtual assistants, the technology is becoming a part of our everyday lives. It’s creeping rapidly into every industry as businesses across the globe seize the opportunities to streamline processes and make products and services more engaging to customers.
Carrying more than 20 years’ experience in his field, Dr. Greg Benson, a Professor of Computer Science at the University of San Francisco and Chief Scientist at SnapLogic, says the rise in ML adoption is creating a surge in demand for those equipped with the skills and experience to apply it.
“Machine learning is going to become a standard tool, part of the developer’s skill set,” Benson told TechHQ.
But don’t think that seasoned developers will be pushed aside by a new generation of ML-trained graduates. While ML is increasingly entering into the computer science curriculum, universities focus chiefly on encouraging a “growth mindset” over specific skills, and can lack the “real data, real problems” at the hands of tenured professionals, says Benson.
“New graduates are going to bring a lot to the table, but they’re going to have lots to learn from the older generation who are also, at the same time, going to be figuring out this machine learning ‘stuff’.”
With that in mind, here are four key considerations for developers with ambitions to pivot towards a career in ML as the technology gains further ground.
# 1 | Be goal-directed
Your first project doesn’t have to be super ambitious, says Benson, it can be very limited in skill required. The fact is, you will set yourself up for failure if you don’t set out with a specific reason to use the technology. Having a clear goal will guide and provide structure to your learning and your project’s (inevitably) unique requirements.
At the same time, if your CEO or directors request that your IT department implement ML (not that they should), have an open conversation about where your company’s inefficiencies are or where you can save money or improve user experience, or “identify a domain or problem space, and work from there.”
“If you have a problem, everything that you read and follow is feeding into how everything you’re learning will solve a specific problem,” says Benson. “This is good advice for learning lots of things, but it’s particularly relevant for machine learning.”
# 2 | Analytics first, ML second
“A lot of machine learning is initially just really good data analysis,” says Benson. He argues that you don’t just transition from being a software developer to an ML developer. There is a “big step” to take first which requires understanding your data, performing analytics and profiling it, and understanding what’s important about it before implementing an ML process.
“That understanding of the data and the basic statistical and mathematical tools to understand it is a necessary ingredient to getting into ML,” said Benson. “This is an important point that should not be overlooked.”
# 3 | Part of the software stack
While there is indeed a big step to take between approaches to development, Benson reminds us that ML is just “another way to create software”.
When creating a basic app, for example, you will write code to take the input and actualize it, such as adding data to a database or to show a message on a screen. Machine learning is taking an input generated by users or machines, and presenting it to a learning model or algorithm which then returns an answer.
“That’s exactly what conventional software does,” says Benson. “View ML as part of the software stack. It’s a different way to construct software but at the end of the day it’s software that you’re going to integrate and combine with all traditional approaches to development.”
# 4 | Pick your ML conquests
“There’s almost too much information available now, so you want to be judicious into what you commit your time to,” says Benson. “You can find yourself chasing article after article, or resource after resource.”
Benson suggests picking a specific environment or library of code to focus your endeavors. “Python is the dominant language in data science nowadays, but even in that world there are multiple libraries,” said Benson. “I would pick one to work with and try to put some blinders up against the other noise.”
Meanwhile, don’t get bogged down with “advanced stuff”, such as deep learning. There are older, but very useful, algorithms available, as well as hundreds of sources for public datasets.
“I would stick to some of the basics, like linear regression and decision trees— which are incredibly powerful and can solve lots of business problems,” said Benson. “They’re not going to recognize cats in pictures, but they can very effectively make predictions about certain types of data.”
18 July 2019