برنامه نویس فول استک کیه ؟؟ فول استک بشیم یا نه ؟

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