Full Stack چیست و به چه کسی برنامه نویس فول استک میگویند؟

در مقالات قبلی درباره برنامه نویسی، طراحی وب، برنامه نویسی وب و مفاهیم مختلف صحبت کردیم و به سوالات بسیاری پاسخ دادیم. در این مقاله و فایل ویدئویی میخواهیم دربارهی فول استک یا Full Stack صحبت کنیم و یاد بگیریم که Full Stack چیست . در این مقاله با من همراه باشید.
Full Stack چیست
اگر به دنبال یک پاسخ خیلی ساده ولی کاربردی برای سوال Full Stack چیست هستید، فیلم زیر را مشاهده کنید
مقدمه
اگر بخواهید دربارهی Full Stack یا برنامه نویس Full Stack بدانید و به پاسخ سوال Full Stack چیست برسید، خیلی خوب است که قبل از آن، با فرانت اند و بک اند آشنایی داشته باشید. پیشنهاد میکنیم اگر با این مباحث آشنایی ندارید، حتما مقالات زیر را مطالعه کنید.
Front End چیست و به چه کسی برنامه نویس فرانت اند میگویند؟
Back End چیست و به چه کسی برنامه نویس بک اند میگویند؟
بعد از مطالعه و مشاهدهی مطالب بالا، حالا میتوانید ادامهی این مطلب را مطالعه بفرمایید.
همه چیز درباره برنامه نویس فول استک یا Full Stack Developer
همانطور که گفتیم، در دنیای طراحی سایت، گروهی از افراد هستند که چیزهایی که کاربر میبیند را طراحی و کدنویسی میکنند و گروهی دیگر هستند که روی پشت صحنه (Back End) متمرکز میشوند و کدهای سمت سرور را مینویسند.
اما یک گروه دیگر نیز از برنامه نویسان سمت وب وجود دارد که مارا به پاسخ سوال Full Stack چیست میرساند:
در دنیای طراحی و برنامه نویسی وب، اشخاصی هستند که هم طراحی وب را انجام میدهند و هم به برنامه نویسی وب مسلط هستند. در واقع این افراد اشخاصی هستند که به تنهایی میتوانند یک پروژهی تقریبا بزرگ را به پایان برسانند. به این افراد برنامه نویس Full Stack میگویند.
عبارت بالا شاید بتواند یک تعریف خیلی ساده برای برنامه نویس Full Stack باشد. برنامه نویس فول استک، همانطور که از واژهی Full پیداست، همه مهارتهای لازم برای انجام یک پروژه را دارد. به این معنا که:
یک برنامه نویس فول استک، هم میتواند ظاهرهای بسیار خوبی را برای سرویس های آنلاین طراحی کند و هم میتواند برنامه نویس سمت سرور خوبی باشد.
یک مثال برای جواب دادن به سوال Full Stack چیست
همانطور که در مقالات دیگر مثالهای متعددی زدیم، وقتی میخوایم یک سرویس آنلاین را طراحی و برنامه نویسی کنیم، حداقل به ۲ فرد نیاز داریم:
- یک شخص که بتواند ظاهر سایت را با تکنولوژی هایی مثل HTML, CSS, Javascript و… طراحی کند.
- و شخص دومی که بتواند کدهای بک اند و سمت سرور را با زبانی مثل PHP بنویسد و به پایگاه داده (دیتابیس) متصل شود و اطلاعات را از دیتابیس بخواند و اطلاعات جدید را وارد آن کند.
همانطور که گفتیم، هرکدام از این افراد، یک تخصص دارند و برای ساخت یک سایت، به ۲ فرد نیاز داریم.
اما در دنیای طراحی و برنامه نویسی وب اشخاصی هستند که به دلیل تجربه بالا در هرکدام از قسمتهای Front End و Back End، میتوانند هر دو بخش ظاهر و سرور یک وبسایت را طراحی و برنامه نویسی کنند. برنامه نویسان Full Stack کسانی هستند که به تنهایی برای ساخت یک سرویس آنلاین خوب، کافی هستند و میتوانند یک نفره یک پروژهی تقریبا بزرگ را مدیریت کنند.
آیا واقعا میتوان یک برنامه نویس فول استک واقعی بود؟
اما در پاسخ به سوال Full Stack چیست باید حواسمان به این نکته باشد که اگر مثلا ما میتوانیم هم با HTML-CSS کد بزنیم و هم PHP میدانیم، به این معنا نیست که از الان میتوانیم به خودمان یک Full Stack بگوییم.
یک برنامه نویس Full Stack شخصی است که مدت زیادی درگیر طراحی وب بوده است و بعد از آن نیز مدت زیادی خود را درگیر برنامه نویسی وب با یک زبان برنامه نویسی سمت سرور کرده است و به تمام پیچ و خم ها و نکات هر ۲ دنیای طراحی سایت واقف است.
معمولی کسی میتواند یک برنامه نویس Full Stack باشد که چندین سال سابقهی کار در هر ۲ زمینهی طراحی وب و برنامه نویسی وب را داشته باشد و به این راحتیها نمیتوان در همان چند ماه ابتدای برنامه نویس بودمان، به خودمان یک Full Stack Developer بگوییم.
علاوه بر این، در پاسخ به سوال Full Stack چیست ، باید حواسمان به این نکته هم باشد:
یک برنامه نویس Full Stack علاوه از تسلط بر طراحی و برنامه نویسی وب، باید بتواند یک پیدا کنندهی مشکل حرفهای (Debuger) باشد. همچنین باید توانایی بسیار خوبی در مدیریت سرور داشته باشد و همچنین از مدیریت پروژه نیز اندکی بداند. صرفا دانستن HTML,CSS,PHP, MySQL نمیتواند شما را یک برنامه نویس Full Stack کند!
در انتهای این مقاله درباره مهارت های یک Full Stack Developer بیشتر صحبت خواهیم کرد.
آیا Full Stack Developer ها همهکاره و هیچکاره هستند؟
تا الان به یک پاسخ خوبی دربارهی سوال Full Stack چیست رسیدیم. اما الان ممکن است این سوال برایتان پیش بیاید:
آیا میتوان هم طراحی وب را انجام داد و هم به برنامه نویسی آن مسلط شد و در کنار آن کلی مهارت دیگر مثل کار و مدیریت سرور، مدیریت پروژه و… را نیز دارا بود؟
و شاید با خودتان فکر کنید که کسی که همهی این چیزها را میداند، اصطلاحا اقیانوسی به عمق ۱ سانتی متر است و دربارهی هرکدام از این مباحث یک دانش سطحی دارد.
در خصوص پاسخ به این سوال، باید چند نکته را بررسی کنیم:
Full Stack کارها با تجربه هستند
این نکتهی خیلی مهمی است که حتما باید آنرا در نظر بگیریم و حواسمان به آن باشد. برنامه نویسان Full Stack همانطور که گفتیم افراد بسیار با تجربه ای هستند و در هرکدام از زمینه های طراحی وب و برنامه نویسی وب، حداقل مدت ها (شاید چندین سال) فعالیت داشته اند.
بسیار از طراحان و برنامه نویسان وب که حرفهای هستند و عمق داستان را میدانند، از اینکه خودشان را یک برنامه نویس Full Stack بخوانند میترسند و از عنوان کردن اینکه «من یک برنامه نویس Full Stack هستم» ترس دارند. زیرا تبدیل شدن به یک برنامه نویس Full Stack، کاری زمان بر است و حاصل تجربیات چندین سالهی شما خواهد بود.
پس به راحتی و صرفا به دلیل دانستن HTML, CSS, Javascript, PHP, MySQL و… نمیتوانید به خودتان یک برنامه نویس فول استک بگویید. ماجرا خیلی پیچیده تر از این حرفهاست 🙂
اما نهایتا …
در پاسخ به سوال Full Stack چیست ، باید این را بپذیریم که نهایتا هر فرد، بالاخره در یکی از زمینههای طراحی وب یا برنامه نویسی وب، قوی تر از آن یکی است.
من دوستان برنامه نویس Full Stack زیادی دارم و با برنامه نویسان Full Stack بسیار زیادی نیز همکاری داشته ام. اما آنها نهایتا در یکی از زمینهها قوی تر بودهاند. به این معنا که:
- یا طراحان وب بهتری بودند، یعنی قسمت هنری مغزشان فعالتر بود و میتوانستند رابط های کاربری (UI) بسیار حرفهای و چشم نوازی طراحی کنند.
- یا برنامه نویسان سمت سرور فوق العادهای بودند و بخش منطقی مغزشان فعال تر بوده است و میتوانستند منطقها و الگوریتم های بسیار پیچیده و کدهایی بسیار تمیز بنویسند.
یعنی هرچقدر فرد هم یک Full Stack Developer باشد، باز هم در یکی از زمینههای طراحی وب یا برنامه نویسی وب قوی تر است و یکی از نیم کرههای مغز او بهتر کار میکند. برای مثال ممکن است یک فرد یک برنامه نویس Full Stack باشد و هم طراحی وب فوق العاده ای انجام دهد و هم برنامه نویس سمت سرور بسیار خوبی باشد، اما نهایتا خود آن فرد هم میداند که در یکی از این زمینهها حرفهای تر و بهتر است.
مهارتهای یک برنامه نویس فول استک (Full Stack)
در پاسخ به سوال Full Stack چیست ، خیلی خوب است که بدانیم یک برنامه نویس فول استک، چه مهارتهایی باید داشته باشد. در ادامه یک لیست بسیار ساده را میبینیم که یک برنامه نویس Full Stack باید به آنها تسلط کامل داشته باشد و نیز تجربهی بسیار خوبی در کار با هرکدام از آنها داشته باشد تا بتواند یک Full Stack Developer واقعی باشد.
- طراحی وب
- طراحی رابط کاربری
- برنامه نویسی وب
- کار با پایگاه داده
- هاست و سرور
- توانایی کار با API ها (API چیست و چرا مهم است)
- آشنایی با Version Controll System ها
- توانایی مدیریت پروژههای نرم افزاری
در این مقاله و فایل ویدئویی سعی کردیم به سوال Full Stack چیست پاسخ دهیم. نظر شما چیست؟ طراح وب بودن بهتر است؟ یا برنامه نویس بودن؟ یا تبدیل شدن به یک Full Stack Developer؟ کدام یک آسان تر است؟
درباره مهدی خسروی
۸ سال پیش که یادگیری برنامه نویسی رو آغاز کردم، با یک مشکل بزرگ مواجه شدم: کمبود منابع آموزشی حرفهای و کاربردی به زبان فارسی. به همین دلیل، بعد از چندین سال فعالیت حرفهای در زمینهی برنامه نویسی، تصمیم گرفتم دانستهها و تجربیات خودم را با شما عزیزان به اشتراک بگذارم. پیشنهاد میکنم به آدرس yadify.com/gifts حتما سر بزنید :)
نوشته های بیشتر از مهدی خسرویمطالب زیر را حتما مطالعه کنید
7 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
دیدگاهتان را بنویسید لغو پاسخ
این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش میشوند.
میکروفن روی لباس ایجاد نویز میکنه، دوتا انتخاب دارید،
۱. نشستن پشت میز و استفاده از میکروفن روی میز همراه فیلتر میکروفن، چیزی شبیه گوینده رادیو.
۲. ایستاده و استفاده از میکروفن پایه بلند
سلام حسن گرامی
ممنونم از انتقاد درست و بجای شما. اگر نویز فیلم ها شمارو اذیت کرده، ازتون عذرخواهی میکنم.
سعی میکنیم در فیلم های آموزشی آینده، این مشکل رو برطرف بکنیم.
با تشکر از شما
سلام .
خیلی جالبه من همیشه به استادم میگفتم که من به شدت به بک اند و فرانت اند همزمان علاقه دارم و میخوام ادامه بدم.
اما میگفت نمیشه و باید یکی رو انتخاب کنی.
الان که این ویدئو رو دیدم خوشحال شدم!
پس منم میتونم هر دو شو یاد بگیرم..
سلام دوست عزیزم
چقدر عالی که به هر دوی این زمینه ها علاقه دارید و قصد دارید که در هردو متخصص باشید. اما این نکته رو فراموش نکنید که بالاخره یکی از نیم کره های مغز شما فعالتر است و نهایتا در فرانت اند یا بک اند قوی تر عمل میکنید. اگر بتونید روی نقطهی قوت خود کار کنید، میتونید سرعت رشد بسیار بیشتری رو تجربه کنید و در یک حیطهی خاص متخصص باشید. کما اینکه با تلاش و پشتکار میتونید یک فول استک دولوپر تمام عیار نیز باشید.
براتون ارزوی موفقیت میکنم بزرگوار
سلام
ممنون از معرفی کامل به علاوه نکتههای تجربی خودتون 🙂
یه غلط املایی هم داشت مطلب:
«آیا Full Stack Developer ها همه کارِ و هیچ کارِ هستند؟»
درستش میشه همهکاره و هیچکاره. به جای کسره باید ه بذارید! #هکسره #لغت_نامه_دهخدا 🙂
سلام علی عزیز.
ممنون بابت ریز بینی شما. موردی که فرموده بودید اصلاح شد 🙂
آقای خسروی، شما کدومش هستید؟ بکاند یا فرانتاند کار یا فولاستک؟!
علاقهی اصلی من سمت بک اند و برنامه نویسی وب هست. ولی فرانت اند رو هم در حدی بلد هستم که بتونم کارم رو راه بندازم