در این مقاله از ادمین سایت قصد داریم بررسی کنیم معنی فول استک چیست؟ و به چه شخصی فول استک دلوپر گفته میشود. همانطور که قبلاً در مقالهی “میخواهم طراح وبسایت شوم” بررسی کردیم برای طراحی وبسایت به افراد مختلفی احتیاج داریم. از جمله طراح گرافیک، برنامه نویس front-end و برنامه نویس back-end.
هرکدام از این اشخاص دارای وظایف مشخصی هستند. برای درک درست از وظایف و عملکرد یک برنامه نویس فول استک، ابتدا باید با عملکرد برنامه نویسان front-end و back-end آشنا شوید.
همانگونه که در آن مقاله هم گفته شد، برنامه نویس front-end شخصی است که به طراحی ظاهر وبسایت یا نرمافزار میپردازد. یعنی همان بخشی که کاربر آن را میبیند و با آن در ارتباط است. برای طراحی این بخش از زبانهایی مثل HTML، CSS و JavaScript استفاده میشود.
برنامه نویس back-end شخصی است که به کدنویسی بخش مربوط به سرور میپردازد. بخشی که بیشتر مربوط به دریافت و پردازش اطلاعات است و کاربر مستقیماً آن را مشاهده نمیکند. برای مثال دریافت اطلاعات از دیتابیس و پردازش آنها. برنامه نویس back-end از زبانهای تحت سرور استفاده میکند. در مقالهی “بهترین زبان برنامهنویسی” به مقایسهی زبانهای تحت سرور پرداختهایم.
برای درک بهتر مسئله به این مثال توجه کنید. در یک وبسایت به یک سیستم ثبتنام کاربران احتیاج داریم. در ابتدا برنامه نویس front-end باید به طراحی ظاهر فرم ثبتنام بپردازد. کاربر این فرم را مشاهده میکند و آن را تکمیل میکند.
با ارسال فرم متوجه اهمیت بخش مربوط به سرور میشویم. برنامه نویس back-end باید بررسی کند آیا این کاربر قبلاً عضو بوده یا خیر؟ سپس اطلاعات کاربر را دریافت و بررسی نماید. اگر اطلاعات کامل و درست بودند آنها را در دیتابیس ذخیره کند. سپس گزارش موفق بودن ثبتنام را نمایش دهد.
برنامه نویس فول استک کیست؟
اگر شخصی بتواند به تمام مهارت های برنامهنویس front-end وback-end دست بیابد، به او یک fullstack developer میگویند. یک برنامه نویس فولاستک باید بتواند یک رابط کاربری مناسب را طراحی کند که از نظر گرافیک و تجربهی کاربری در سطح خوبی قرار بگیرد. همچنین باید به کدنویسی سمت سرور، مباحث امنیت، بهینهسازی و سرعت نیز مسلط باشد.
یک فول استک با مباحث سرور و شبکه به خوبی آشنایی دارد، کار با انواع دیتابیس را میداند. از همه مهمتر در نیاز سنجی مشتری کاملاً آگاه است.
مهارتهای یک برنامه نویس فول استک (Full Stack Developer)
اگر شما به چند زبان سمت کاربر و تحت سرور مسلط هستید، الزاماً یک فول استک محسوب نمیشوید. یک برنامه نویس فول استک باید به مهارتهای گوناگونی مسلط باشد که در ادامه تعدادی از آنها لیست شدهاند:
طراحی رابط کاربری حرفهای
آشنایی با مباحث UI / UX
برنامه نویسی وب
کار با پایگاه داده (Database)
آشنایی با مباحث امنیت
آشنایی با مباحث سئو و
بهینهسازی وب
آشنایی با هاست و سرور و شبکه
توانایی کار با API ها
آشنایی با سیستمهای کنترل ورژن مثل گیت
توانایی مدیریت پروژههای نرم افزاری
قطعاً دستیافتن به این مهارت ها به زمان و تلاش زیادی احتیاج دارد. گرچه رسیدن به این مرحله دشوار است اما غیرممکن نیست.
فول استک دولوپر یا تیم مجزا؟
معمولاً برای دست یافتن به بهترین نتیجه بهتر است از دو شخص
یا دو تیم مجزا در هر زمینه استفاده شود. اینکه هر دو بخش مربوط به کاربر و سرور، توسط
یک نفر کد نویسی شود کار اشتباهی نیست اما گاهی ممکن است نتیجه صدردصد مورد رضایت
واقع نشود. زیرا معمولاً افراد در یک زمینه نسبت به سایر زمینهها بهتر عمل میکنند.
مثلاً ممکن است شخصی که منطق قویتری داشته باشد، بتواند در برنامه نویسی سمت سرور نتیجهی بسیار خوبی رغم بزند اما در طراحی گرافیک و بخشهای هنری در حد انتظار خلاق نباشد.
البته ناگفته نماند که موارد مذکور همیشه صادق نیست و ممکن است شخصی بتواند در هر دو زمینه با قدرت و خلاقیت مناسب ظاهر شود. اشخاصی که معمولاً خوب تلاش کرده و مهارتهای کافی را کسب کردهاند، همچنین تجربهی مناسبی نیز دارند، برای هدایت و مدیریت تیم بسیار مناسب هستند.
چرا باید به یک Full Stack Developer تبدیل شویم؟
اینکه در موارد متعددی به مهارت بالایی برسید بسیارعالی است. ولی اگر برای رسیدن به این درجه، فقط دورههای آموزش مهارتها را یکی پس از دیگری بگذرانید و بگذرید، بزرگترین اشتباه است!
شما میتوانید در یک زمینه شروع به یادگیری کنید و در آن زمینه حسابی حرفه ای شوید. با تسلطی که کسب کردهاید در یک تیم فعال جای بگیرید و به بهترین نحو و با خلاقیت شروع به کار کنید. سپس در همان زمینه هر روز بهتر از روز قبل شوید.این به خودی خود یک موفقیت بزرگ است. بعد از مدتی میتوانید به زمینههای دیگر هم ورود کنید و در آنها هم حسابی فعال باشید.
برنامهنویسهای زیادی را میشناسم که در گذشته به مباحث مختلف وارد شدهاند، چیزی آموخته و به سراغ موارد بعدی رفتهاند. با گذر زمان و استفاده نکردن از علوم آموخته، همه را فراموش کردند. یعنی بعد از این همه وقت گذراندن و ورود به عرصههای مختلف آخر هم در زمینه ای ماهر نباشی و سرت بی کلاه بماند! مهم نیست در چند مبحث ورود کردهاید، مهم این است که در کدام مباحث یا حرفه، به تسلط رسیدهاید.
خلاصهی کلام این است که برای تبدیل شدن به یک فول استک مدام از شاخهای به شاخهی دیگر نپرید. در هر زمینهای که وارد میشوید وقت صرف کنید و به تلاش ادامه دهید. بعد از رسیدن به یک تسلط نسبی وارد آموزش بعدی شوید.
این همان چیزی است که شما را به یک برنامهنویس فول استک واقعی تبدیل میکند نه مثل برخی از اشخاص که فقط ادعای آن را دارند! قطعاً با رسیدن به این مرحله موقعیتهای شغلی بیشتر و درآمد بالاتری هم در انتظار شما خواهد بود. زیرا در برنامه نویسی، شما به اندازهی مهارت خود درآمد خواهید داشت.
دقیقا! اخر مطلب خیلی نکته مفیدی گفتید اینکه وارد هر مبحث شدیم تو اون حرفه ای بشیم بعد به زبان ها وتخصص های بیشتر بریم چون سوییچ کردن بینشون اقعا گیج کننده میشه👌👌
دقیقا!
اخر مطلب خیلی نکته مفیدی گفتید
اینکه وارد هر مبحث شدیم تو اون حرفه ای بشیم بعد به زبان ها وتخصص های بیشتر بریم چون سوییچ کردن بینشون اقعا گیج کننده میشه👌👌