Data scientists are not primarily concerned with software, but poor code quality can quickly place limits on what their models can do. As they repeatedly ingest data, train their models, and analyze the results, they need reliable, reusable, and flexible code. Quality software can empower them with more time to focus on their main areas of expertise.
Reliable, reusable, and flexible — these descriptors are familiar to craft software professionals, and practices like domain-driven design (DDD) and test-driven development (TDD) can empower data scientists to innovate with confidence. The engineers who productionize the models can similarly benefit from a stable codebase that easily integrates with another software environment.
Sergii Volodko has spent more than a decade seeing these tensions and opportunities firsthand, working as both a data engineer for four years and a software engineer ever since. As a principal crafter at 8th Light, he has helped data science and development teams create overlapping practices and processes that produce more dependable solutions. In this presentation, he reflects on his experience and shares some key opportunities for software developers to help their colleagues embrace a new way of crafting their code.