Capacitando a Ciência de Dados com a Educação em Engenharia

A educação em engenharia permite que os cientistas de dados interajam melhor com a engenharia e garantam maior qualidade de dados.

Michelle (Guqian) Du em Airbnb Engineering & Data Science Seguir 18 de jan · 8 min ler

Autores: Michelle Du , Yu Guo e Jeff Feng

Nossa nova cozinha no segundo andar de 888 Brannan St.

Desde o lançamento do Data University (Data U) na Airbnb há dois anos, nosso programa de educação de dados fez um progresso significativo em direção à nossa visão abrangente de capacitar cada funcionário a tomar decisões informadas por dados. Até o momento, mais de 400 cursos foram ministrados a milhares de participantes do curso pelos 55 membros voluntários do corpo docente das organizações de Ciência e Engenharia de Dados. O conteúdo ensinado nesses cursos ajudou a fornecer a base para a tomada de decisões com base em dados para inúmeros funcionários em toda a organização.

Embora a Data University tenha tido um impacto significativo nas habilidades de dados para nossa força de trabalho e esteja estabelecendo uma cultura baseada em dados, identificamos a necessidade de treinamentos específicos da equipe, além das ofertas do Data U que atendem às necessidades exclusivas de funções específicas. unidades de negócios. No mês passado, compartilhamos nossos treinamentos " Data U Intensive " com nossa Unidade de Negócios de Experiências e a Equipe de Políticas Públicas. Neste post, compartilhamos nossos aprendizados aprimorando nossa Equipe de Ciência de Dados com habilidades de engenharia para aumentar sua eficácia geral. Ele recebeu um ótimo feedback internamente e gostaríamos de compartilhar nossos aprendizados com a comunidade em geral.

Por que equipar cientistas de dados com educação em engenharia?

Os cientistas de dados que trabalham na indústria de tecnologia de consumo estão operando em um ambiente no qual produtos móveis / web e infraestrutura de dados estão se tornando cada vez mais sofisticados. Como resultado, tornou-se quase impossível realizar a função de ciência de dados de forma eficaz, sem ser versado em certos aspectos da engenharia.

A Equipe de Ciência de Dados da Airbnb acredita que equipar a equipe com a perspectiva da engenharia é tremendamente benéfico para a produção de dados de alta qualidade, além de melhorar a forma como registramos e realizamos experimentos. O gráfico abaixo, na Data Science Hierarchy of Needs, demonstra de maneira vívida a importância de uma base sólida de engenharia de dados para a criação de sistemas eficazes de métricas, análises, experimentação e aprendizado de máquina.

Figura 1: A pirâmide de dados precisa ilustrada por Monica Rogati

A solução que introduzimos é o programa Engineering Empowered Data Science (EEDS). O objetivo do programa é equipar os cientistas de dados com conhecimentos de engenharia específicos para o projeto de sistemas de dados, melhoria da qualidade de dados e produtividade. Nós projetamos o programa EEDS na esperança de abordar os desafios abaixo:

1. Conhecimento sobre a plataforma de dados do Airbnb é compartimentalizado. Tínhamos uma documentação ou um treinamento limitado de ponta a ponta sobre como os dados são gerados, armazenados e computados na plataforma:

  • A falta de contexto para os cientistas de dados dificulta a comunicação de feedback quando ocorrem incidentes ou ao compartilhar solicitações de recursos sobre a plataforma de dados
  • Lacunas no conhecimento de engenharia geralmente resultam em processamento ineficiente de dados, uso inadequado de recursos de computação, bem como análise problemática ou resultados de modelos
  • A compreensão incompleta dos dados significa que uma quantidade significativa de tempo é gasta na investigação ad hoc pelos cientistas de dados

2. Os novos cientistas de dados geralmente não possuem conhecimento suficiente do sistema de engenharia do Airbnb para prever e evitar problemas no registro , mesmo que tenham muita experiência com problemas de dados de downstream.

3. Documentação e tutoriais para pacotes e ferramentas internas são, por vezes, limitados / em silos. Criamos muita alavancagem ao automatizar tarefas comuns em pacotes internos como o Airpy (um kit de ferramentas Python para acessar, extrair, manipular e plotar dados de fontes de dados do Airbnb) e Rbnb (uma coleção de funções R e pacotes R que são essenciais para praticar ciência de dados no Airbnb). Mas dicas para criar funções definidas pelo usuário (UDFs), codificar práticas recomendadas e criar um site de demonstração rápida para um produto de dados podem beneficiar um público mais amplo.

