مهندس داده و دانشمند داده: تفاوت چیست؟

حرفه های دانشمند داده و مهندس داده اغلب با هم اشتباه گرفته می شوند. هر شرکتی ویژگی های خاص خود را برای کار با داده ها، اهداف مختلف برای تجزیه و تحلیل آنها و ایده متفاوتی در مورد اینکه کدام متخصص باید با کدام بخش از کار سر و کار داشته باشد، دارد، بنابراین هر کدام الزامات خاص خود را دارند. 

بیایید بفهمیم که تفاوت بین این متخصصان چیست، چه مشکلات تجاری را حل می کنند، چه مهارت هایی دارند و چقدر درآمد دارند. معلوم شد که مطالب زیاد است، بنابراین ما آن را به دو نشریه تقسیم کردیم.

در مقاله اول، النا گراسیموا، رئیس دانشکده "علم داده و تجزیه و تحلیلدر Netology، تفاوت بین دانشمند داده و مهندس داده چیست و با چه ابزارهایی کار می کنند.

چگونه نقش مهندسان و دانشمندان متفاوت است

مهندس داده متخصصی است که از یک طرف زیرساخت داده ها را توسعه می دهد، آزمایش می کند و نگهداری می کند: پایگاه های داده، ذخیره سازی و سیستم های پردازش انبوه. از سوی دیگر، این کسی است که داده ها را برای استفاده توسط تحلیلگران و دانشمندان داده تمیز و "شانه" می کند، یعنی خطوط لوله پردازش داده را ایجاد می کند.

Data Scientist با استفاده از الگوریتم‌های یادگیری ماشین و شبکه‌های عصبی، مدل‌های پیش‌بینی‌کننده (و دیگر) را ایجاد و آموزش می‌دهد و به کسب‌وکارها کمک می‌کند الگوهای پنهان را پیدا کنند، پیشرفت‌ها را پیش‌بینی کنند و فرآیندهای کلیدی کسب‌وکار را بهینه کنند.

تفاوت اصلی بین یک دانشمند داده و یک مهندس داده این است که آنها معمولاً اهداف متفاوتی دارند. هر دو کار می کنند تا اطمینان حاصل شود که داده ها در دسترس و با کیفیت هستند. اما یک دانشمند داده پاسخ سؤالات خود را پیدا می کند و فرضیه ها را در یک اکوسیستم داده (مثلاً بر اساس Hadoop) آزمایش می کند و یک مهندس داده خط لوله ای را برای سرویس دهی به الگوریتم یادگیری ماشینی که توسط یک دانشمند داده در یک خوشه Spark در همان کلاستر نوشته شده است ایجاد می کند. زیست بوم. 

یک مهندس داده با کار به عنوان بخشی از یک تیم برای یک کسب و کار ارزش به ارمغان می آورد. وظیفه آن این است که به عنوان یک پیوند مهم بین شرکت کنندگان مختلف عمل کند: از توسعه دهندگان تا مصرف کنندگان تجاری گزارش، و افزایش بهره وری تحلیلگران، از بازاریابی و محصول گرفته تا BI. 

برعکس، یک دانشمند داده، در استراتژی شرکت و استخراج بینش، تصمیم گیری، پیاده سازی الگوریتم های اتوماسیون، مدل سازی و تولید ارزش از داده ها مشارکت فعال دارد.
مهندس داده و دانشمند داده: تفاوت چیست؟

کار با داده‌ها تابع اصل GIGO (زباله در - زباله‌ها) است: اگر تحلیل‌گران و دانشمندان داده با داده‌های آماده نشده و بالقوه نادرست برخورد کنند، نتایج حتی با استفاده از پیچیده‌ترین الگوریتم‌های تحلیل نادرست خواهند بود. 

مهندسان داده این مشکل را با ایجاد خطوط لوله برای پردازش، تمیز کردن و تبدیل داده ها حل می کنند و به دانشمندان داده اجازه می دهند با داده های با کیفیت بالا کار کنند. 

