به یک سایت آگهی و نیازمندی مشاغل سر بزنید و بخش مربوط به برنامه نویسی آن سایت را مرور کنید. شرکتهای زیادی را خواهید دید که به دنبال برنامه نویسانی با عنوان شغلی “FullStack Developer” میگردند. به احتمال زیاد در لینکدین هم افراد زیادی را با این عنوان شغلی دیده باشید. اگر برنامه نویسان زیادی اطراف شما باشند، ممکن است لا به لای صحبتهای آنها این اصطلاح به گوشتان خورده باشد. حالا بهتر است ببینیم این FullStack Developer چیست که انقدر از آن حرف میزنند. اگر بخواهیم در یک کلمه فول استک دولوپر را تعریف کنیم بهترین کلمه ای که میتوانیم بیان کنیم “همه فن حریف” است. این مقاله را انتها دنبال کنید تا به طور مفصل درباره این صحبت کنیم که Fullstack کیست و چه کارهایی انجام میدهد.
به دلیل متنوع بودن زبانهای برنامه نویسی، فریم ورکها و کتابخانه ها، معمولا یک نفر نمیتواند به تنهایی از پس تمام کارهای یک پروژه بزرگ بربیاید. برای مثال در توسعه وب برنامه نویسان معمولا در دو بخش Front End و Back End فعالیت دارند. به این شکل که یک نفر یا یک تیم ظاهر سایت را ساخته و یک نفر یا یک تیم منطق سایت را پیاده میکنند. اگر یک نفر بتواند هر دو بخش کار را با هم انجام دهد، به آن شخص Fullstack Developer میگویند. یک Fullstack Developer این توانایی را دارد که به تنهایی یک پروژه را به طور کامل انجام داده و صفر تا صد آن را انجام دهد. به عبارت دیگر، یک فول استک دولوپر متخصصی است که دانش زیادی در برنامه نویسی، پایگاه داده، سرور، شبکه و موارد دیگر IT دارد.
فول استک بودن مزایای زیادی برای شخص به دنبال دارد. از آنجا که سطح توانایی برنامه نویسان در این حوزه بسیار بالا است معمولا هیچ مشکلی در پیدا کردن شغل نخواهند داشت. همینطور حقوق و دریافتی یک فول استک کار معمولا بسیار بالا بوده و متخصصان آن درآمد بیشتری نسبت به سایر برنامه نویسان دارند.
از آنجایی که یک full stack developer با تکنولوژیهای مختلف به طور همزمان کار میکند، ممکن است آخر سر نتواند در یک بخش خاص متخصص شود و آخر مانند کسی میشود که همه چیز میداند اما هیچ چیز نمیداند. یعنی با اینکه در بخشهای مختلف تکنولوژی یک دانش عمومی داشته اما نمیتواند یک بخش را به طور کاملا تخصصی جلو ببرد. همینطور مسئولیت کاری و سطح انتظار از فول استک دولوپر بسیار بالا بوده و معمولا این افراد باید چالشهای مختلفی را مدیریت کنند.
دقت داشته باشید که دانش یک FullStack Developer هیچ سقف و محدودیتی ندارد. هر کس توانایی و تجربه بیشتری داشته باشد میتواند موفقتر عمل کند. اما داشتن یک سری مهارتها ضروری بوده و برای این که به عنوان یک فول استک دولوپر شناخته شوید باید آنها را داشته باشید. در ادامه این مهارتها را توضیح خواهیم داد.
یک فول استک دولوپر معمولا با چند زبان برنامه نویسی میتواند کار کند. معمولا زبان هایی مثل PHP، پایتون، جاوا، جاوا اسکریپت، C# و غیره. البته نیازی نیست که این شخص به تمام زبانهای برنامه نویسی مسلط باشد چون تقریبا این کار غیرممکن است. اما باید دانش خوبی روی ساختار، گرامر، طراحی و پیاده سازی پروژه با یک یا چند زبان مطرح داشته باشد. برای مثال اگر میخواهید در زبان جاوااسکریپت فول استک شوید، باید روی خود این زبان، ES6، نود جی اس و فریم ورکهای مختلف جاوااسکریپت مسلط باشید.
برای این که یک پروژه را از صفر تا صد طراحی کنیم، بهتر است برای سرعت بخشیدن به کار خودمان بعضی از ابزارهای آماده را به کار بگیریم. حتما شما هم شنیده اید که چرخ را نباید دوباره ساخت، پس برای جلوگیری از تکرار یک فول استک دولوپر باید با طیف گسترده ای از فریم ورکها و کتابخانهها آشنا باشد. برای مثال یک فول استک دولوپر وب باید به جز زبانهای مطرح وب، با کتابخانهها و فریم ورکهای مختلفی مثل Bootstrap، فاندیشن، جی کوئری، Angular یا غیره هم آشنا باشید.
فراند اند به بخش قابل مشاهده سایت و سرویس تحت وب گفته میشود که در مرورگر کاربر اجرا شده و کاربر از طریق این ظاهر نمایش داده شده از خدمات سایت استفاده خواهد کرد. یک Fullstack Developer باید با تکنولوژیهای مختلف سمت کاربر مثل HTML، CSS، Javascript آشنا باشد. پیش پردازنده هایی مثل Sass و Less را بشناسد، بتواند با کتابخانهها و فریم ورک هایی مثل Jquery، Angular یا React کار کند و به طور کلی از پس ساخت بخش Front End سایت به خوبی بربیاید.
بعد از طراحی ظاهر سایت، نوبت به پیاده سازی منطق و عملکردهای مختلف آن میرسد. به این شکل که تعامل کاربر با سایت از طریق فرانت اند به سرور رفته و بعد از انجام پردازشهای مربوطه دوباره به مرورگر خود کاربر برگردد. به طور کلی سمت سرور را با PHP، پایتون، روبی و جاوااسکریپت مینویسند. به عنوان یک Fullstack Developer، برنامه نویسی سمت سرور به عهده شماست و باید بتوانید Logic و عملکرد سایت را درست پیاده کنید.
همان طور که گفته شد زبانهای برنامه نویسی php و جاوا اسکریپت جزو زبانهای سمت سرور هستند. ما در سون لرن در دورههای آموزش php و آموزش جاوا اسکریپت این دو زبان برنامه نویسی مهم را آموزش داده ایم.
هر محصول یا پروژه ای برای کار با دادهها مثل دریافت، ذخیره، آپدیت و حذف اطلاعات نیاز به یک دیتابیس یا پایگاه داده دارد. به عنوان یک فول استک دولوپر از شما انتظار میرود که حداقل با یک یا دو پایگاه داده مطرح بتوانید کار کنید بعضی از معروفترین دیتابیسهای دنیا عبارتند از MySQL، MongoDB، PostgreSQL، NoSQL که به طور گسترده در دنیا استفاده میشوند. هر کدام
شاید با شنیدن نام فول استک، ذهن ما فقط به سمت برنامه نویسی، دیتابیس و مسائل فنی کشیده شود. در کل کمتر کسی از فول استک دولوپر انتظار دارد که در طراحی هم حرف برای گفتن داشته باشد. اما داشتن دانش طراحی و ذوق گرافیک یک مزیت بسیار مثبت برای این افراد حساب میشود. البته لازم نیست که حتما به خوبی یک طراح حرفه ای کار کنید، همین که با اصول طراحی، رابط کاربری (UI)، تجربه کاربری (UX) و یک نرم افزار گرافیکی آشنا باشید کافی است.
معمولا شرکتها به عنوان یک فول استک دولوپر از شما انتظار دارند مهارتهای سخت خوبی داشته باشید. منظور از مهارتهای سخت تمام چیزهایی است که تا اینجای مطلب درباره آنها صحبت کردیم. اما داشتن یک نوع مهارت دیگر به نام مهارت نرم میتواند به شما کمک کند تا بتوانید موقعیتهای شغلی بهتری پیدا کنید. مهارتهای نرم شامل طیف گسترده ای از تواناییهای شخصی میشوند که بعضی از آنها عبارتند از مدیریت زمان، توسعه فردی، روابط اجتماعی خوب با دیگران و غیره. بالا بودن مهارتهای نرم از شما یک FullStack Developer بسیار منعطف خواهد ساخت.
در این مطلب بررسی کردیم که Fullstack کیست و چه کسی فول استک دولوپر است. امروزه به خاطر تخصصی شدن کارها، بیشتر برنامه نویسان ترجیح میدهند در یک حوزه به صورت تخصصی کار کنند. برای مثال یا سمت کلاینت کار کنند یا سمت سرور. اما فول استک دولوپر میتواند هر دو بخش را دست گرفته و به تنهایی یا با کمک کم یک پروژه را از صفر تا صد اجرا کند. اگر برنامه نویس باتجربه ای هستید و به عنوان فول استک دولوپر فعالیت میکنید، خوشحال میشویم تجربیات خود را با ما و کاربران سون لرن به اشتراک بگذارید.
بستگی به سن تون داره. اگر بالای ۲۵ سال هستید و زمان کمی دارید توصیه میکنم تمرکزتون رو روی یکی از بخشها بگذارید و بعدها برای فول استک شدن اقدام کنید.