به چه کسی Full Stack Developer می گویند؟

14 خرداد 1398
Full Stack Developer کیست

Full Stack Developer و نرخ استخدام

این روزها Full Stack Developer یک مقام توسعه با پرستیژ بالا است و کسانی که Full Stack Developer هستند از مزایای بالایی برخوردارند؛ چه بالا بردن پروفایل های کاریشان در وب سایت های استخدام و استخدام شدن باشد، چه کارهای تیمی و دستمزد بالاتر.

موسسه ی indeed.com‌ نتیجه ی تحقیقات خود را در این زمینه منتشر کرده است و مشخص شده است که Full Stack Developerها در دسته ی افراد بسیار ماهر با دستمزد سالانه ی بسیار بالایی هستند:

بهترین شغل ها در آمریکا در سال 2018
بهترین شغل ها در آمریکا در سال 2018

اما آیا تا به حال فکر کرده اید دلیل این همه هیاهو برای این توسعه دهندگان چیست؟

Full Stack Developer کیست؟

در حوزه ی نرم افزار و توسعه ی وب، معمولا دو دسته توسعه دهنده داریم: توسعه دهنده ی front-end که مسئولیت توسعه ی ظاهر برنامه (سمت client) را بر عهده دارد و توسعه دهنده ی back-end که مسئول نوشتن کدهای سمت سرور و کارایی و عملکرد سایت هستند. در این  دسته بندی، دسته ی سومی اضافه می شوند که به آن ها توسعه دهندگان Full Stack می گوییم؛ آن ها هم در سمت front-end و هم back-end تخصص دارند و می توانند هر جا بخواهند کار کنند.

عبارت "full stack" از آنجا آمده که این افراد توانایی کار روی stack های مختلفی را دارند که خود جزئی از تکنولوژی های مختلفند. بنابراین کسی که می تواند بر اساس نیاز روی stack های مختلف در پروژه کار کند یک توسعه دهنده ی full stack است.

نمونه ای از stack های مختلف
نمونه ای از stack های مختلف

تکنولوژی هایی که مورد استفاده ی یک پروژه هستند از یکدیگر متفاوتند و بر اساس فاکتورهایی مانند نیازهای پروژه، بودجه، زمان، پیچیدگی و ... تعیین می شوند. بنابراین برای اینکه یک توسعه دهنده ی full stack به حساب بیاییم نیاز داریم تا با زبان های برنامه نویسی مختلف و تکنولوژی های خاص آشنا باشیم (مثل فریم ورک ها، زبان های PHP و ASP، زبان های HTML و JavaScript، و کار با پایگاه های داده و ....). معمولا گفته می شود که توسعه دهندگان full stack حداقل یک یا دو تکنولوژی از هر دسته ی زیر را می دانند:

  1. زبان های نشانه گذاری - مانند HTML و CSS و ...
  2. زبان های برنامه نویسی - مانند JavaScript و PHP و Python و Java و ...
  3. فریم ورک ها یا کتابخانه ها - مانند Angular و React و Vue و Node.js و Laravel و ...
  4. سیستم های مدیریت محتوا - مانند WordPress و Joomla و Drupal و ...
  5. پایگاه های داده - مانند MySQL و MongoDB و PostgreSQL و ...
  6. سیستم های کنترل ورژن - مانند Github و Gitlab و ...
  7. مسائل مربوط به Deployment - مانند AWS و Google Cloud و Azure و ...

چرا نرخ استخدام توسعه دهندگان full stack بالا است؟

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

به طور مثال معمولا در استارت آپ ها با مشکلات شدید بودجه مواجه هستیم بنابراین استخدام دو تیم جداگانه برای front-end و back-end کار آسانی نیست. چرا زمانی که می توانند یک نفر را به جای یک تیم استخدام کنند چنین کار نکنند؟ درست است که افراد متخصص که در یک زمینه فعالیت کرده اند همیشه بهتر از توسعه دهندگان full stack هستند اما اینجا بودجه است که تعیین کننده ی نحوه ی کار ما است. از طرفی وجود توسعه دهندگان full stack به شرکت اطمینان خاطر می دهد که افرادی با درک بالا و جامع وجود دارند و در صورت بروز مشکل می توانند آن را حل کنند.

از طرفی در شرکت های بزرگ و شناخته شده نیز همین است؛ با اینکه شرکت هایی مثل Amazon و Google در تنگنای اقتصادی قرار ندارند اما باز هم ترجیح می دهند توسعه دهندگان full stack را استخدام کنند. آقای Travis Addair (یکی از توسعه دهندگان سابق نرم افزار در گوگل) در این لینک می گوید:

گوگل تقریبا فقط و فقط از توسعه دهندگان full stack استخدام می کند. اگر عنوان شغلی شما در گوگل Software Engineer (مهندس نرم افزار) باشد، فرض بر این است که شما توانایی کار با MapReduce (ارسال داده های index شده به پایگاه داده) و سرپا نگه داشتن سرورها و نوشتن دستورات پایگاه داده و توسعه ی برنامه ها و وب سایت های دنیای وب  و ... را می دانید!

البته باید نکته ای را بدانیم؛ با اینکه توسعه دهندگان full stack در حال پیشروی هستند اما آن ها متخصص نیستند! در دنیای وب امروزی که تکنولوژی ها مدام بروز می شوند و هر روزه کتابخانه ها و تکنولوژی های جدیدی معرفی می شوند، متخصص شدن در تمام این زمینه ها غیر ممکن است!

بر اساس مقالات و تحقیقات انجام شده توسط موسسه ی indeed.com میانگین درآمد توسعه دهندگان full stack مقدار 111,644 دلار در سال است که این مقدار برای توسعه دهندگان front-end مقدار 108,218 دلار و برای توسعه دهندگان back-end مقدار 125,029 دلار است! این مقدار برای توسعه دهندگان پایتون و جاوا اسکریپت بالاتر نیز می باشد! به طور متوسط توسعه دهندگان python مقدار 125,984 دلار و توسعه دهندگان JavaScript مقدار 127,781 دلار و توسعه دهندگان Ruby مقدار 129,278 دلار درآمد دارند.

درآمد متوسط توسعه دهندگان Back-End
درآمد متوسط توسعه دهندگان Back-End
درآمد متوسط توسعه دهندگان جاوا اسکریپت
درآمد متوسط توسعه دهندگان جاوا اسکریپت
درآمد متوسط توسعه دهندگان زبان پایتون
درآمد متوسط توسعه دهندگان زبان پایتون

کلام آخر

وقتی می گوییم طرف همه کاره است منظور خوبی داریم اما شاید این گفته همیشه درست نباشد. توسعه دهندگان full stack بسیار محبوب هستند و کار خوبی نیز انجام می دهند. آن ها مشکلات پروژه را به آسانی درک می کنند چرا که هم در زمینه ی front-end و هم در زمینه ی back-end کار کرده اند بنابراین مشکلات هر دو زمینه را می دانند و دید و بینش وسیع تری نسبت به بقیه ی تیم دارند اما اگر به دنبال تخصص بسیار بالا در یک زمینه خاص هستید باید از آن ها صرفنظر کنید.

امیدوارم از این مقاله لذت برده باشید.

نویسنده شوید

دیدگاه‌های شما (2 دیدگاه)

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.

PouRiA
10 اردیبهشت 1400
سلام ممنون واقعا کامل :)

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.

بهراد
10 تیر 1398
سلام وقت بخیر ممنونم بابت وب سایت و مقالات عالیتون

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.

امیر زوارمی
11 تیر 1398
سلام دوست عزیز، خوشحالم که مورد توجه شما قرار گرفته

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.