4. Não há recursos educacionais de terceiros que se encaixem no ecossistema exclusivo da Airbnb que pudéssemos alavancar diretamente para a engenharia de dados e educação em ciência de dados.

Acreditamos que esses desafios são amplamente aplicáveis em empresas de tecnologia, e sentimos que as soluções e aprendizados que temos por meio do programa EEDS devem ser compartilhados com a comunidade científica de dados mais ampla.

Objetivos de Aprendizagem para o Programa EEDS

Com esses desafios em mente, criamos o programa Engenharia de Dados em Potência para resolver os desafios que enfrentávamos e aprimorar as habilidades de nossos cientistas de dados com conhecimento essencial de engenharia. A aula dura dois dias inteiros com vários objetivos de aprendizado em mente:

  • Capacite os cientistas de dados com uma compreensão mais profunda de todo o sistema de dados , para melhor colaborar com os engenheiros ao diagnosticar os resultados das experiências e implementar produtos de dados.
  • Equipe cientistas de dados para aproveitar a infra-estrutura moderna de registro e como acessar esses dados usando consultas SQL simples.
  • Divulgar as melhores práticas em automação, produtos de dados e ML – Assegure que os cientistas de dados entendam como escrever código simples, legível, de alto desempenho e de fácil manutenção para aumentar a produtividade e a qualidade do código do algoritmo.

Formato EEDS & Conteúdo

O programa de dois dias consiste em uma série de sessões de 30 a 60 minutos no formato de palestras e workshops sobre as plataformas de engenharia da Airbnb, princípios de design e melhores práticas para ciência de dados. Os participantes da ciência de dados adquirem um profundo conhecimento do sistema de dados da Airbnb, como os dados são gerados / armazenados / computados / monitorados, bem como dicas de ferramentas internas de produtividade.

O corpo docente do programa consiste em:

  • Engenheiros e PMs técnicos que são especialistas em infraestrutura de dados, sistemas de dados de ponta a ponta, criação de log, estruturas de computação, monitoramento, detecção de anomalias e sistemas de alerta. Eles vêm principalmente da nossa equipe de engenharia de infra-estrutura.
  • Cientistas de dados que estabeleceram uma sólida compreensão e usam casos de infraestrutura de dados, produtos de dados, aprendizado de máquina ou ferramentas de automação.

O currículo atual abrange 6 áreas principais:

  • Data Systems na Airbnb é um curso intensivo sobre infraestrutura de dados da Airbnb, cobrindo considerações para cientistas de dados. Isso ajuda os cientistas de dados a obter um melhor entendimento de como os dados fluem e onde estão os possíveis pontos de interrupção. Isso também impede que os pipelines de dados entrem em colapso e melhora a comunicação de problemas na plataforma de dados.
  • O Compute Frameworks é uma sessão sobre observabilidade de computação e melhores práticas do Hive. Isso ajuda os cientistas de dados a entender a alocação de recursos de computação, bem como os prós e contras ao escrever consultas em geral no Airbnb.
  • Melhores práticas de registro é uma sessão sobre registro de práticas recomendadas e design de esquema, seguida por demonstrações detalhadas e um workshop prático. Isso ajuda a garantir a qualidade dos dados de sua geração e reduz o esforço de ETL necessário a jusante.
  • Experimentação é uma visão geral do Experimental Reporting Framework (nossa plataforma de experimentação) e como usá-lo para monitorar experimentos. Isso ajuda os cientistas de dados a entender todos os recursos suportados pela estrutura, bem como a fornecer um experimento bem projetado que produz resultados de experimentos confiáveis para melhor apoiar o desenvolvimento de produtos.
  • A detecção de anomalias é uma visão geral da estrutura de detecção de anomalias. Isso ajuda os cientistas de dados a entender como usar nossa estrutura de detecção de anomalia interna na criação de soluções consistentes e escalonáveis para monitorar eventos de anomalia, permitindo que os usuários realizem ações antecipadas quando esses eventos ocorrerem.
  • O Workshop de Produtividade é um workshop prático sobre dicas úteis de ferramentas. Um exemplo é como criar suas próprias funções definidas pelo usuário (UDFs) do Hive em Java e Python. Isso ajuda a melhorar a eficiência dos trabalhos MapReduce derivados do SQL.
  • O ML Tooling Workshop é uma série de workshops práticos sobre a construção de modelos ML usando a plataforma ML do Airbnb, chamada Bighead . O conhecimento de como aproveitar a plataforma e as ferramentas de maneira eficaz e como evitar armadilhas comuns ajuda a capacitar os cientistas de dados com maior produtividade e sucesso ao criar modelos de ML.

