As machine learning grows in popularity, it’s imperative that developers ask the following questions:
- What is machine learning?
- What are the best ways to use machine learning as a developer?
- Are there other areas, outside of development, where you can implement machine learning?
- What is the best way to up-skill with machine learning?
We asked two leading Devs to share their thoughts on the potential impact of machine learning on development teams. We spoke with Daniel Gordon, DevOps Nerd at HotelsCombined.com, and Adrian Ryan, Technical Director at Kalido. We’ll discuss their insights below, but first, let’s quickly define machine learning.
What is Machine Learning?
Machine learning is a type of artificial intelligence (AI). The term was first coined by American computer scientist Arthur Samuel in 1959. Machine learning is built on the idea that machines can learn from input and then adapt responses accordingly.
What are the Current Uses for Machine Learning?
Machine learning is still in the beginning stages of its development, but the future possibilities are endless.
Currently in the experimentation phase, Daniel Gordon and his team at HotelsCombined are exploring the two unique ways to use machine learning. The first is through image classification and tagging (i.e. deciphering what’s in a photo and if it should be classified as a “good photo”).
The second way Gordon’s team uses machine learning is for inventory mapping. In this process, the app recognizes if two pieces of data are the same. Gordon provides an example. “Provider A has a hotel called ‘Fun Hotel’, Provider B has a hotel called ‘The Fun Hotel Pty Ltd’ – these might be the same property with slightly different names, but hopefully with lots of other metadata available, machine learning will be able to tell us that this is in fact the same place.”
Adrian Ryan and his team at Kalido have found real world uses for machine learning. “We use Machine Learning for a number of purposes. Such Algorithms form a fundamental part of our Data Science offering in areas such as predictive modelling and personalisation.”
How Does Machine Learning Impact Your Team?
Ryan shares how machine learning creates a better experience for clients. “Machine Learning presents us with the opportunity to assist clients in understanding their data and customers in ways unavailable to them elsewhere. This has always been part of our offering and technical structure. Our staff growth is not isolated to the Data Science team as we offer end-to-end solutions and strategy so all teams are currently growing.”
For Gordon, the impact is financial. “In our experiments, accuracy is definitely increased vs a manual solution. The biggest impact is reduction in manual labour– we are potentially replacing big teams who would do this manually, with cheap, fast machine learning apps.”
Where Can You Implement Machine Learning?
Ryan acknowledges how machine learning can affect client relations. “Data science and machine learning can impact customer journey mapping and consequently content development, for example.”
Gorton has an idea of what he’d like to accomplish with machine learning in the future. “We have plenty of what would be considered ‘classification’ processes that are currently manually done or if not manually done, implemented with some level of fixed logic that we will be looking to experiment with machine learning for to see if we can get better and faster results. The difference will be real time (with machine learning) vs. a delay of five minutes to 24 hours for processing regressively.”
How Can Machine Learning Affect Development Teams?
Ryan acknowledges that machine learning is still new but capable of developing into a robust, decision making solution. “Data Science is still new to concepts of software production development. Moving forward over the next few years, Data Science delivery will learn from software development processes improving speed to deliver and as a result advancements in the science itself will progress.
“Technically, concepts of multiple models working together (Ensemble Algorithms) on data as a best fit solution approach will allow Data Science to produce more contextually reliable outcomes for decision making and automated processing.”
When asked how machine learning can affect the shape of development teams, Gorton shared, “We may need to get heavier in dev with statistics backgrounds, or possibly even pure statisticians. But if there were to be good libraries and frameworks to come out (similar to Tensorflow etc), it may just be regular devs being able to re-skill in said frameworks, which would not really change the hiring landscape greatly.”
What is the Best Way to Up-Skill with Machine Learning?
Gordon shares, “For a general approach, get some knowledge in stats/data analysis. Stuff like Pluralsight/Udemy is great for this, as well as some basic machine learning style courses.
“Otherwise, probably picking a framework and getting into the code is a good strategy – it depends on how deep you want to go. If you want to write machine learning frameworks from the ground up, you need strong stats knowledge. But using stuff like AWS Rekognition, Google Tensorflow etc just requires to ability to understand the API.”
Adrian Ryan endorses face to face meetings. “I’m an advocate of groups and meetups to grow knowledge and validate interest, locally (Melbourne) Data Science Melbourne Meetup is a good start.”