دواپس جزو حوزههاییه که اسمش این روزا خیلی سر زبونها افتاده؛ اما دواپس واقعا چیه و چرا تا این حد مهم شده؟ به فرایندهای توسعهی نرمافزار که تمرکز اون روی ارتباط و یکپارچهکردن تیمهای توسعه و عملیات هست، میگن دواپس. احتمالا یه سری از شماها که الان مشغول خوندن این مقاله از کندو هستین، با دواپس تا حدودی آشنایی داشته باشین؛ اما از اونجایی که هیچی از محکمکاری عیب نمیکنه، یه توضیحی دربارهاش میدیم.
بهخاطر توجهی که دواپس به خودش جلب کرده، خیلیها دوست دارن به این حوزه وارد شن. مسئلهی اصلی اینه که مهارت های مهندس دواپس چیه؟ باید چیکار کرد که به یه متخصص حرفهای دواپس تبدیل شد؟ قبل از خوندن این متن، اگر علاقه مند به یادگیری و آشنایی با مباحث دوره آموزش دواپس هستین، از این لینک می تونید دوره های ما در بلاگ کندو رو مشاهده کنید.
دواپس چیست؟
بیاین اول ببینیم که چیزی که داریم ازش حرف میزنیم چیه تا بعدا به مهارت های مهندس دواپس برسیم. تا قبل از نیمههای دهه 2000 میلادی نحوهی کار تیمهای عملیات فناوری اطلاعات، امنیت و همچنین تیم توسعهی نرمافزار خیلی با الان فرق میکرد. اونموقع بعد از اینکه توسعهدهندههای نرمافزار، کدهای نرمافزاری رو مینوشتن، این کدها توسط تیم تضمین کیفیت تست میشدن. در ادامه کدهای تستشده برای استقرار (Deploy) به تیم عملیات فناوری اطلاعات تحویل داده میشدن. آخر سر هم برای اینکه بفهمن این کدهای مستقرشده آسیبپذیر هستن یا نه، اونا رو بررسی میکردن. خب، به نظر شما ایراد این روش چی بود؟
فرض کنین بعد این همه تلاش، یه مشکل یا آسیبی تو روند کار پیش بیاد، به نظرتون چی میشه؟ مشخصا کل روند باید دوباره تکرار بشه و این یعنی اتلاف بیش از حد زمان و هدر دادن مهارت های مهندس دواپس. برای همین از سال 2008 دواپس بوجود اومد؛ مجموعه اقداماتی که با برقراری ارتباط و هماهنگی بین تیمهای مختلف توسعه نرمافزار، خلا ساختار رو پر کرد. جالبه که راجع به کلمهی دواپس (DevOps) هم بدونین.
این واژه در واقع از ترکیب دو کلمهی دیگه تشکیل شده، یعنی توسعه (Development) و عملیات (Operations). همین ترکیب به وضوح نقش یکپارچهکنندگی اونو نشون میده.
متخصص دواپس کیست و چه وظایفی دارد؟
راستی سوال شما این بود که مهارت های مهندس دواپس چیه. شنیدین میگن، نمیشه واسهی یه دکمه، کت دوخت؟ الان هم جریان همینه. یعنی اینکه تا وقتی با مهندس دواپس و وظایفی که به عهده داره آشنا نشین، چطوری قراره مهارت های مهندس دواپس رو بدونین؟ یا حتی چطور میتونین این مهارتها رو برای تبدیلشدن به یه متخصص دواپس کسب کنین؟ خلاصهی کلام اینکه تو این بخش از مقالهی کندو قراره که راجع به متخصص دواپس یه چیزایی یاد بگیرین.
به کسی مهندس دواپس میگن که تو حوزههای توسعه و عملیات مثل کدنویسی، مدیریت زیرساخت، مدیریت سیستم و ابزارهای دواپس علم و مهارت بالایی داره. مهارت های مهندس دواپس فقط تو علم حرفهای اون خلاصه نمیشه. از اونجایی که قصد دواپس برقراری هماهنگی و یکپارچگی بین تیمهای مختلف توسعه و عملیاتیه، متخصصین اون باید مهارتهای ارتباطی یا بینفردی خوبی هم داشته باشن. شاید بشه وظایف مهندس دواپس رو در این موارد خلاصه کرد:
- آگاهی کامل از اهداف و وظایف تیمهای توسعه و عملیات نرم افزار و درک موقعیت
- ارائهی راهکار و یا کمک به برنامهریزی و توسعهی کدنویسی کدهای جدید
- بررسی و ارزیابی امنیت بیلدهای جدید برای شناسایی تهدیدات احتمالی و تضمین کیفیت نرمافزار
- بررسی و نظارت رو عرضهی امکانات یا قابلیتهای قابلتوجه و جدید از بخشهای توسعه و کارکنان برای بهبود کیفیت نرمافزار
تحصیلات مهندس دواپس
داشتن تحصیلات مرتبط با این حوزه هم تو کسب مهارت های مهندس دواپس بیتاثیر نیست. کسی که میخواد یه متخصص دواپس بشه، حداقل باید یه مدرک کارشناسی تو رشتههایی مثل برنامهنویسی، علوم کامپیوتر یا بطور کل حوزههای مرتبط با مهندسی دواپس داشته باشه.
البته اینم باید بگیم که اگه کسی مدرک کارشناسی ارشد داشته باشه، علاوهبر افزایش شانس استخدام، حقوق بیشتری هم میگیره. با این حال صرفا دانشگاه و یه مدرک تحصیلی نمیتونه مهارت، دانش و یا تجربهی شخص رو تعیین کنه. به همین خاطر به کسایی که قصد دارن بهعنوان یه متخصص دواپس کار کنن، توصیه میکنیم که به سراغ دورههای آموزش شبکه، آموزش امنیت شبکه، آموزش میکروتیک و به علاوه کارآموزی برن که تو گسترش اطلاعات جانبی و مهارت های مهندس دواپس به اونها کمک میکنه. گرفتن مدرک یا گواهی این دورهها میتونه برگ برندهای واسه پذیرش بهتر توی مشاغل باشه.
مهارت های مهندس دواپس
خب، بالاخره لحظهای رسید که احتمالا خیلی منتظرش بودین. الان که مهندسهای دواپس رو بیشتر از قبل شناختین، دیگه زمان اینه که از مهارت های مهندس دواپس بگیم. با توجه به کارهایی که یه مهندس دواپس باید انجام بده، راجع به اونا چه فکری میکنین؟ داشتن چه مهارتهایی تو این زمینه مزیت حساب میشه؟ مهمترین مهارت های مهندس دواپس که باعث تمایز اون با بقیه میشه، شامل این موارده:
مهارتهای فنی
اولین مورد از مهارت های مهندس دواپس، مهارتهای فنیه؛ اما چرا؟ کسی که درک درستی از چیزی نداشته باشه، نمیتونه راجع به اون اظهار نظر کنه یا بقیه رو راهنمایی کنه. در نتیجه کسی که عنوان متخصص یا مهندس دواپس رو یدک میکشه، باید با تمامی حوزههای توسعه نرمافزار و کارهایی که میکنن، آشنا باشه. در غیر اینصورت نمیتونه نظارت خوبی داشته باشه و بین تیمهای مختلف هماهنگی ایجاد کنه. حرف ما اینه که مهندسهای دواپس باید تو زمینهی فنی برای خودشون یه پا استاد باشن. از جمله مهارت های مهندس دواپس تو این حوزه میشه به موارد زیر اشاره کرد:
- آشنایی با سیستم عاملها
- برنامهنویسی
- استفاده از فناوری رایانش ابری
- یادگیری اصول و مبانی شبکه و امنیت
- نحوه مدیریت سرور
- اسکریپتنویسی
- توانایی استقرار نرمافزارها
- آشنایی با چرخه ساخت نرمافزارها
مهارت تحلیل و بررسی
فقط داشتن مهارتهای فنی کافی نیست. اگه کسی از علم زیادی برخوردار باشه؛ اما نتونه با شناسایی موقعیت مناسب از اونا استفاده کنه، داشتن اون همه مهارت های مهندس دواپس به هدر میره. پس مهندس دواپس باید یه ذهن تحلیلگر داشته باشه و وضعیت پروژه و شرایط موجود رو درک کنه. فقط در این حالته که میتونه از مشکلات پیشگیری کنه یا تو مواقع لازم راهحل بده. توانایی تحلیل و بررسی یه اصل مهم تو پروسهی عیبیابی توسعهی نرمافزاره.
مهارت حل مسائل
خب، حالا فرض کنین که متخصص دواپس با مهارت تحلیلگری خودش وضعیت رو درک و مشکلاتی رو تو پروژه پیدا کرده. الان دیگه وقت چیه؟ وقت اینه که با ارائهی راهکار مشکل برطرف شه. بدون این مورد از مهارت های مهندس دواپس نمیشه کیفیت نرمافزار رو تضمین کرد. مهندس دواپس با همکاری تیمهای توسعه راهکار ارائه میکنه و هر چقدر فرد تو این توانایی خبره باشه، روند کار سریعتر پیش میره.
مهارتهای مدیریت زمان
همونطورکه خودتون هم میدونین، مسئولیتهای مهندس دواپس خیلی زیاده. اگه کسی تو این حوزه کار کنه که توانایی برنامهریزی یا مدیریت زمان خوبی نداشته باشه، مطمئنا بجای اینکه به پیشرفت پروسهی توسعه نرمافزار کمک کنه، باعث شکست اون میشه. برای همین مدیریت زمان هم جزو مهمترین مهارت های مهندس دواپس به حساب میآد. مدیریت زمان یه فرصت عالی برای اولویتبندی و انجام مسئولیتها به بهترین شکل ممکن ایجاد میکنه.
مهارتهای ارتباطی
آخرین چیزی که باید از مهارت های مهندس دواپس بگیم، مهارت ارتباطی اونه. قبلا هم به این موضوع اشاره کردیم؛ اما اهمیت مهارتهای ارتباطی اونقدر تو روند کار زیاده که نمیشه راحت از کنارش رد شد. مهارت های مهندس دواپس که تا اینجا گفته شد، همگی خیلی مهم هستن؛ ولی بدون داشتن ارتباط مناسب با بقیه نمیشه از تواناییهای دیگه خوب استفاده کرد. علیالخصوص وقتی که کار اون برقراری هماهنگی بین تیمهای مختلفه. انتقال درست اطلاعات و انجام هر کار دیگهای به قدرت شخص تو نحوهی ارتباط با بقیه بستگی داره.
سخن پایانی
اگه کسی هستین که دوست دارین تو حوزهی دواپس کار کنین، احتمالا با توجه به چیزهایی که تو مقاله مهارت های مهندس دواپس گفته شد، تا حالا متوجه شدین که چقدر کار حساس و مهمیه. پس توصیه ما به شما اینه که مهارت های مهندس دواپس، که بخشی از اونا گفته شد رو کسب کنین. با این کار همه برای کار با شما سر و دست میشکونن و به علاوه حقوقتون هم بیشتر میشه. اگه باز سوال دیگهای دارین، کارشناسهای باتجربهی ما تو کندو با کمال میل دوست دارن که شما رو راهنمایی کنن تا به رویاهاتون برسین.