بالاخره یک متخصص DevOps باید برنامه نویسی بداند یا نه؟ پاسخی صریح به یک سوال پرتکرار و مهم

Is there any Dev in DevOps?سلام :)شاید باورتون نشه ولی پاسخ به این سوال که «آیا کار های برنامه نویسی در حوزه ی کاری مختصص دواپس داریم یا نه» نه تنها دغدغه ی خودم بوده بلکه بار ها و بار ها با این سوال مهم در موقعیت های مختلف روبرو شدم. در این نوشته می خواهم به طور دقیق این موضوع را با هم بررسی کنیم و بدون حاشیه رفتن و اینکه بگیم بستگی به شرکت ات داره، مشخص کنیم که عنوان شغلی مختصص دواپس باید برنامه نویسی بداند با خیر. به طور خلاصه، در ابتدا آخرین مسیر یادگیری های موجود در مورد دواپس را با هم مرور می کنیم، سپس مقداری در مورد جزئیات کار روزمره و تجربیات مون بحث می کنیم. در آخر به این نتیجه خواهیم رسید که جواب ما به این سوال، با قاطعیت بله است.مسیر یادگیری دواپسسایت roadmap.sh https://roadmap.sh/devops به گفته ی این سایت، اولین مرحله ی شروع به مختصص دواپس شدن، یادگیری یک زبان برنامه نویسیه. زبان برنامه نویسی پیشنهادی اش هم، زبان Go هست.اولین قدم برای یادگیری دواپس اینه که یک زبان برنامه نویسی یاد بگیرید و توانایی کد نویسی داشته باشیدسایت geeksforgeeks https://www.geeksforgeeks.org/how-to-become-a-devops-engineer-a-complete-roadmap/ مقاله ی منتشر شده در این سایت معروف نیز اولین مهارت مهم در حوزه ی کاری دواپس را دانش برنامه نویسی می داند. ضمنا زبان هایی که پیشنهاد می دهد Python ، Perl و Ruby است که نقش مهمی را در راه اندازی و نگهداری ci/cd ایفا می کنند. حتی پا را ازین فراتر گذاشته به دانش کار با گیت و آشنایی با چرخه ی توسعه ی نرم افزار SDLC نیز اشاره می کند.رودمپ دواپس آقای احمد باقری (میتینگ های ساها دواپس) https://github.com/ahmadalibagheri/devops-roadmap یادگیری زبان برنامه نویسی را به عنوان یه منفعت مهم در نظر می گیرد و اینکه یک مهندس دواپس خوب، حداقل در یک زبان برنامه نویسی محبوب توانایی کد نویسی دارد. پیشنهاد ایشان برای یادگیری، زبان Go و یا Python است.یوتیوبر معروف (کانال Techworld with Nana) و Docker Captain خانم Nana HOME|TechworldwithNanaLearnDevOpstopicseasily|YoutubeTutorials|Courses|DevOpsBootcampandmorenana.com یکی از ویدیو های اخیر خانم Nana ، در خصوص مسیر یادگیری دواپس بوده که در آن به اهمیت آشنایی با فرایند توسعه ی نرم افزار و یادگیری یک زبان اسکریپتی به خصوص Python اشاره کردند.خب تا اینجا با دیدن چند تا رودمپ ، می شه یه حسی پیدا کرد که اهمیت جایگاه برنامه نویسی در پروفایل شغلی مهندس دواپس در چه حده و می شه گفت نقش مهمی داره.آنچه که در واقعیت تجربه می کنیمبیاید یک مثال واقعی را بررسی کنیم. فرض کنید کارفرما از شما می خواهد که قابلیتی را در سیستم مانیتورینگ موجود Prometheus Alert Manager پیاده سازی کنید که در صورت پایین آمدن سایت و چند آدرس دیگر، به چند شماره ی مشخص تماس تلفنی بگیرد. جهت اینکار api سرویس دهنده نیز آماده است (یعنی اگر شماره تلفن و متن را به آن سرویس ارسال کنید، تماس می گیرد و اپراتور خودکار آن متن را می خواند). چگونه پیاده سازی کنیم؟ممکنه ابزاری هم پیدا بشه ولی به شخصه راهکار بهینه رو دست به کد شدن و نوشتن یک سرویس کوچک برای ایجاد این integration می دانم. به راحتی می توان ازین دست مثال ها پیدا کرد و حتما به عنوان یک مهندس دواپس به طور روزمره برخورد داشته ایم.در بازار کار، چه در جایگاه مصاحبه شونده باشید و چه در جایگاه مصاحبه کننده، تفاوت برنامه نویس بک اند که وارد حوزه ی دواپس شده است با ادمین سیستم یا شبکه کار که وارد حوزه ی دواپس شده و تجربه ی برنامه نویسی ندارد بسیار مشهود است و این واقعیت را می توان در موارد متعددی دید (البته استثنا هم داریم ولی عموم موارد همینطور بوده) چرا که برنامه نویس بک اند ای که وارد حوزه ی دواپس شده، از چند قدم جلوتر شروع کرده است.