معنی و مفهوم Full Stack Developer چیست؟


طراح، دولوپر، برنامه‌نویس و بسیاری عناوین دیگر گاهی‌ اوقات اشتباهاً به جای یکدیگر مورد استفاده قرار می‌گیرند و این در حالی است که هر یک از این عناوین وظایف مشخصی را شامل می‌گردند. علاوه بر موارد فوق، اصطلاح دیگری نیز وجود دارد تحت عنوان Full Stack Developer که معانی مختلفی برای آن در نظر گرفته می‌شود به طوری که برخی به دولوپری فو‌ل‌استک می‌گویند که هم به فرانت‌اند و هم به بک‌اند تسلط داشته باشد اما برخی دیگر چنین لقبی را به کسی اطلاق می‌کنند که دارای یک دانش عمومی در تمامی زمینه‌های آی‌تی داشته باشد و برخی دیگر هم می‌گویند که یک توسعه‌دهندهٔ فول‌استک، یک گیک به معنای واقعی کلمه است (برای آشنایی بیشتر با مفهوم گیک، به مقالهٔ Geek (گیک) کیست و چه ویژگی‌هایی دارا است؟ مراجعه نمایید.)

اولین کسی باشید که به این سؤال پاسخ می‌دهید

به طور کلی، اگر نگوییم یک دولوپر فول‌استک باید در زمینه‌های زیر حرفه‌ای باشد، نیاز است تا حرفی برای گفتن داشته و یک آشنایی نسبی با این مفاهیم داشته باشند:

- سرور، شبکه و هاستینگ
- انواع دیتابیس‌ها و مدیریت آن‌ها
- کار با API‌ شرکت‌های مختلف
- آشنایی با مباحث UI و UX
- کنترل کیفیت
- هک و امنیت
- بهینه‌سازی برای موتورهای جستجو
- آشنایی با فناوری‌های ورژن کنترل مثل گیت
- ماشین‌های مجازی مثل VirtualBox و Vagrant
- وب‌سروهایی مثل آپاچی و انجین‌ایکس
- لینوکس و اسکریپت‌نویسی شِل در حد نیاز
- آشنایی با مفهوم اجایل

واقعیت امر آن است که کسب مهارت آن هم در سطح بالا در هر یک از موارد فوق اگر نگوییم غیرممکن است، کار بسیار دشواری خواهد بود و اگر چنین تعریفی را برای یک دولوپر فول‌استک در نظر بگیریم، بدون اغراق می‌توان گفت که در دنیای برنامه‌نویسان تعداد اندکی از افراد خواهند بود که بتوانند چنین لقبی را به خود اختصاص دهند؛ لذا بهتر است بگوییم که یک دولوپر فول‌استک کسی است که درک قابل‌قبولی از موارد فوق‌الذکر داشته، می‌داند یک نرم‌افزار چگونه کار می‌کند و همچنین این توانایی را دارا است تا یک نرم‌افزار را از 0 صفر تا 100 طراحی و به بازار عرضه کند.

علاوه بر این، یک دولوپر فول‌استک کسی است که واژگانی نظیر «نبود، نیست، نمی‌شه، امکان نداره، سخته، کار من نیست» و چیزهایی از این دست را بر زبان نمی‌آورد و اگر هم چیزی را نداند، تمام تلاش خود را به کار خواهد بست تا خود از عهدهٔ مشکلات و چالش‌های به‌ وجود آمده برآید. نکته اینجا است که شاید در سال‌های گذشته می‌شد تا خود را به یک فول‌استک مبدل ساخت، اما امروزه که دنیای آی‌تی نسبت به سال‌های گذشته بسیار پیشرفت کرده و مفاهیمی همچون هوش مصنوعی، یادگیری ماشینی کلان داده، گجت‌های پوشیدنی، واقعیت مجازی، کلود و … به‌ وجود آمده‌اند، کار به مراتب دشوارتر از گذشته شده است.

امروزه استارتاپ‌ها به دنبال یک دولوپر فول‌استک یا بهتر بگوییم یک توسعه‌دهندهٔ همه فن حریف می‌گردند اما همین کسب‌وکارهای نوپا به محض اینکه به شرکت‌های بزرگی مبدل می‌شوند، ترجیح می‌دهند تا به جای یک دولوپر فول‌استک، یک متخصص حرفه‌ای در تک‌تک زمینه‌هایی که دولوپر فول‌استک آشنایی دارد به استخدام خود درآورند تا کیفیت کار ایشان ارتقاء یابد و کار به نوعی تخصصی گردد.

با تعاریفی که در بالا به آن‌ها اشاره شد، تعریف شما از یک دولوپر فول‌استک چیست و آیا خودتان را یک دولوپر فول‌استک تلقی می‌کنید؟ نظرات و دیدگاه‌های خود را با سایر کاربران سکان آکادمی به اشتراک بگذارید.