چه کسانی Full-Stack Developer هستند
برنامهنویس تنها در این عنوان خلاصه نمیشود و لازم است بدانید که برنامهنویسان در چند دسته متفاوت وجود دارند که برخی از آن ها به صورت Back-End و برخی Front-End فعالیت میکنند. در کل به کسانی که توانایی برنامهنویس در بخش Back-End را دارند به آنها Back-End Developer میگویند. همچنین برنامهنویسانی که توانایی توسعه در بخش طراحی رابطکاربری و تجربهکاربری را با عنوان Front-End دارند Front-End Developer میگویند.
در نظر داشته باشید که توسعهدهندگان و طراحان بخش تجربهکاربری (UX) و رابطکاربری (UI) خود وظایفی در سمت طراحی یک محصول را دارند که به خودی خود میتوانند به عنوان توسعهدهندهٔ فرانتاِند محسوب شوند اما ممکن است زمینهٔ اجرایی آنها با محیطهای توسعه که شامل کدنویسی هستند نباشد! بنابراین شاخهای از حوزهٔ توسعه در نرمافزار کامپیوتر وجود دارد که میتواند با ترکیب دانش طراحی و کدنویسی و تسلط کامل بر این دو حوزه به صورت ترکیبی با دانش و توانایی بسیار بالا عنوان شود که به آن فولاِستک میگویند.
البته فولاِستک ابعاد مختلفِ خود را دارد، برای مثال ممکن است یک توسعهدهندهٔ فولاِستک تنها در پلتفرم اندروید توانایی طراحی و کدنویسی را به صورت همزمان و بدون نیاز به یار تیمی خود داشته باشد. اما در اصل توسعهدهندههای با تجربه با سابقهٔ بالا که توانایی مدیریتی پروژه و توسعهٔ آنها را دارند از نوع فولاِستک تمام عیار محسوب میشوند که در ادامه به ویژگیهای آنها اشاره شده است.
نقل قولعنوان Full-Stack Developer به معنای واقعی شامل افرادی میشود که واقعا استاد برنامهنویسی هستند. این سری افراد یک توسعهدهنده فول استک، یک گیک به معنای واقعی کلمه هستند.
یک برنامهنویس حرفهای یا همان فولاِستک میبایست مهارتهای زیر را داشته باشد:
- مسلط به زبانهای برنامهنویسی پایه
- آشنایی با UX و UI و مباحث مرتبط با هر یک از آنها
- مدیریت پروژه بر روی پلتفرمهای مختلف
- توانایی کنترل کیفیت محصول
- توانایی کار با انواع فناوریها و کتابخانهها
- توانایی کار با انواع دیتابیس و مدیریت آنها
- هک و امنیت
- بهینه سازی موتورهای جستجو
- آشنایی و توانایی درک و مدیریت کامپایلرها و مفسرها
- درک نیازهای کاربران در محصول (UX)
- آشنایی با سیستم عاملهای مختلف
- آشنایی و توانایی تولید محصول به صورت چند-سکویی (Cross-Platform)
- آشنایی با شبکه و پیکربندی آن برای محصول
- آشنایی با مدیریت سرور و هاستینگ
- آشنایی با سیستمهای مدیریتی و مجازی مانند VM
- آشنایی با سخت افزار
- آشنایی با رابط های برنامه نویسی APIها
- آشنایی با انواع محیطهای توسعه
- و موارد دیگر که در یک پروژه از صفر تا صد میتوان به آنها نیاز پیدا کرد.
- برنامهنویسان Full-Stack Developer به تنهایی میتواند درتولید و توسعه یک محصول موثر باشد و زمانی که با مشکلی مواجه شوند نمیگوید من آن را بلد نیستم، بلکه حتماً آن را حل خواهند کرد.
به طور کلی کسب مهارت در سطح بالا در حد یک توسعه دهنده فولاِستک بسیار سخت است اما نباید بگوییم که غیر ممکن است، در صورتی که چنین تعریفی برای یک توسعهدهندهٔ فولاستک در نظر بگیریم، بدون اغراق باید گفت تعداد اندکی از این برنامهنویسان موجود است که بتوانیم چنین لقبی را به آنها اختصاص بدهیم بنابراین چنین برنامهنویسانی بسیار ارزشمند هستند لذا به خوبی میدانند یک نرم افزار چگونه طراحی میشود و توانایی این را دارند از صفر تا صد یک نرمافزار را طراحی و روانه بازار کنند. علاوه بر این توسعه دهنده Full-Stack کسی است که واژگانی مانند نبود، نمیشه، امکان نداره، نمیتوم، کار من نیست و ... را بر زبان نمیآورند و اگر هم چیزی را ندانند تمام تلاش خود را میکنند تا بدون نیاز به کمک شخصی دیگر آن را حل کنند. این نوع توسعهدهندهها بسیار با ارزش و مهم هستند، و نکته جالب اینجاست که آنها سالها تلاش کردهاند و مسلماً به تنهایی صاحب کسبوکار خود بوده و در انتخاب اول برای کسی کار نمیکنند.
برای توسعه دهندهٔ فولاِستک فرقی نمیکند محصول تحت چه پلتفرمی باشد، او میتواند تحت دسکتاپ، وب، موبایل و دیگر پلتفرم ها آن را تولید کند.
- 2
- 2
2 دیدگاه
نظرهای پیشنهاد شده