ابزارهای زیادی در بازار برای کار با داده ها وجود دارد که هر مرحله را پوشش می دهد: از ظاهر داده ها تا خروجی ها تا داشبورد برای هیئت مدیره. و مهم است که تصمیم به استفاده از آنها توسط یک مهندس گرفته شود - نه به این دلیل که مد است، بلکه به این دلیل که او واقعاً به کار سایر شرکت کنندگان در این روند کمک خواهد کرد. 

به طور متعارف: اگر یک شرکت نیاز به برقراری ارتباط بین BI و ETL داشته باشد - بارگذاری داده ها و به روز رسانی گزارش ها، در اینجا یک پایه قدیمی وجود دارد که یک مهندس داده باید با آن مقابله کند (اگر یک معمار نیز در تیم وجود داشته باشد خوب است).

مسئولیت های یک مهندس داده

  • توسعه، ساخت و نگهداری زیرساخت های پردازش داده ها.
  • رسیدگی به خطاها و ایجاد خطوط لوله پردازش داده قابل اعتماد.
  • آوردن داده های بدون ساختار از منابع مختلف پویا به شکل لازم برای کار تحلیلگران.
  • ارائه توصیه هایی برای بهبود ثبات و کیفیت داده ها.
  • ارائه و حفظ معماری داده مورد استفاده توسط دانشمندان داده و تحلیلگران داده.
  • داده ها را به طور مداوم و کارآمد در یک خوشه توزیع شده از ده ها یا صدها سرور پردازش و ذخیره کنید.
  • معاوضه های فنی ابزارها را برای ایجاد معماری های ساده اما قوی که می توانند از اختلال جان سالم به در ببرند، ارزیابی کنید.
  • کنترل و پشتیبانی جریان داده ها و سیستم های مرتبط (تنظیم نظارت و هشدار).

تخصص دیگری در مسیر مهندس داده وجود دارد - مهندس ML. به طور خلاصه، این مهندسان در آوردن مدل های یادگیری ماشین به پیاده سازی و استفاده صنعتی تخصص دارند. اغلب، یک مدل دریافت شده از یک دانشمند داده بخشی از یک مطالعه است و ممکن است در شرایط جنگی کار نکند.

مسئولیت های یک دانشمند داده

  • استخراج ویژگی‌ها از داده‌ها برای اعمال الگوریتم‌های یادگیری ماشین.
  • استفاده از ابزارهای مختلف یادگیری ماشین برای پیش‌بینی و طبقه‌بندی الگوها در داده‌ها.
  • بهبود عملکرد و دقت الگوریتم های یادگیری ماشین با تنظیم دقیق و بهینه سازی الگوریتم ها.
  • شکل گیری فرضیه های "قوی" مطابق با استراتژی شرکت که نیاز به آزمون دارند.

هم مهندس داده و هم دانشمند داده سهم ملموسی در توسعه فرهنگ داده دارند که از طریق آن یک شرکت می تواند سود بیشتری ایجاد کند یا هزینه ها را کاهش دهد.

مهندسان و دانشمندان با چه زبان ها و ابزارهایی کار می کنند؟

امروز، انتظارات از دانشمندان داده تغییر کرده است. پیش از این، مهندسان پرس و جوهای بزرگ SQL را جمع آوری می کردند، MapReduce را به صورت دستی می نوشتند و داده ها را با استفاده از ابزارهایی مانند Informatica ETL، Pentaho ETL، Talend پردازش می کردند. 

در سال 2020، یک متخصص نمی تواند بدون دانش پایتون و ابزارهای محاسبه مدرن (به عنوان مثال، جریان هوا)، درک اصول کار با سیستم عامل های ابری (استفاده از آنها برای صرفه جویی در سخت افزار، در عین حال رعایت اصول امنیتی) انجام دهد.

SAP، Oracle، MySQL، Redis ابزارهای سنتی برای مهندسان داده در شرکت های بزرگ هستند. آنها خوب هستند، اما هزینه مجوزها آنقدر بالاست که یادگیری کار با آنها فقط در پروژه های صنعتی معنا پیدا می کند. در عین حال، یک جایگزین رایگان در قالب Postgres وجود دارد - رایگان و مناسب است نه تنها برای آموزش. 

