رفتن به مطلب
مرجع رسمی سی‌پلاس‌پلاس ایران

برنامه نویسی

  • نوشته‌
    21
  • دیدگاه
    19
  • مشاهده
    9,617

مشارکت‌کنندگان این وبلاگ

چه کسانی Full-Stack Developer هستند

کامبیز اسدزاده

2,255 بازدید


برنامه‌نویس تنها در این عنوان خلاصه نمی‌شود و لازم است بدانید که برنامه‌نویسان در چند دسته متفاوت وجود دارند که برخی از آن ها به صورت 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 دیدگاه


نظرهای پیشنهاد شده

خیلی عالی میشد اگه در مورد این مفهوم که آیا میشه به کسی که به مسائل مربوط به یک زمینه تسلط داره هم فول استک گفت؟ توضیح بدید. برای مثال توسعه دهنده‌ی اندروید فول استک یا توسعه دهنده‌ی وب فول استک 

ویرایش شده در توسط mrdimaan

به اشتراک گذاری این دیدگاه


لینک به دیدگاه
در 16 دقیقه قبل، mrdimaan گفته است :

خیلی عالی میشد اگه در مورد این مفهوم که آیا میشه به کسی که به مسائل مربوط به یک زمینه تسلط داره هم فول استک گفت؟ توضیح بدید. برای مثال توسعه دهنده‌ی اندروید فول استک یا توسعه دهنده‌ی وب فول استک 

در کشور ما و حتی بعضی از تعاریف جهانی فول استک به کسی میگن که بتونه بخش رابط کاربری و بک‌اند برنامه‌‌ای رو به تنهایی توسعه بده، یعنی توانایی اتصال این دو بخش به هم رو داشته باشه. اما اصل قضیه این هست که یک فول استک باید با مباحث بسیار عمیق‌تری آشنا باشه که در پُست بهش اشاره کردیم (کسی که در هر بخش و مبحثی حرفی برای گفتن داشته باشه). در کل پاسخ سوال شما مثبت هست میشه گفت کسی که در یکی از حوزه‌های فعالیتی مثل اندروید، وب یا هر بخش دیگه‌ای بتونه به خوبی از پس کار‌های مرتبط با هر لایه‌ای از برنامه‌نویسی محصولش موفق عمل کنه یک فول استک هست.

به اشتراک گذاری این دیدگاه


لینک به دیدگاه
مهمان
افزودن دیدگاه

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از ۷۵ اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به عنوان یک لینک به جای

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

  • کاربران آنلاین در این صفحه   0 کاربر

    هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.

×
×
  • جدید...