Recent years have brought an explosion of algorithms, models and software libraries for doing data science that allow unprecedented possibilities for solving problems. But providing a data science service as a consultant or a company involves more than just tools. In this talk, I will share the most useful lessons that I learned while working at a company providing these services.
Providing consulting services or custom machine learning based tools involves many elements beyond choosing the right models, analysis methods and tools. While working at Machinalis, we learned a set of ideas that help us to make our projects successful, which have more to do with the human and engineering side of the service than the science and programming.
The goal of the talk is to share that experience with people that are providing or planning to provide services based on data science. It presents some tips and explains how they work and the kind of problems that they avoid. The content of the talk is divided into two main areas:
Tips related to team collaboration. These include aspects to consider regarding how and what to communicate between different roles in the team (data scientists, developers, project managers, people doing labeling or entry, etc.), and how to make certain decisions that the team faces (choosing tools, knowing when to do a flimsy proof of concept vs when to create robust products using best practices, etc.).
Tips related to collaboration with clients and users. There are different kinds of clients with varied levels of knowledge regarding the possibilities and limits of data science, and each kind requires an appropriate way of communicating these issues. It is also important to establish clarity about mutual expectations, about what is guaranteed and what is experimental, about how your work will be evaluated, and about how you will integrate with different stakeholders in the client's organization. This alignment with your client is a critical element of a successful service.