۶ توصیه ضروری برای تبدیل شدن به یک برنامه نویس Full Stack

۶ توصیه ضروری برای تبدیل شدن به یک برنامه نویس Full Stack

یکی از داغ ترین مباحث بین برنامه نویسان که هرگز پایانی ندارد، روش های تبدیل شدن به برنامه نویس «فول استک» (همه کاره) است. در سایت های لینکداین و فیسبوک بسیاری از افراد عنوان شغلی خود را توسعه دهنده فول استک معرفی کرده‌ اند و ظاهراً عنوان فول استک به یک گرایش شغلی محبوب تبدیل ‌شده است. مقاله‌ای که در سایت مدیوم منتشر شد، شغل طراح همه‌ کاره را تحسین برانگیز و در عین حال سرزنش آمیز معرفی کرده است. برخی افراد تصور می ‌کنند که همه ‌کاره بودن یک عنوان است که بر توانایی شخصی واقعی و فناوری متمرکز است.
بحث های جاری در مورد فول استک در واقع شاخه ای از استدلال های مربوط به افراد همه فن حریف و متخصص در صنعت IT و همچنین تنوع و سطح مهارت های این افراد است. شما نمی توانید همزمان هم کیک داشته باشید و هم آن را خورده باشید اما توسعه دهندگان و طراحان فول استک در حال تغییر این مفهوم هستند چرا که برخورداری از مهارت های متنوع به آنها اجازه می دهند هم کیک را بخورند هم آن را داشته باشند. از سوی دیگر می توان آنها را هیچ کاره هم نامید؛ بنابراین انتخاب روش درست برای تبدیل شدن به یک توسعه دهنده فول استک واقعی بسیار مهم است.



1. توسعه دهنده فول استک به چه کسی گفته می شود؟



برنامه نویس full stack


به بیان ساده دولوپر فول استک کسی است که از مهارت های مختلفی برخوردار بوده و از آنها برای توسعه محصول به صورت مستقل بهره می برد. یکی از پاسخ هایی که این مفهوم را به خوبی توضیح داده و در سایت Quora بازخورد مناسبی داشته بدین ترتیب است:


توسعه دهنده فول استک مهندسی است که توانایی انجام امور مربوط به دیتابیس، سرور، مهندسی سیستم و کلاینت را دارد. نیازهای مشتریان بسته به نوع پروژه شامل مواردی نظیر mobile stack application stack و native application stack است.


در واقع عبارت فول استک به یک سری از فناوری های مورد نیاز برای تکمیل یک پروژه اشاره دارد. استک یا پشته نیز شامل مجموعه ای از زیر ماژول های نرم افزاری است که با کنار هم قرار گرفتن آنها نتیجه مورد نظر حاصل می شود.



۲. چرا بحث و جدل های بسیاری در مورد توسعه دهنده فول استک وجود دارد؟

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



۳. چطور یک توسعه دهنده فول استک شویم؟

یک توسعه دهنده همه کاره واقعی باید علاوه بر دانش کاربردی از تمامی قابلیت های لازم برای توسعه اپلیکیشن هم برخوردار باشد که شامل موارد زیر می شود:



1. زبان های برنامه نویسی





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



۲. استفاده از فریمورک های توسعه و کتابخانه اشخاص دیگر

زبان‌ های برنامه نویسی محبوب معمولاً با یک فریمورک خوب همراه هستند که شامل مواردی از قبیل JAVA Spring، MyBatis، Hibernate، Python Django، PHP thinkphp, yin و nodeJs express و غیره است.



۳. فناوری Front-end

فناوری ‌های Front-end در توسعه پروژه‌ ها و محصولات جدید اهمیت روز افزونی پیدا کرده ‌اند. علاوه بر ویژگی های محصول، تجربه کاربری نیز یکی از معیارهای موفقیت یک خروجی محسوب می‌شود. همه این‌ موارد به پیاده ‌سازی مناسب فناوری front-end بستگی دارد، بنابراین باید به بعضی فناوری‌های front-end مثل HTML5، CSS3 و جاوا اسکریپت مسلط بوده و با فریمورک‌ های Front-end یا کتابخانه‌های شخص ثالث مانند JQuery، LESS، SASS، AngularJS یا REACT نیز آشنایی داشته باشید.



۴. دیتابیس و حافظه پنهان (کَش)

هر پروژه یا محصولی برای ذخیره داده ها به یک دیتابیس نیاز دارد. به‌ عنوان یک توسعه دهنده فول استک باید حداقل یک یا دو دیتابیس داشته و نحوه تعامل با آنها را بدانید. در حال حاضر محبوب ‌ترین پایگاه داده‌ها شامل MySQL، MongoDB، Redis، Oracle و SQL Server هستند MongoDB به عنوان یک دیتابیس سند محور، به ‌طور گسترده در محصولات اینترنتی استفاده می‌شود. در پروژه‌های بزرگتر بهتر است از MySQL یا دیتابیس تجاری Oracle به عنوان پایگاه داده back-end استفاده شود. دیتابیس های مموری مانند Redis را نیز می ‌توان برای ذخیره‌سازی اطلاعات در حافظه پنهان (کش کردن) و بهبود عملکرد سیستم استفاده کرد.



۵. توانایی طراحی در سطح پایه

در اغلب مقالات و بحث های پیرامون توسعه دهنده فول استک به الزامات طراحی پرداخته نشده است اما مهارت طراحی از اهمیت زیادی برخوردار است و این دست افراد باید با اصول و توانایی های طراحی پایه ای نمونه اولیه، طراحی رابط کاربری و UX آشنایی داشته باشند.





۶. قابلیت‌های فردی لازم برای تبدیل شدن به توسعه دهنده فول استک

• تفکر جهانی
• مهارت‌ های ارتباطی مناسب
• خلاقیت
• کنجکاوی
• مهارت‌ های مدیریت زمان



جمع‌بندی

بر اساس قانون ۱۰ هزار ساعت گلادول، برای تسلط بر دانش Front-end ، Back-end، علم مشتری محوری و تبدیل شدن به یک توسعه‌ دهنده همه‌ کاره حدود ۱۰ سال زمان لازم است. بنابراین برنامه نویس فول استک شدن کاری نیست که بتوان یک ‌شبه انجام داد و تنها راه شما برای رسیدن به این مرحله ایجاد زیرساخت فنی لازم، تقویت مهارت ‌های اصلی و یادگیری مداوم برای روبرو شدن با چالش‌ های بیشتر است.



می توانید از طریق دکمه زیر، مقاله را با دوستانتان در تلگرام به اشتراک بگذارید



منبع: 
6 Essential Tips on How to Become a Full Stack Developer
تاریخ درج: 1397/07/23