مهندس داده و دانشمند داده: تفاوت چیست؟
از لحاظ تاریخی، درخواست‌های جاوا و اسکالا اغلب یافت می‌شوند، اگرچه با توسعه فناوری‌ها و رویکردها، این زبان‌ها در پس‌زمینه محو می‌شوند.

با این حال، BigData: Hadoop، Spark و بقیه باغ وحش دیگر پیش نیاز یک مهندس داده نیست، بلکه نوعی ابزار برای حل مشکلاتی است که با ETL سنتی قابل حل نیست. 

این روند خدماتی برای استفاده از ابزارها بدون دانش زبانی است که در آن نوشته شده است (به عنوان مثال Hadoop بدون دانش جاوا) و همچنین ارائه خدمات آماده برای پردازش داده های جریانی (تشخیص صدا یا تشخیص تصویر در ویدیو). ).

راه حل های صنعتی از SAS و SPSS محبوب هستند، در حالی که Tableau، Rapidminer، Stata و Julia نیز به طور گسترده توسط دانشمندان داده برای کارهای محلی استفاده می شوند.

مهندس داده و دانشمند داده: تفاوت چیست؟
توانایی ساخت خطوط لوله تنها چند سال پیش برای تحلیلگران و دانشمندان داده ظاهر شد: به عنوان مثال، ارسال داده ها به یک ذخیره سازی مبتنی بر PostgreSQL با استفاده از اسکریپت های نسبتاً ساده امکان پذیر است. 

به طور معمول، استفاده از خطوط لوله و ساختارهای داده یکپارچه بر عهده مهندسان داده است. اما امروزه، گرایش به متخصصان T شکل با شایستگی‌های گسترده در زمینه‌های مرتبط، قوی‌تر از همیشه است، زیرا ابزارها دائماً در حال ساده‌سازی هستند.

چرا مهندس داده و دانشمند داده با هم کار می کنند؟

با همکاری نزدیک با مهندسان، دانشمندان داده می توانند بر روی جنبه تحقیقاتی تمرکز کنند و الگوریتم های یادگیری ماشینی آماده تولید را ایجاد کنند.
و مهندسان باید بر مقیاس‌پذیری، استفاده مجدد از داده‌ها و اطمینان از مطابقت خطوط لوله ورودی و خروجی داده در هر پروژه جداگانه با معماری جهانی تمرکز کنند.

این تفکیک مسئولیت‌ها، هماهنگی بین تیم‌هایی را که روی پروژه‌های مختلف یادگیری ماشین کار می‌کنند، تضمین می‌کند. 

همکاری به ایجاد محصولات جدید به طور موثر کمک می کند. سرعت و کیفیت از طریق تعادل بین ایجاد یک سرویس برای همه (ذخیره سازی جهانی یا ادغام داشبوردها) و اجرای هر نیاز یا پروژه خاص (خط لوله بسیار تخصصی، اتصال منابع خارجی) به دست می آید. 

همکاری نزدیک با دانشمندان و تحلیلگران داده به مهندسان کمک می کند تا مهارت های تحلیلی و تحقیقاتی را برای نوشتن کد بهتر توسعه دهند. اشتراک دانش بین کاربران انبار و دریاچه داده بهبود می یابد، پروژه ها را چابک تر می کند و نتایج بلندمدت پایدارتری ارائه می دهد.

در شرکت هایی که هدفشان توسعه فرهنگ کار با داده ها و ایجاد فرآیندهای تجاری بر اساس آنهاست، Data Scientist و Data Engineer مکمل یکدیگر بوده و یک سیستم تجزیه و تحلیل کامل داده ایجاد می کنند. 

در مقاله بعدی در مورد اینکه یک مهندس داده و دانشمندان داده باید چه نوع تحصیلاتی داشته باشند، چه مهارت هایی برای توسعه نیاز دارند و چگونه بازار کار می کند صحبت خواهیم کرد.

از ویراستاران Netology

اگر به دنبال حرفه مهندس داده یا دانشمند داده هستید، از شما دعوت می کنیم برنامه های دوره ما را مطالعه کنید:

منبع: www.habr.com

اضافه کردن نظر