Full Stack چیست و به چه کسی برنامه نویس فول استک میگویند؟
طراح، دولوپر، برنامهنویس و بسیاری عناوین دیگر گاهی اوقات اشتباهاً به جای یکدیگر مورد استفاده قرار میگیرند و این در حالی است که هر یک از این عناوین وظایف مشخصی را شامل میگردند. علاوه بر موارد فوق، اصطلاح دیگری نیز وجود دارد تحت عنوان Full Stack Developer که معانی مختلفی برای آن در نظر گرفته میشود به طوری که برخی به دولوپری فولاستک میگویند که هم به فرانتاند و هم به بکاند تسلط داشته باشد اما برخی دیگر چنین لقبی را به کسی اطلاق میکنند که دارای یک دانش عمومی در تمامی زمینههای آیتی داشته باشد و برخی دیگر هم میگویند که یک توسعهدهندهٔ فولاستک، یک گیک به معنای واقعی کلمه است .در دنیای طراحی و برنامه نویسی وب، اشخاصی هستند که هم طراحی وب را انجام میدهند و هم به برنامه نویسی وب مسلط هستند. در واقع این افراد اشخاصی هستند که به تنهایی میتوانند یک پروژهی تقریبا بزرگ را به پایان برسانند. به این افراد برنامه نویس Full Stack میگویند.
به طور کلی یک دولوپر فولاستک باید در زمینههای زیر حرفهای باشد و آشنایی نسبی با این مفاهیم داشته باشند: - سرور، شبکه و هاستینگ - انواع دیتابیسها و مدیریت آنها - کار با API شرکتهای مختلف - آشنایی با مباحث UI و UX - کنترل کیفیت - هک و امنیت - بهینهسازی برای موتورهای جستجو - آشنایی با فناوریهای ورژن کنترل مثل گیت - ماشینهای مجازی مثل VirtualBox و Vagrant - وبسروهایی مثل آپاچی و انجینایکس - لینوکس و اسکریپتنویسی شِل در حد نیاز - آشنایی با مفهوم اجایل واقعیت امر آن است که کسب مهارت آن هم در سطح بالا در هر یک از موارد فوق اگر نگوییم غیرممکن است، کار بسیار دشواری خواهد بود و اگر چنین تعریفی را برای یک دولوپر فولاستک در نظر بگیریم، بدون اغراق میتوان گفت که در دنیای برنامهنویسان تعداد اندکی از افراد خواهند بود که بتوانند چنین لقبی را به خود اختصاص دهند؛ لذا بهتر است بگوییم که یک دولوپر فولاستک کسی است که درک قابلقبولی از موارد فوقالذکر داشته، میداند یک نرمافزار چگونه کار میکند و همچنین این توانایی را دارا است تا یک نرمافزار را از ۰ صفر تا ۱۰۰ طراحی و به بازار عرضه کند. علاوه بر این، یک دولوپر فولاستک کسی است که واژگانی نظیر «نبود، نیست، نمیشه، امکان نداره، سخته، کار من نیست» و چیزهایی از این دست را بر زبان نمیآورد و اگر هم چیزی را نداند، تمام تلاش خود را به کار خواهد بست تا خود از عهدهٔ مشکلات و چالشهای به وجود آمده برآید. نکته اینجا است که شاید در سالهای گذشته میشد تا خود را به یک فولاستک مبدل ساخت، اما امروزه که دنیای آیتی نسبت به سالهای گذشته بسیار پیشرفت کرده و مفاهیمی همچون هوش مصنوعی، یادگیری ماشینی کلان داده، گجتهای پوشیدنی، واقعیت مجازی، کلود و … به وجود آمدهاند، کار به مراتب دشوارتر از گذشته شده است. اما نهایتا … در پاسخ به سوال Full Stack چیست ، باید این را بپذیریم که نهایتا هر فرد، بالاخره در یکی از زمینههای طراحی وب یا برنامه نویسی وب، قوی تر از آن یکی است. یعنی هرچقدر فرد هم یک Full Stack Developer باشد، باز هم در یکی از زمینههای طراحی وب یا برنامه نویسی وب قوی تر است و یکی از نیم کرههای مغز او بهتر کار میکند. برای مثال ممکن است یک فرد یک برنامه نویس Full Stack باشد و هم طراحی وب فوق العاده ای انجام دهد و هم برنامه نویس سمت سرور بسیار خوبی باشد، اما نهایتا خود آن فرد هم میداند که در یکی از این زمینهها حرفهای تر و بهتر است. با تعاریفی که در بالا به آنها اشاره شد، تعریف شما از یک دولوپر فولاستک چیست و آیا خودتان را یک دولوپر فولاستک تلقی میکنید؟ نظرات و دیدگاههای خود را با سایر کاربران آسان رایان به اشتراک بگذارید.