How Clearwater is growing our machine learning capability throughout the organization
In my last article, I discussed the importance of understanding new technologies in order to stay in the game. Here, I’ll discuss concrete steps we are taking at Clearwater to make sure we stay sharp.
We jumped in with a company-wide education initiative called ML Everywhere.
Why did we focus on “everywhere?” Why make this initiative company-wide? The answer is simple: we expect everyone at Clearwater to work toward solving client problems, and machine learning is an important tool for doing just that. To be effective at applying this tool, we need everyone to know what machine learning (ML) is, how they will interact with it, and what additional skills they will need to wield it. As an organization, this means learning new terminology, new problem-framing techniques, and new problem-solving methodologies. Here’s how our CTO, Warren Barkley, put it in his DevCon keynote presentation:
There is a fundamental difference between what machine learning is, as a technology, and the technology that we’ve traditionally used over time.… It’s not that there’s not code involved, and there’s math, and processing, and data..., but effectively we have to come at it from a very different perspective, and that perspective is one that’s … rooted in statistics, probability... It changes the questions, and how you actually ask the questions, and how you actually get the answers.
- Warren Barkley, CTO, DevCon 2020 Keynote
Across the organization
We focused our training on learning objectives for specific roles. We identified three training groups — product and project managers, software developers, and the rest of the organization. We wanted to be sure to include those in operational and client servicing roles because they have a key role in helping us identify client issues. We want to broaden their imaginations about our problem-solving options. We want them to suggest improvements to the system where machine learning opens new doors. For these teams, we offered optional training on the basics of artificial intelligence and machine learning, with incentives for participation.
Product and project management
Within our product, program, and project management organization, we are focusing on how to plan and execute a successful machine learning project. Going back Warren’s keynote talk, we needed product managers to be able to ask the right machine learning questions. We want project managers to know machine learning terminology to communicate effectively with developers. We expect them to understand the basic phases of a machine learning project, and how timelines and resources for these projects might differ from standard engineering projects. Most importantly, we want to make sure that people in these roles understand when machine learning is an appropriate solution and when it is not. We provided these teams with an online course targeted specifically at these learning objectives.
Our most extensive training plan was directed at our software development teams. We have a highly skilled development team already, but, as Warren’s keynote pointed out, machine learning requires a different perspective. Not only does it require switching from deterministic to probabilistic thinking, but it means using a different language, in more than one sense. Machine learning has its own terminology. Just as in the case of product and project managers, we wanted to provide a common language to describe machine learning topics. Machine learning also favors the use of different programming languages. While most of our codebase is Java, we work on machine learning projects in Python. The structural and syntactic differences between the languages can require some getting-used-to.
For developers, we took a three-step approach:
- We asked everyone in development to take an online course in machine learning. The course we selected included interactive modules and coding exercises to apply the principles covered in the lectures and readings.
- We held a series of “mini-labs.” These were one-day workshops where developers worked in small teams on predefined machine learning projects.'We selected projects where the data and objective were already well-defined. This allowed developers to focus on learning the basics of Python, data cleaning, feature engineering, and model development. At the end of each session, teams presented their results and discoveries to the full development organization.
- We culminated with a half-week hack-a-thon applying machine learning to active Clearwater problems. We opened these “labs” up to the entire organization and invited ideas and participation from all teams. The data science team reviewed project ideas with proposal authors to make sure the project was a good fit for labs and that the data would be accessible. We asked developers who participated in mini-labs to act as team leaders to share what they learned from that experience. At the end of labs, the teams presented their results to the entire organization – including CEO Sandeep Sahai.
Everywhere: The Results
The data science team served as advisors throughout this process – answering questions, troubleshooting, and providing useful code snippets. We were thrilled with the enthusiasm our developers showed in tackling this new technology. It was a lot of fun! In the end we had more than 450 people take online training in machine learning. We had 88 total participants across six mini-lab sessions. Finally, we had 40 folks on 10 teams (spread over three continents!) in our half-week lab session. The data science team is now coordinating with teams to set up next steps. Some of the projects had amazing results that we want to get into action! We’re looking into developing these prototypes and integrating the results to improve the Clearwater system. We’re excited about the future innovations to come from our company-wide effort to grow in the machine learning space.