Os cursos de Sistemas de Dados no Airbnb e Melhores Práticas de Logging são a base de todo o currículo. Eles são extremamente úteis, pois estabelecem o entendimento básico do ecossistema de dados do Airbnb (Figura 2 abaixo) e como os cientistas de dados podem ajudar a melhorar a qualidade dos dados com as melhores práticas em mente.

Figura 2: Uma ilustração de alto nível da infraestrutura de dados no Airbnb

Conclusões

A partir de hoje, mais de 50 cientistas de dados da Airbnb participaram do treinamento e recebemos ótimos comentários sobre o programa EEDS. Mais de 90% dos estudantes sentiram que foi um uso altamente impactante do seu tempo e que aprenderam algo novo e útil para o seu trabalho diário.

O programa EEDS também criou alavancagem significativa para o Airbnb. Ensinar as melhores práticas em dados e engenharia nos ajudou a garantir alta qualidade de dados com design inicial, ajudando-nos a evitar a correção de problemas. Além disso, o programa fornece conhecimento crítico que permite que a ciência de dados colabore efetivamente com a engenharia. Por último, mas não menos importante, o investimento que fizemos no crescimento dos funcionários e na educação continuada fornece aos nossos cientistas de dados valiosos aprendizados que permanecerão com eles durante toda a carreira.

A Airbnb tem tradição em investir em funcionários e fornecer aprendizado para todos. O programa EEDS é voltado para cientistas de dados e se conecta bem com a nossa iniciativa mais ampla de educação em dados, a Data University . Também enriquece nosso programa de integração de ciência de dados, aprofundando os aspectos técnicos do papel depois que os novos contratados tiveram a chance de experimentar os dados e ferramentas do Airbnb. Os participantes do curso compartilharam que o material os ajudou a criar mais empatia com outras funções, como engenharia de dados, infraestrutura de dados e engenharia de produtos, além de promover uma melhor colaboração interfuncional.

Esperamos que nossos aprendizados ajudem outras organizações a escalar seus esforços internos de educação para capacitar os cientistas de dados a realizar um trabalho ainda maior dentro de um ambiente de tecnologia. O currículo que compartilhamos aqui não apenas fornece recomendações de aprendizado para os cientistas de dados que já estão na indústria, mas também para aqueles que esperam participar. Compreender as habilidades adicionais necessárias para trabalhar como cientista de dados na indústria de tecnologia versus indústrias tradicionais, como estatísticas, pesquisas, etc., ajudará a preencher a lacuna e a incentivar uma maior diversidade em nosso campo. No futuro, a EEDS agora faz parte das ofertas regulares da Data University na Airbnb, e continuaremos a repetir o conteúdo à medida que nossa plataforma e ferramentas evoluírem.

Reconhecimento

Gostaríamos de agradecer especialmente a – Elena Grewal e Ricardo Bion pelo tremendo apoio ao programa; Gurer Kiratli, Lauren Chircus, Gabe Lyons, Reid Andersen, Alice Beard, Varant Zanoyan, Alfredo Luque, Andrew Hoh, Ma Tingting, Jian Chen, Hao Wang, Mihajlo Grbovic, Pai Liu, Cindy Chen, David Dolphin, Jingjing Duan por fazer parte da nossa incrível equipe do corpo docente e por propor e aperfeiçoar continuamente o conteúdo de nossos cursos; Ellen Huynh, por ajudar a organizar o programa com um feedback útil; e toda a equipe de Data Science pelo suporte e feedback. Gostaríamos também de agradecer a Navin Sivanandam, Xiaohan Zeng e Jamie Stober pela gentil ajuda na revisão!