فول استک دولوپر (full stack developer) به زبان ساده

اگر در دنیای برنامه نویسی باشید حتما با اصطلاحاتی مانند فرانت اند،بک اند،فول استک دولوپر آشنا هستید یا اینکه چندین بار این اصطلاحاتی به گوشتان خورده است.در این مقاله قصد داریم با فول استک دولوپر (full stack developer) به زبان ساده آشنا شویم.

آشنایی ابتدایی

تمامی برنامه نویسان در دنیای وب به دو بخش تقسیم می شوند برنامه نویسانی که جلوه بصری و زیبایی سایت را بر اساس استاندارد های روز دیزاین یا طراحی میکنند و با توجه به تجربه های کاربری سعی میکنند که ارتباط کاربر با سایت را راحت تر کند . به این کدنویس ها برنامه نویس Front Endمی گویند در واقع این برنامه نویس ها تعیین میکنند که هریک المان ها در کجای صفحه قرار بگیرد و رنگ بندی سایت چگونه باشد.

ولی طراحی یک وب اپلیکیشن (WebApplication) و یا سایت فقط نیازمند طراحی و ظاهر نیست . خیلی اتفاقات باید دور از چشم کاربر روی دهد . مانند ثبت نام یوزر ها , پنل های مدیریتی سایت , کانفیگ و راه اندازی سرور و یا برنامه ریزی پایگاه داده جزء جدانشدنی سایت ها می باشند . این قسمت توسط برنامه نویسی BackEnd طراحی می شود . و در نهایت یک پروژه از صفر تا صد انجام می شود.

در این میان نیز برنامه نویسانی وجود دارند که می توانند تمامی عملیات و کارهای BackEnd و FrontEnd را به تنهایی انجام دهند . البته به این معنا نیست که full stack developer باید تمامی زبان های برنامه نویسی وب را در بر داشته باشد ولی باید بتواند کد هارا تحلیل کند و روند کار کد هارا درک کند و یک دانش کلی و پایه درباره دنیای IT داشته باشد ولی میتوان گفت باید به ۷۰ درصد زبان های برنامه نویسی وب مسلط باشند.(دوره های آموزشی برنامه نویسی بک اند و فرانت اند).

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

توانایی های یک فول استک دولوپر

در زمان های قبل شاید گذاشتن اسم Full Stack Developer بر روی یک شخص کار راحت و ساده ای بود ولی امروزه با وارد شدن بحث های هوش مصنوعی و BigData و گسترش روز افزون اطلاعات ودنیای IT دستیابی به این حجم اطاعات و داده بسیار سخت و نیازمند زمان و تجربه است البته باز هم بستیگ به میزان تلاش شما در این راه دارد .

پس با توجه به توضیحات بالا به طور کلی یک دولوپر فول استک باید بتواند به مفاهیم زیر تسلط داشته باشد :

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

با نگاهی به موارد بالا می توان گفت یاد گیری تمامی تخصص های بالا برای یک نفر کاملا سخت است و شاید نشدنی چون هرکدام از مبحث های بالا یک تخصص محسوب می شود از این رو ما می توانیم دولوپر Full-stack را این گونه تعریف می کنیم .(دولوپر فول استک کسی است که درک کاملی از توضیحات ذکر شده داشته باشد و بتواند یک برنامه را از صفر تا صد با توجه به نیاز بازار و مشتری کدنویسی کند).

منبع::کدفرند