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

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

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

به طور کلی، یک دولوپر فول‌استک می‌بایست در زمینه‌های زیر، اگر نگوییم حرفه‌ای باشد، حرفی برای گفتن داشته باشد:
- سرور، شبکه و هاستینگ
- انواع دیتابیس‌ها و مدیریت آنها
- کار با API‌های مختلف
- آشنایی با UI و UX
- کنترل کیفیت
- هک و امنیت
- درک نیازهای جاری و آتی کاربران
- بهینه‌سازی برای موتورهای جستجو (SEO)
- آشنایی با فناوری‌های ورژن کنتلر مثل GIT و SVN
- ماشین‌های مجازی مثل VirtualBox و Vagrant
- وب‌سروهایی مثل آپاچی و انجین‌ایکس
- لینوکس و اسکریپت‌نویسی Shell
- آشنایی با مفهوم Agile
- تکنولوژی‌های مرتبط با ابزارهای هوشمند مثل موبایل و تبلت و بسیاری چیزهای دیگر

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

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

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

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

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