شغل شما چیه؟ دانشمند، مهندس یا تحلیل‌گر داده

این پست ترجمه‌ای ست از یکی از مقالات Medium (یه جایی مث ویرگول خودمون) که می‌تونید لینکش رو در قسمت Refrences (مراجع) پیدا کنید.قراره از چی حرف بزنیم؟احتمالا تا حالا کلمات Data Scientist (دانشمند داده)، Data Analyst (تحلیل‌گر داده) یا Data Engineer (مهندس داده) به گوش‌تون خورده. ولی آیا می‌دونید تفاوت‌شون چیه و برای اینکه بتونید هر کدوم از این عنوان‌های شغلی رو به دست بیارید به چه مهارت‌هایی نیاز دارید؟عکس از UnsplashData is the new oil.داده، نفت دوران ماست. (به زودی می‌فهمیم یعنی چی!)Data scientist, the sexiest job of the 21st century.دانشمند داده، جذاب‌ترین عنوان شغلی در قرن ۲۱ام.Without data analytics, companies are blind and deaf.بدون تحلیل داده، شرکت‌ها نابینا و ناشنوا هستند.علم داده در چند سال اخیر به یکی از جذاب‌ترین تخصص‌ها تبدیل شده، موقعیت‌های شغلی زیادی براش هست، افراد با این عنوان شغلی حقوق بالایی دریافت می‌کنن و در عین حال شغل جذابی هم هست. همه‌ی این موضوعات باعث میشه که افراد زیادی در تلاش باشن تا توی این حرفه برای خودشون جایی دست و پا کنن.چه تازه از دانشگاه فارغ التحصیل شده باشید و چه به دنبال تغییر شغل باشید، یکی از هیجان‌انگیزترین گزینه‌ها، ورود به حوزه داده‌ست.هر چند، باید این اخطار رو بهتون بدم که ورود به این حوزه می‌تونه در ابتدا حسابی گیج کننده باشه. برای همین لازمه که وقت بذارید و در مورد شغل‌های مختلفی که در حوزه داده وجود داره بخونید و یاد بگیرید و بعدش با چشم‌های باز و هوشمندانه انتخاب کنید که کدوم مسیر برای شما مناسب تره؟!نکته‌ی مهم: اگر به دنبال شغلی توی حوزه داده هستید، خیلی سریع به هر عنوان شغلی‌ای که به شکل (فلان + داده) هست، بله نگید. نقش‌ها و مسئولیت‌ها در این حوزه خیلی با چیزی که از دور به نظر می‌رسه تفاوت داره و ممکنه اشتباه انتخاب کرده باشید! پس تا انتهای مقاله رو با دقت بخوونید و بعد برید دنبال یادگیری اون مهارت‌هایی که برای به دست آوردن شغل مورد علاقه‌تون لازمش دارید :)Data EngineerData ArchitectBusiness AnalystData AnalystData ScientistBusiness Intelligence Analyst Data MasterData Guruو خیلی عنوان‌های شغلی دیگه که به داده ربط دارن و اگر شما بدون آشنایی اولیه برید سراغ‌شون ممکنه در نهایت با سرخوردگی از قصدتون برای فعالیت در حوره داده منصرف بشید.خیلی خوب، حالا کمربندهامون رو محکم می‌بندیم چون قراره بریم سفر! و از لحظه‌ای که داده متولد میشه تا وقتی که توی مقصد نهایی‎‌اش بایگانی میشه، همراهش باشیم.سفر دادهوارد یه وبسایت میشیم و یه سری به محصولاتش می‌زنیم، قیمت‌هاشون رو چک می‌کنیم و نظرات خریداران رو می‌خوونیم. هر کدوم از کارهایی که می‌کنیم داده تولید می‌کنن. مثلا اینکه چطوری وارد اون سایت شدید؟آیا توی گوگل جستجو کردید "خرید خروس قندی" و بعد یه وب‌سایت اومد بالا و شما روش کلیک کردید یا اینکه آدرس یه سایتی رو که می‌دونستید خروس قندی می‌فروشه توی Search Bar نوشتید و مستقیما بهش هدایت شدید؟چند دقیقه توی اون سایت موندید؟ چه محصولی رو انتخاب کردید و مبلغ خریدتون چقدر بود؟داده‌ای که جمع‌آوری میشه باید به یه جایی فرستاده بشه برای ذخیره‌سازی، که معمولا یک فضای ابری هست که می تونه هر کدوم از سرویس‌های ابری آمازون، مایکروسافت یا گوگل باشه.عکس از نویسنده (و نه مترجم)تا اینجای کار، داده به اصطلاح به صورت (خیلی) "خام" ذخیره و جمع آوری شده و ممکنه حتی ساختار یافته هم نباشه (Unstructured) - اینکه تفاوتش با داده‌ی ساختار یافته چیه رو شاید توی یک مقاله دیگه صحبتش رو کردیم :) - برای اینکه بشه با این داده کار کرد، لازمه که ذخیره سازی رو روی یک دیتابیس انجام بدیم.دیتابیس‌های مختلفی وجود دارند که شما می‌تونید بر اساس ویژگی‌ها و کاربرد‌ها و توانایی‌هاشون دیتابیس مدنظرتون رو از بین‌شون انتخاب کنید. ممکنه توی این مرحله لازم باشه تمیز کردن داده و تبدیلش (transformation) رو هم انجام بدید. برای مثال ممکنه لازم باشه داده رو به شکل جدولی سر و سامون بدید، داده‌‌ی JSON که شبه ساختار یافته ست رو flat کنید (اگر گیج کننده‌ست ذهن‌تون رو درگیرش نکنید، بعدا در موردش با هم دیگه یاد می‌گیریم) یا حتی صحت سنجی کنید که آیا داده‌تون به درستی تولید شده؟ (که بهش میگیم Data Validation) که یه مثال خیلی خوبش داده‌هایی‌ست که به کمک PyTrends از Google Trends می‌خونیم و غلط غلوط زیاد دارن.به این فرآیند میگیم ETL که مخفف سه تا مرحله‌ی این فرآینده.Extract (from the cloud)Transform (the data)Load (into a database)هدف کلی ما از ETL اینه که داده‌ی تمیز و درست و قابل استفاده رو به دست کسی که لازمش داره برسونیم.عکس از نویسنده (و نه مترجم)حالا که داده فراهمه، دو تا کار هست که می تونیم انجام بدیم، می‌تونیم تحلیلش کنیم و بر اساس خروجی تحلیل‌هامون برای بیزنس‌مون تصمیم‌گیری کنیم (مثلا اگر خروس قندی با مزه پرتقالی بیشترین فروش رو داشته، این ماه بودجه‌ی بیشتری برای خرید مواد اولیه‌اش اختصاص بدیم، یا اگر شکایت‌ها از خروس قندی با مزه طالبی زیاد بوده، بریم ببینیم قضیه چیه؟) یا هم اینکه از این داده استفاده کنیم تا محصولات جدید بسازیم. مثلا پیش بینی کنیم که ماه آینده چقدر خروس قندی قراره بفروشیم؟ یا اینکه افزایش یا کاهش میزان فروش‌مون به چه فاکتورهایی بیشتر وابسته‌ست و به کدوم فاکتورها بستگی کمتری داره؟دو تا مثال دیگه هم بزنم :)از سابقه‌ی مکالمات مشتری‌ها با تیم خدمات پس از فروش استفاده کنیم تا یه Conversation Bot بسازیم.یه تصمیم توصیه‌گر (Recommender System) روی سایت‌مون سوار کنیم که محصولات مشابه رو به مشتری‌هامون پیشنهاد بدهعکس از نویسنده (و نه مترجم)وظایف هر نقشتحلیل‌گر دادهیکی از بزرگترین مصرف کننده‌های داده، تحلیل‌گرهای داده هستن. تعجبی هم نداره، مگه نه؟ :)کار اصلی تحلیل‌گر داده پاسخ دادن به سوالاتی در مورد وضع فعلی بیزنسه. مثلا:الآن چه اتفاقی داره میفته؟دلایل این اتفاق‌ها چیه؟می‌تونی فلان رو بهم نشون بدی؟چیکار باید بکنیم که از اتفاق افتادن بهمان جلوگیری کنیم؟ یا بر عکس، باعث شیم اتفاق بیفته؟توی سه سال گذشته چه موضوعی بیشتر سر زبون‌ها (Trend) بوده؟آیا داریم راه درست رو میریم؟ (مثلا قیمت محصول‌مون در مقایسه با رقبا منطقیه؟)حالا بیاید یه نگاه دوباره به داده بندازیم، داده، نتیجه‌ی اتفاقیه که در گذشته اتفاق افتاده. یک تصمیم داده محور، یعنی ما با نگاه کردن به اتفاقاتی که در گذشته افتادن، نتیجه‌شون رو تفسیر می‌کنیم و گام‌های بعدی‌مون رو با توجه به اونها برمی‌داریم. کار یک تحلیل‌گر داده شامل سه قسمت اصلی میشه:اول: درک مشکلات بیزنس و پرسیدن سوالات درستدوم: پیدا کردن پاسخ سوالاتی که پرسیده میشه به کمک داده و علاوه بر اون، بیشتر شناختن داده(شاید داده برای سوالی که ما هیچ وقت نپرسیدیم پاسخ خوبی داره!)سوم: برقراری ارتباط؛ که این یعنی ساخت داشبوردهایی با بصری سازی‌ (Visualisation) های مناسب و توضیح دادن اونها به شکلی ساده و روان برای افراد غیر فنیمهارت‌های لازم:اول، SQL: یک مهارت کلیدی برای هر کسی که می‌خواد در حوزه داده شغلی به دست بیاره.دوم، بصری سازی داده‌ها: بیشتر از اینکه ابزاری که استفاده می‌کنید مهم باشه، مهمه که راه درست رو برای مصور کردن داده‌تون استفاده کنید. بیشتر شرکت‌ها از ابزارهای Business Intelligence نظیر Power BI, Tableau, Looker, Qlik استفاده می‌کنن (توی ایران عمدتا همون Power BI رو آشنایی داشته باشید کافیه - مترجم) سوم، دانش میدانی: یکی از کلیدی ترین مهارت ها برای کسی که تحلیل داده می‌کنه. شما لازمه دانش کافی نسبت به بیزنسی که توش فعالیت دارید داشته باشد تا بتونید سوالات درست بپرسید، به سوالات‌تون پاسخ درست بدید و توی تصمیم گیری‌ها کمک کنید.دانشمند دادهیکی دیگه از مصرف‌کننده‌های عمده‌ی داده، دانشمندان داده هستن. به جای پاسخ دادن به سوالات در مورد وضع فعلی، دانشمندان داده سعی می کنن که الگوهایی رو در داده پیدا کنند که به کمک اونها به سوالاتی در مورد وضع آینده پاسخ بدن. این یعنی پیش بینی :)این تکنیک در واقع خیلی وقته که وجود داره و شما هم تا حالا بارها اسمش رو شنیدید، درسته، آمار!یادگیری ماشین و یادگیری عمیق دو شیوه‌ی بسیار محبوب برای استفاده از توان کامپیوترها برای پیدا کردن الگو توی داده هاست.دانشمندای داده، بر اساس این الگوها محصولاتی رو هم تولید می‌کنن. مثلا یک سیستم توصیه گر پیش بینی می کنه که شما از چه چیزی ممکنه خوش‌تون بیاد، یک سیستم رتبه بندی این علایق رو بر اساس میزان محبوب بودن‌شون اولویت بندی می‌کنه و یه Conversation Bot بر اساس تحلیلی که از جمله طرف مقابل می‌کنه، پاسخ مناسبش رو تولید می‌کنه.دانشمندان داده این کار رو نه برای اینکه به تصمیم گیرنده‌های اصلی بیزنس کمک کنند که تصمیم بگیرند، بلکه برای اینکه مشکلات بیزنس رو حل کنند انجام میدن (مثلا فرض کنید به دلیل تقاضای بالای مشتری‌ها برای خدمات پس از فروش، اپراتور پاسخگویی کم بیاریم. حالا چند تا ربات هوشمند رو وارد سیستم می‌کنیم تا پاسخگوی مشتری‌ها باشن)بهترین راه برای توصیف یک دانشمند داده اینه: " کسی که از داده برای حل مشکلات شرکت استفاده می‌کنه."و این می‌تونه بسته به سایز شرکت، هر چیزی باشه. توی شرکت‌های کوچیک‌تر شما ممکنه یک دانشمند داده رو ببینید که وظایف یک تحلیل‌گر و البته مهندس داده رو هم انجام میده.توی شرکت‌های بزرگ ولی، این نقش‌ها تخصصی ترن.مهارت‌های لازم:اول، SQL: یک مهارت کلیدی برای هر کسی که می‌خواد در حوزه داده شغلی به دست بیاره.دوم، آمار و ریاضیات: باید در آمار استاد بشید، مخصوصا باید تئوری‌هایی که پشت هر کدوم از روش‌های یادگیری ماشین هست رو یاد بگیرید و باهاشون آشنا بشید. علاوه بر اون باید احتمالات هم بدونید. خیلی زیاد پیش میاد که لازم میشه مسئله‌ی پیچیده‌ای رو حل کنید و به این دانش نیاز پیدا خواهید کرد. این قسمت کار، آکادمیک و تئوریه و به همین دلیله که برای فعالیت به عنوان دانشمند داده به مدرک کارشناسی ارشد یا دکتری نیاز پیدا خواهید کردسوم، مهارت‌های برنامه‌نویسی: برای اینکه دانش آماری خودتون رو به کاربرد تبدیل کنید لازمه برنامه نویسی یاد بگیرید. آموزش مدل‌ها، نوشتن الگوریتم‌ها و تولید محصولات دانش بنیان همه و همه توی یک لپتاپ انجام میشن ?علم داده، راه ارتباط علوم کامپیوتر با آماره و در حال حاضر پایتون و R محبوب ترین زبان‌های برنامه‌نویسی موجود توی این زمینه هستن.چهارم، توسعه‌ی نرم افزار: باید مهارت‌های توسعه نرم‌افزار داشته باشید تا بتونید با به اصطلاح Stakeholder های شرکت ارتباط برقرار کنید. تسلط به Git workflow, CI/CD, DevOps و... همگی از مهارت‌های کلیدی برای یک دانشمند داده خواهند بود.مهندس دادهاین همه از داده صحبت کردیم، ولی نپرسیدیم کی این داده رو از لحظه‌ی ایجاد و بعدش توی دیتابیس مدیریت می‌کنه و بعدش در اختیار مصرف کننده‌ها قرار میده؟ پاسخش واضحه. مهندس داده. بدون حضور مهندس داده، داده‌ای برای استفاده نخواهیم داشت. مهندسین داده، داده رو از لحظه‎‌ای که با استفاده‌ی کاربر از محصول ما (وبسایت، اپلیکیشن و...) تولید میشه تا وقتی که توی Cloud ذخیره میشه و بعد از طی کردن فرآیند ETL به دیتابیس منتقل میشه مدیریت می‌کنن.وظایف کلیدی مهندس داده:اول: چطور داده رو از منابع مختلف بخوونیم و بعد از جمع آوری کردن یکپارچه کنیم تا قابل استفاده بشه؟دوم: مطمئن شدن از اینکه فرآیندهایی که برای مدیریت داده استفاده می‌کنیم، بهره‌ور و مفید هستن. (بهینه کردن پارامترهایی مثل محل ذخیره‌سازی داده‌ها، نوع ساختار بندی داده‌ها و...)سوم: مطمئن شدن از اینکه داده‌که توسط تحلیل‌گران و دانشمندان داده استفاده می‌کنن، به روزه، اعتبارسنجی شده‌ست و قابل استفاده‌ست. اگر داده اشتباه باشه، همه تصمیماتی که بر اساس اون گرفته میشه هم اشتباه از آب در میان.مهارت‌های لازم:اول، SQL: یک مهارت کلیدی برای هر کسی که می‌خواد در حوزه داده شغلی به دست بیاره. اما برای مهندس داده این موضوع اساسی‌تر هم هست. مهندس داده لازمه مهارت های DBA یا Database Administration داشته باشه تا بتونه ورودی و خروجی دیتابیس رو تحت نظر داشته باشه. دسترسی افراد مختلف به دیتابیس رو بر اساس نقش اونها در شرکت محدود کنه و مطمئن شه که دیتابیس داره با سرعت خوبی به نیاز مصرف کننده‌ها پاسخ میده.دوم، محاسبات ابری: چون در حال حاضر بیشتر داده‌ها رو روی Cloud ذخیره می‌کنیم، از جمع آوری تا انتقال به دیتابیس و انبارداری داده، همه و همه مهارت‌هایی هستن که مهندس داده باید با اونها حسابی آشنا باشه. سه تا از محبوب ترین تامین کننده‌های سرویس‌های ابریAWS (Amazon)Azure (Microsoft)GCP (Google)هستن که علاوه بر اینها، باید کاربردهای پردازش موازی رو به کمک Hadoop یا Spark یاد بگیرید و بدونید.(کلی چیز جدید توش هست، می‌دونم و سعی می‌کنم که در مورد همشون مقالات خوبی رو پیدا و ترجمه کنم براتون - مترجم)جمع بندی:حالا سعی می‌کنیم تمام این مقاله رو در یک جمله خلاصه کنیم :)Business decisions are driven by data analysts.تحلیل‌گر داده تصمیم‌گیری یک بیزنس رو هدایت می‌کنه.Data scientists solve business problems.مشکلات یک بیزنس رو دانشمند داده حل می‌کنه.Data engineers enable data analysts and scientists to perform their work.مهندسین داده هم به تحلیل‌گران و دانمشندان داده کمک می‌کنن که کارشون رو انجام بدن.عکس از نویسنده (و نه مترجم)با اینکه وضعیت واقعی در شرکت‌های مختلف بسته به اندازه و ساختار سازمانی متفاوته، اما اهداف اصلی هر نقش نباید خیلی دور از اون چیزی باشه که در موردش صحبت کردیم. بعیده که یه تحلیل‌گر داده با AWS سر و کله بزنه و یک مهندس داده رو ببینید که مشغول ساخت داشبورد توی Looker باشه. با این حال، یک دانشمند داده می تونه هر کدوم از این کارا رو انجام بده.ممنونم که تا اینجا با من همراه شدید،اگر مشکلی توی ترجمه وجود داشت یا از نظر فنی چیزی رو اشتباه بیان کرده بودم، ممنون میشم بهم اطلاع بدید تا اصلاحش کنم.منابع و مراجع: https://towardsdatascience.com/data-scientist-vs-data-analyst-vs-data-engineer-1e2514a36d41