براساس آماری که جدیدی که از Stackoverflow منتشر شده است، توسعهدهنده Full Stack یکی از نقشهای بسیار محبوب در بین توسعهدهندگان است. اما یک توسعهدهنده فولاستک دقیقا چه کاری را انجام میدهد و توضیحات کلی کار و وظیفه وی چیست؟
توسعهدهندگان Full stack با طیف وسیعی از دنیای توسعه ارتباط دارند و با آن برخورد میکنند، آنها میتوانند هم در قسمت فرانتاند کار کنند و هم قسمت بکاند را مدیریت نمایند. موضوع بسیار مهم در رابطه با آنها این است که آنها بسیار حرفه آنها بسیار منعطف است و به همین دلیل که میتوانند در طیف وسیعی از فرایند توسعه شرکت کنند، پس نیاز دارند که بتوانند فریمورکها، چهارچوبها و ابزارهای جدیدی را با سرعت بالا و در مدت زمان کمی یاد بگیرند.
یک اشتباه رایج که در اصطلاح عامیانه وجود دارد این است که فکر میکنند توسعهدهنده Full stack کسی است که تمام دانشهای مربوط به حوضه توسعه اپلیکیشن مبتنی بر وب را دارد، اما میشود این موضوع را به گونهای دیگر بیان کرد، آنها در رابطه با موارد کلی و اصل این علم آشنایی خوبی دارند اما در رابطه با تمام ماجراهایی که اتفاق میافتد آنها یک دانش عمومی و کلی دارند. پس میشود گفت که توسعهدهنده Full stack ضرورتا همه چیز را نمیداند.
البته نبود چنین دانش وسیعی هیچ مشکلی ندارد و هیچ زیانی به توسعهدهنده نمیزند. به دلیل اینکه آن ها در قسمت FrontEnd و BackEnd توانایی دارند پس میتوانند به سادگی و به خوبی راهحلهای مناسبی را برای هر قسمت از توسعه پیدا کنند. اما از هر چیز دیگری مهمتر، از آنجایی که روند توسعه معروف به Agile با رویکردهای توسعه مدرن یکپارچهتر میشود، درک کردن و جابجا شدن در بین قسمتهای FrontEnd و BackEnd در فرایند توسعه بسیار مهم است.
از یک جنبه دیگر نیز اگر به این موضوع نگاه کنیم، متوجه میشویم که وجود یک توسعه دهنده Full stack میتواند از نظر اقتصادی بسیار به صرفه باشد، به این دلیل که میتواند کار چندین فرد در تیم را انجام دهد و با یک هزینه مقرون به صرفهتری نیز کار را به پایان برساند.
توضیحات کاری مربوط به هر توسعهدهنده Full stack تقریبا متفاوت است. این نقش به صورت پیوستهای در حال پیشرفت و دگرگونی است و به دلیل وجود ارگانها و سازمانهای متفاوت با نیازهای مختلف، تواناییهای مختلفی نیز مورد نیاز است. در اینجا میتوانید چند توانایی کلی که معمولا در بین توسعهدهندههای Full stack مشاهده میکنید را ببینید:
- HTML / CSS
- جاوااسکریپت
- فریمورکهای جاوااسکریپت (انگولار، ریاکت و…)
- تجربه در طراحی رابط کاربری و API
- کار با SQL و NoSQL
- حداقل یک زبان برنامهنویسی BackEnd مانند پایتون، جاوا، روبی و…
- کار با یک فریمورک BackEnd مانند Django، ASP.NET، Laravel و…
- ساخت و توزیع یک سیستم اتوماسیون یا مدیریتی
- دانش در خصوص مجازیسازی و یا داکر
به صورت کلی تمام این موارد چیزهای منحصر به فردی هستند که فرد تصمیم به یادگیری آنها میکند و تصمیم دارد براساس آنها چیزهای جدیدی را بسازد، در نهایت اینها باعث میشود که فرد به یک توسعهدهنده Full stack تبدیل شود.
جدای از این موارد برای یک توسعهدهنده Full stack تواناییهای نرم و معمولی نیز لازم است، منظور از تواناییهای نرم، توانایی برای داشتن ارتباط مؤثر، مدیریت بهینه پروژهها و بودجه است. در کنار این موارد داشتن توانایی Agile و Scrum نیز میتواند بسیار مؤثر و خوب باشد. فرایند توسعه نرمافزار معمولا یک فرایند تیمی است پس باید همکاری داشتن و تیمی کار کردن به یک بخش بسیار اساسی از شخصیت تبدیل شود. همراه با این موارد آگاهی داشتن از اطلاعات تجاری می تواند بسیار مفید باشد.
یک توسعهدهنده Full stack کسی است که میتواند یک تجارت را درک کند و بتواند به بهترین شیوه ممکن مسائل را حل نماید.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید