Наука о данных означает что-то свое для каждого и в настоящее время является скорее маркетинговым термином, чем описанием работы. Тем не менее, из того, что я видел, начинает появляться определенное определение для него и связанных с ним дисциплин, поэтому я хотел записать свое восприятие.

  • Аналитика данных. Практика извлечения информации, тенденций и закономерностей из данных без передового машинного обучения или статистических методов. Вы должны обладать хорошими знаниями предметной области для рассматриваемого бизнеса и способностью представлять производные идеи таким образом, чтобы потребители, не являющиеся техническими специалистами, могли их понять. Они могут применять некоторые готовые инструменты машинного обучения и статистики, но не должны понимать их технические аспекты. Технические навыки включают инструменты SQL, Excel и BI, хотя полезно знать язык сценариев (Python, R и т. д.).
  • Наука о данных. Практика извлечения информации, тенденций и закономерностей из данных с помощью передовых методов машинного обучения или статистических методов. Вам по-прежнему необходимо иметь хорошее знание предметной области и способность представлять идеи в доступной форме. В некоторых случаях вы будете создавать непроизводственные модели машинного обучения, которые в конечном итоге будут развернуты кем-то другим. В других случаях вы будете просто строить модели для анализа прошлого без конечной цели превратить их в компоненты производства. Математические знания рассматриваемых моделей могут потребоваться или не потребоваться в зависимости от конкретной роли и компании. Как показывает опыт, чем больше функция Data Science в компании, тем большее значение имеет математика, поскольку низко висящие плоды, которые не требуют ее, уже сорваны. Технические навыки включают SQL, Python/R и различные библиотеки машинного обучения.
  • Инженеры машинного обучения. Это люди, создающие системы машинного обучения, которые работают в производственной среде, улучшаются со временем и с которыми взаимодействуют пользователи. Запугивающее знание математики, лежащей в основе моделей, обычно не требуется, однако в более крупных масштабах необходимо достаточное понимание численной оптимизации и проблем численных вычислений. Инженеры по машинному обучению могут выполнять сквозную работу по построению модели или просто реализовывать модель, разработанную специалистом по данным. Технические навыки включают разработку систем и программного обеспечения с акцентом на доступ к данным и, в зависимости от компании, оптимизацию численных вычислений. Это означает знание SQL, NoSQL, различных библиотек машинного обучения и языков программирования без сценариев (Python, Scala, Java и т. д.).
  • Инженерия данных.Данные должны каким-то образом передаваться, и именно инженеры данных управляют процессом и создают инфраструктуру, которую используют все остальные. Им не нужно знать машинное обучение помимо требований, которые оно предъявляет к инфраструктуре данных, но им нужно понимать тонкости потоков данных. В некоторых случаях они могут работать почти строго в SQL, создавая пакетную логику ETL, в то время как в других случаях они могут писать сложную потоковую логику на таком языке, как Scala. В результате технические навыки могут различаться в зависимости от технологий SQL, NoSQL, больших данных и знаний ETL, а также разработки программного обеспечения. Среди инструментов для работы с большими данными могут быть Hadoop, Spark, Kafka, RabbitMQ и их проприетарные собратья.
  • Бэкенд-инжиниринг.Бэкэнд-инжиниринг охватывает системы, отвечающие на запросы пользователей, включая написание уровня API, аутентификацию, микросервисы и т. д. В определенном смысле они тоже управляют потоком данных, особенно в микросервисной архитектуре, поэтому грань между ними и инженерами данных иногда может быть размытой. Инженеры по машинному обучению углубляются в эту область в том смысле, что им необходимо предоставлять модели, которые они развертывают, другим службам, однако они не являются мастерами в этом. Технические навыки включают SQL, NoSQL, системную инженерию и разработку программного обеспечения.
  • DevOps: отвечает за базовую инфраструктуру, такую ​​как серверы, базы данных, балансировку нагрузки и CI/CD. В некоторых компаниях они больше ориентированы на инженеров, в то время как в других они больше ориентированы на системного администратора. Если бы они были больше сосредоточены на разработке, их можно было бы назвать инженерами по надежности сайта, и они тратили бы больше своего времени на внедрение программных решений, а не на операционные задачи. В небольших компаниях эта роль может быть возложена на остальных инженеров. Технические навыки включают системную инженерию и написание сценариев (Python, Bash, Terraform и т. д.).

Дайте мне знать, что вы думаете об этих описаниях.

Первоначально опубликовано на mindfulmachines.io Марцином Мейраном.