فرق برنامه نویس, توسعه دهنده ی نرم افزار و مهندس نرم افزار

امکان داره!؟
نوامبر 23, 2017
آيا رشته ى نرم افزار نرم و رشته ى سخت ‏‎افزار سخته؟
نوامبر 23, 2017

اگر نمی دونید نگران نباشید اکثر کسانی که در این صنعت کار میکنند هم نمیدونند! در صورتی که هم توانایی های این افراد و هم تخصصشون خیلی متفاوت از هم هست.

⭕️ برنامه نویس: برنامه نویس کامپیوتر معمولا فردیه که به یک یا چند زبون برنامه نویسی مسلطه و میتونه تکه ای از یک برنامه ی تخصصی و یا یک برنامه ی عادی رو در حالت کاملا نرمال و عمومیش بنویسه. معمولا بیشتر کسانی که به عنوان برنامه نویس در صنعت نرم افزار در ایران و در جهان کار میکنند به صورت آکادمیک نرم افزار رو در دانشگاه نخوندند و خودشون به طریقی مثل کلاس های فنی, کتاب و یا منابع آنلاین یاد گرفتند. علت اصلی که افراد شاغل در این حوزه به صورت آکادمیک نرم افزار نخوندن هم اینه که بازار به اونها بیشتر کشش داره. عموما درآمد پایین تری دارند از کسی که همین کار رو انجام میده ولی نرم افزار خونده و تقریبا همون کارایی رو داره. پس چون به صرفه تر هستند راحت تر جذب بازار کار میشن.

⭕️ توسعه دهنده ی نرم افزار: معمولا از دو طریق میشه تبدیل به یه توسعه دهنده ی نرم افزار شد. کسانی که برنامه نویس بودند و الان تجربه ی کافی رو پیدا کردند یا کسانی که با استفاده از منابع مختلف تا قسمتی با علم این کار آشنا شدند و میتونند تا حدودی نرم افزار های کمی پیچیده تر رو طراحی و پیاده سازی کنند. توسعه دهنده ها معمولا از برنامه نویس ها کارهای پر درامد تری دارند و خیلی تقاضا براشون در بازار زیاده چون تا حدود زیادی میتونند نیازهای یک کسب و کار کوچک رو پاسخ بدند و اصطلاحا ۰ تا ۱۰۰ یک محصول ساده رو میتونند پیاده سازی کنند. توسعه دهنده های بسیار بسیار زیادی داریم که بر اساس تواناییشون و شاخه ی فعالیتشون دسته بندی میشن. مثلا توسعه دهنده ی وب, توسعه دهنده ی اپلیکیشن های اندروید, توسعه دهنده ی ماژول های وردپرس و … .

⭕️ مهندس نرم افزار: و اما مهندس نرم افزار. مهندس نرم افزار کسیه که ممکنه خیلی برنامه نویس قوی ای نباشه که البته اگر باشه خیلی بهتره. مهندس نرم افزار کسیه که میدونه یک رویه که ممکنه اصلا مدرنیزه و مکانیزه نشده باشه رو چطور تبدیل به یک رویه ی مدرن و بهینه با استفاده از نرم افزار و کامپیوتر کنه. برای مثال فرض کنید که فردی که ۷۰ سالشه و مغازه ای در بازار داره میخواد تا با استفاده از کامپیوتر کارهاش رو ساده تر کنه و گسترش بده. این وظیفه ی یک مهندس نرم افزاره که از مرحله ی اول که استخراج نیازمندی های اون شخصه تا مرحله ی آخر که آزمایشات مختلف و اعتبار سنجی محصول نهایی و تطابق دادنش با نیازمندی های استخراج شده هست رو برنامه ریزی و اجرا کنه. البته باید این رو هم اضافه کرد که مهندسین نرم افزار چندین و چند شاخه میشند و ممکنه به جای یک نفر, تیمی از مهندسین نرم افزار با تخصص های مختلف مثل معمار نرم افزار, معمار سازمانی, مسئول نیاز سنجی, مسئول تستینگ و غیره در یک پروژه به کار گرفته بشند. ولی چیزی که مهمه اینه که در ۹۹ درصد مواقع تنها با تحصیلات آکادمیک و یا آموزش های کافی یک فرد به مهندس نرم افزار تبدیل میشه و یه برنامه نویس فقط با تکیه به تجربه هیچ وقت نمی تونه مهندس نرم افزار خوبی بشه.

⭕️ مهندس کامپیوتر: این واژه ی غریب در خارج ایران معمولا یعنی مهندس سخت افزار و در داخل ایران یعنی کسی که یه چیزای خیلی سطحی از کامپیوتر میدونه.

سروش مرتضی پور
سروش مرتضی پور
سلام. نام من سروش مرتضی پور است و مدیر فنی و از بنیانگذاران یکی از استارتاپ های موفق اتریش در زمینه ی اینترنت و تکنولوژی و محقق دکترای هوش مصنوعی و ارتباط انسان و روبات در فضاهای واقعیت مجازی در دانشگاه تکنیک وین هستم.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

//]]>