TLDR
Product developers know what machine learning is, know what it can be used for, have ideas on how to apply it to improve their users’ experience, but they don’t have the right tools to support them.
The Circle of Tool life
Terminology
What is a product developer?
A product developer is a software engineer that builds user facing features. Front-end engineers build features using JavaScript, HTML, CSS, etc. Backend engineers build services that power front-end or native applications. Native engineers build apps users can download, install, and use on their computers or mobile devices.
What is an AI application development tool?
It’s a piece of software that helps a user build and integrate the predictions of a machine learning model into a specific use case or application.
History
Since the dawn of time, humans have created tools to survive, build, and thrive. This feature, along with others, is what sets humans apart from animals. Steve Jobs articulates this well using the condor vs bicycle as an
. In summary, humans build tools to enhance their capabilities or give them new ones.
In software engineering, there have always been specialized roles with exclusive skill sets required to fulfill those responsibilities. These roles include
(aka sysadmin),
(aka DevOps),
,
, and more. The responsibilities of these roles involved creating software, distributing software, maintaining software, etc.
Over time, humans started building tools to empower developers to do more. What was once a specialized skill became an integral part of a developer’s tool kit. Today, we have services like
,
,
, etc to help with systems administration,
and
for DevOps,
and
for data engineering,
for security,
for communications,
for compliance,
for web development, and so many more examples.
Status quo
Machine learning (ML) is ubiquitous in the current world. Many applications use ML behind the scenes. For example, product recommendations can use ML to predict the next best item for you to buy. Another application for ML is ranking search results to surface the most helpful article for you to read.
During my 5 plus years at
, I had the opportunity to work with hundreds of product developers across many different teams. I saw a growing trend: product developers know what ML is, what it can be used for, how they would apply it to improve their users’ experience, but they don’t have the prior training or the right tools to help them get started.
Photo credit: Airbnb (Punta Mita)
Currently, here is the typical high level process from ideation to launching a machine learning model live:
Product developer finds business problem to solve
Data scientist identifies data required to predict the answer to business problem
Product developer writes code to collect required data identified by data scientist
Data scientist prepares data for training
Data scientist builds model and fine tunes it
ML engineer or MLOps engineer deploys the model to an online server
Product developer writes code to integrate model into live product
Product developers are very creative and great at coming up with impactful ideas to improve the business.
Building ML models require collecting the right data that will help make an accurate prediction. Product developers know where different data lives (e.g.
,
,
, etc). If there is any missing data, they know how to write code and collect it using tools like
,
,
, etc.
Product developers are also great at building user-facing features and shipping it live into production. This is why they are the ones responsible for integrating a ML model once it’s ready.
Most solutions involve more than just a single prediction; sometimes, multiple logical procedures are chained together before a model’s prediction can be used. For example, you may check to see if the user is logged in prior to showing them a prediction. Product developers are experts at handling this type of conditional programming and adapting ML models to fit specific business applications.
Need help
Despite all these contributions, product developers today still rely on others to help them with the following:
Identify data required to predict the answer to business problem
Prepare data for training
Build model and fine tune it
Deploy the model to an online server
Future
Current AI tools are built for data scientists, AI researchers, or ML engineers. These tools are built by other data scientists and AI researchers. These tools are tailored towards the existing experts — people who studied it in school or practice it daily in their occupation.
AI tool loves product developers
However, with machine learning becoming more pervasive in our daily lives, data literacy growing amongst product developers, and an explosion of available data, a tool will emerge to equip product developers with accessible AI technology so that they can deliver transformational experiences to their users.
Conclusion
In 2021, the majority of product developers know what machine learning is, know what it can be used for, have ideas on how to apply it to improve their users’ experience, but they don’t have the right tools to support them. We need an AI application development tool to help us build and integrate the predictions of a machine learning model into a specific use case or application. When history repeats itself, there will be a tool that empowers developers to do more through AI; that tool is called
.
Get ahead into the future