سلام دوستان ، امیدوارم حالتون خیلی خوب باشه ، امروز میخواییم با هم ببینیم برنامه نویس فول استک کیه و چطوری میتونیم به یه برنامه نویس فول استک تبدیل بشیم ؟
اول از همه اینو بگم فول استک بودن به معنی این نیست که طرف همه چیز بلد باشه ، ما برنامه نویس فول استک وب داریم ، برنامه نویس فول استک تلفن های همراه داریم ، برنامه نویس فول استک دسکتاپ هم داریم .
پس وقتی از فول استک بودن حرف میزنیم ، باید پسوند دسته کاری هم به کار ببریم ، مثلا فول استک وب فول استک تلفن های همراه ، فول استک نرم افزار های دسکتاپ .
حالا خود مفهوم فول استک بودن ینی چی ؟
ببین در هر حوزه ای که باشی یه بخش طراحی رابط و تجربه کاربری داری ، یه بخش کدنویسی فرانت داری ، یه بخش کد نویسی بک اند و دیتابیس داری .
حالا در حالت عادی ، هر کدوم از این بخش ها نیازمند متخصص هستند ، ینی برای این سه بخش ، نیازمند سه متخصص داری که بتونه کار ها به بهترین شکل ممکن انجام بده .
خب این وسط کسی که مهارت خوبی از این سه دسته داشته باشه و بتونه به بهترین شکل کارش انجام بده میشه یه برنامه نویس فول استک ، ینی کسی که به همه مراحل ساخت یه نرم افزار اشراف خوبی داره .
خب حالا سوال اینجاست که اصلا خوبه که فول استک باشیم یا نه ؟
من توی این تقریبا ۷ سالی که دارم کار میکنم ، میشه گفت به نوعی فول استک بودم و از طراحی رابط و تجربه کاربری تا کد زنی فرانت و بک اند خودم انجام میدادم ، فول استک بودن معایب و مزایایی خیلی زیادی داره که توی این پست خلاصه ای از اونا میگم بهتون .
مزایا :
بسیاری از استارت آپ های نوپا و سازمان هایی که از نظر بودجه خیلی حساسن ، اقدام به استخدام برنامه نویسان فول استک میکنند تا هزینه کمتری پرداخت کنند پس بازار کار برای یه برنامه نویس فول استک بسیار بالاست .
وقتی که برنامه نویس فول استک هستی ، دید درست و دقیقی به کل فرآیند ساخت و تچلید نرم افزار داری و میتونی مشکلات قبل از به وجود آمدنشون شناسایی کنی ، به خاطر همین هر جایی که بخوایی کار کنی مهره بسیار ارزشمندی به حساب میایی و به خاطر اینکه به کار اشراف کاملی داری میتونی خیلی راحت ترفیع درجه هم بگیری .
اگه بخوایی خودت پروژه ای ران کنی ، حداقل در زمینه اجرا ، میتونی بدون کمک سایر افراد این کار انجام بدی و در کل اگه بخوایی تنهایی پروژه بگیری و کار کنی ( که اصلا توصیه نمیشه ) میتونه خیلی کمک کنه .
حالا بریم سراغ معایبش :
اول اینکه فول استک شدن اصلا آسون نیست ، اینو من با پوست و استخونم درک میکنم ، تکنولوژی ها دایما آپدیت میشن و با اونا تو هم باید آپدیت بشی ، و وقتی همزمان باید کار چند نفر انجام بدی این آپدیت شدنا خیلی میتونن برات دردسر درست کنند .
دوم اینکه درسته که وقتی که فول استک باشی ، کار برات زیاده ، و کار دو سه نفر انجام میدی ولی حقوقی که میگیری ضربدر سه نمیشه ، حقوق بیشتری میگیری ولی نه سه برابر ، در بهترین حالت دو برابر حقوق میگیری .
سوم اینکه ، کلا اگه تو یه زمینه خیلی حرفه ای بشی خیلی بهتر از اینکه فول استک باشی ، چون خیلی سریع تر میتونی موارد لازمه یادبگیری و طبیعتا خیلی بیشتر هم میتونی تمرین کنی و پروژه بگیری ، تغییرات و آپدیت ها کمتر اذیتت میکنه و تمرکز اصلیت میره روی پروژه ها .
حالا اگه بخواییم فول استک وب بشیم ، چه مهارت هایی باید بلد باشیم ؟
در زمینه طراحی رابط و تجربه کاربری :
ببین ، فرض کن یه کارفرما ، میاد میگه من کسب و کارم تعمیر لوازم خانگی ، میخوام همه کارهام به شکل اینترنتی انجام بشه ، خب بعد اینجا باید دقیقا نیاز سنجی بشه که کاربر چی میخواد ، سیکل فرایند ها و داشبورد ها و .... همه به ریز ترین شکل ممکن طراحی بشه، بعدشم گرافیک سایت ، جوری که کاربر ازش لذت ببره طراحی بشه ، این کار ، کار طراح رابط کاربری سایته ولی وقتی شما یه برنامه نویس فول استکی ، این یکی از وظایفتونه .
در زمینه کد زنی بخش فرانت :
بعد از اینکه رابط سایت کاملا طراحی شد ، باید این طرح ها به صفحات وب تبدیل کنی ، البته ینی همون رابطی که طراحی کردی ، کد زنی کنی ، برای اینکه این کارم بکنی علاوه بر Html ,Css,Js , Bootstrap , flexbox , باید با کتابخانه هایی نظیر React و Vue آشنایی کاملی داشته باشی .
در زمینه کد زنی بخش بک اند :
یه فرم در نظر بگیر ، یه اطلاعاتی به سمت سرور ارسال میشه ، حالا اون اطلاعات باید پردازش بشه و در دیتابیس قرار بگیره ، این پردازش اطلاعات و کار با دیتابیس ها ، کار بک اند کاره که البته بازم چون شما فول استکی ، باید این کارها بتونی به خوبی انجام بدی .
مهارت های این بخشم ، خیلی مهم هستن ، باید با یکی از زبان های برنامه نویسی سمت سرور مثلا Php یاNode یا پایتون یا Asp آشنایی کامل داشته باشی ، هر زبان سمت سروری که انتخاب کردی باید فریمورک مربوط به اونم خیلی دقیق و موشکافانه بلد باشی مثلا اگه Php کار میکنی بایدLaravel هم بلد باشی .
سایر موارد :
به عنوان یه فول استک ، باید با نرم افزار های کنترل پروژه مثل Git آشنایی خوبی داشته باشی .
همچنین باید بتونی نرم افزاری که میخوایی بسازی کاملا تحلیل کنی که این ینی با uml ها آشنایی خوبیداشته باشی .
باید بتونی وبسایت جوری بسازی که از نظر امنیتی مشکلی براش پیش نیاد و در واقع به مباحث امنیتی هم اشراف داشته باشی .
امروزه همه میخوان صفحه اول گوگل باشند ، یه بخشی از این خواسته ، منوط به استراتژی تولید محتوا ، یه بخشی هم مربوط به کیفیت ساخت سایته ، پس شما به عنوان توسعه دهنده فول استک وب ، باید با اصول سعو هم آشنایی داشته باشید .
حرف آخر :
خب دوستان همونطور که دیدیم ، برای اینکه یه خودت بگی فول استک ، خیلی باید زحمت بکشی ، خیلی باید یادبگیری ، خیلی باید تمرین کنی و کلا به هیچ عنوان آسون نیست ، کسی میتونه به این درجه برسه که علاقه و پشتکار زیادی داشته باشه ، پس تو هم اگه میخوایی به این درجه برسی کار آسونی در پیش نداری ، ولی به نظر من به زحمتش میارزه .
دوستان حتما صفحه اینستاگرام و لینکدین منو دنبال کنید ، اونجا کلی از این موارد آموزشی تحلیل گذاشتم ، کافیه اسممو سرچ کنی !