درخواست های ارتباط
جستجو
    لیست دوستان من
    صندوق پیام
    همه را دیدم
    • در حال دریافت لیست پیام ها
    صندوق پیام
    رویدادها
    همه را دیدم
    • در حال دریافت لیست رویدادها
    همه رویدادهای من
    اطلاعات مطلب
      مدرس/نویسنده
      محمد نصیری
      امتیاز: 802020
      رتبه:1
      364
      1646
      801
      10551
      محمد نصیری ، بنیانگذار TOSINSO ، کارشناس امنیت اطلاعات و ارتباطات و کشف جرائم رایانه ای ، هکر کلاه سفید ، تخصص در حوزه امنیت سیستم عامل و تست های نفوذسنجی ، لینوکس ، مجازی سازی ، سرویس های کاربردی سرور و ... سابقه همکاری در بیش از 40 سازمان دولتی ، خصوصی و نظامی در حوزه پروژه ، مشاوره و آموزش ، بیش از 10 هزار ساعت سابقه آموزشی در طی 12 سال فعالیت حرفه ای ... پروفایل کاربر
      دوره های مرتبط
      دوره های توسینسو دوره آموزشی طراحی رابط کاربری با JavaFX
      دوره آموزشی طراحی رابط کاربری با JavaFX
      مدرس: حسام رسولیان
      این دوره را در 13 قسط خریداری کنید
      دوره تخصصی آموزش متن کاوی با ابزار NLTK
      دوره تخصصی آموزش متن کاوی با ابزار NLTK
      مدرس: کاظم تقندیکی
      این دوره را در 11 قسط خریداری کنید
      دوره آموزشی ساخت ربات تلگرام
      دوره آموزشی ساخت ربات تلگرام
      مدرس: کاظم تقندیکی
      این دوره را در 8 قسط خریداری کنید
      دوره آموزشی Exploit نویسی به زبان Perl
      دوره آموزشی Exploit نویسی به زبان Perl
      مدرس: ایمان جوادی
      این دوره را در 7 قسط خریداری کنید
      ساخت و مدیریت ربات تلگرام از صفر با زبان سی شارپ
      ساخت و مدیریت ربات تلگرام از صفر با زبان سی شارپ
      مدرس: مهدی عادلی فر
      این دوره را در 2 قسط خریداری کنید
      دوره آموزشی پردازش متن با زبان برنامه نویسی پایتون
      دوره آموزشی پردازش متن با زبان برنامه نویسی پایتون
      مدرس: کاظم تقندیکی
      این دوره را در 20 قسط خریداری کنید
      با خرید این دوره مبلغ 7,040 تومان هدیه بگیرید
      دوره آموزشی برنامه نویسی WPF در ویژوال استودیو
      دوره آموزشی برنامه نویسی WPF در ویژوال استودیو
      مدرس: امیر حسین فضلیخانی
      این دوره را در 12 قسط خریداری کنید
      دوره آموزشی مقدماتی برنامه نویسی به زبان سی شارپ
      دوره آموزشی مقدماتی برنامه نویسی به زبان سی شارپ
      مدرس: حسین احمدی
      این دوره را در 17 قسط خریداری کنید
      با خرید این دوره مبلغ 8,470 تومان هدیه بگیرید
      دوره آموزشی برنامه نویسی اندروید با زبان جاوا به زبان ساده
      دوره آموزشی برنامه نویسی اندروید با زبان جاوا به زبان ساده
      مدرس: مهدی عادلی فر
      این دوره را در 27 قسط خریداری کنید
      با خرید این دوره مبلغ 8,110 تومان هدیه بگیرید
      دوره آموزشی برنامه نویسی پیشرفته زبان سی شارپ
      دوره آموزشی برنامه نویسی پیشرفته زبان سی شارپ
      مدرس: حسین احمدی
      این دوره را در 78 قسط خریداری کنید
      با خرید این دوره مبلغ 82,245 تومان هدیه بگیرید
      دوره آموزشی مقدماتی برنامه نویسی جاوا به زبان ساده
      دوره آموزشی مقدماتی برنامه نویسی جاوا به زبان ساده
      مدرس: مهدی عادلی فر
      این دوره را در 17 قسط خریداری کنید
      با خرید این دوره مبلغ 5,445 تومان هدیه بگیرید
      دوره آموزشی برنامه نویسی حرفه ای پایتون به زبان ساده
      دوره آموزشی برنامه نویسی حرفه ای پایتون به زبان ساده
      مدرس: حسین احمدی
      این دوره را در 23 قسط خریداری کنید
      با خرید این دوره مبلغ 7,425 تومان هدیه بگیرید
      دوره آموزشی برنامه نویسی به زبان پرل بصورت پروژه محور
      دوره آموزشی برنامه نویسی به زبان پرل بصورت پروژه محور
      مدرس: ایمان جوادی
      این دوره را در 13 قسط خریداری کنید
      دوره آموزشی اسکریپت نویسی Batch یا Batch Scripting در ویندوز به زبان ساده
      دوره آموزشی اسکریپت نویسی Batch یا Batch Scripting در ویندوز به زبان ساده
      مدرس: حسین احمدی
      این دوره را در 11 قسط خریداری کنید

      تفاوت بین یک برنامه نویس ( Programmer ) و توسعه دهنده ( Developer ) در چیست ؟

      تاریخ 6 ماه قبل
      نظرات 1
      بازدیدها 358
      با سلام به همه کاربران عزیز جزیره برنامه نویسی وب سایت توسینسو ، یکی از سئوالاتی که ذهن خودم را این روزها درگیر کرده بود و تصمیم گرفتم در مورد آن در توسینسو مطلب بنویسم این مورد است که تفاوت یک برنامه نویس و یک توسعه دهنده در چیست ؟ در واقع این روزها هر کسی که کدنویسی کامپیوتر را بلد باشد اسم برنامه نویس یا توسعه دهنده را بر روی خودش می گذارد اما واقعا تفاوت این دو کلمه در چیست ؟ چه تخصص هایی در این بین وجود دارند که تفاوت های برنامه نویس و توسعه دهنده نرم افزار را تعریف می کنند ؟ اگر بخواهیم ساده توضیح بدهیم ، یک برنامه نویس ، برنامه می نویسد و یک توسعه دهنده توسعه می دهد !! این واژگان آنقدر در صنعت کامپیوتر دارای پیچیدگی هستند که از لحاظ شغلی و جایگاه تخصصی نیز از جمله پیچیده ترین طبقه بندی های شعلی محسوب می شوند . اما ابتدا بیایید با شباهت های بین این دو عنوان شغلی شروع کنیم و سپس به تفاوت ها برسیم .

      در هر دو سمت شغلی برنامه نویس و توسعه دهنده نرم افزار کامپیوتر ، متخصص ما باید بتواند کدهای یک یا چند زبان برنامه نویسی را بنویسد ، آنها را تست کند و به قول برنامه نویس ها دیباگ ( Debug ) یا رفع اشکال کند . در هر دو سمت شغلی متخصص یه درخواست ها و نیازهای مشتری اهمیت می دهند و آنها را به خوبی درک می کند . پس از این دو نظر می توان تا اینجا برنامه نویس و توسعه دهنده را یک شخص دانست اما تفاوت از اینجا شروع می شود که زمانیکه صحبت از توسعه دادن می شود ، الزاما صحبت از شخص نیست ، بلکه ممکن است ما صحبت از یک شرکت توسعه دهنده نرم افزار نیز داشته باشیم ، زمانیکه صحبت از توسعه دادن می شود یعنی شخص یا شرکت همیشه در حال ارائه ایده ها و راهکارهای جذاب و جدید برای حل کردن مشکلات تجارت های مختلف است و هیچوقت یک محصول و کار تکراری انجام نمی دهد ، همانطور که از نامش هم پیداست توسعه دهنده است یعنی یک یا چند محصول دارد که همیشه در حال پیشرفت و توسعه هستند .

      یک توسعه دهنده نرم افزار علاوه بر اینکه ویژگی های یک برنامه نویس حرفه ای را دارد از طرفی یک سری استعدادها و مهارت ها مثل نحوه ارتباط گیری با کاربران ، تجزیه و تحلیل نیازمندی های تجاری پروژه ، طراحی و معماری سیستم ، مهارت های متنوع فنی ، مهارت های ارتباطی و بیانی ، مستند سازی ، آزمایش کردن ، مدیریت پروژه و بسیاری دیگر از مهارت ها را نیز دارد . در واقع یک توسعه دهنده یا Developer مهارت هایش محدود نیست و می تواند این مهارت ها را هر روز گسترده تر کند و طبیعتا دیدگاه بسیار بسیار وسیع تری نسبت به پروژه های نرم افزاری به نسبت یک برنامه نویس دارد . برای مثال یک برنامه نویس ممکن است بلد باشد کد یک نرم افزار حسابداری را بنویسد اما هیچ دیدی نسبت به بازار هدف ، نحوه انتشار نرم افزار در تجارت های مختلف ، بازاریابی ، خدمات پس از فروش ، رابط کاربری ، تجربه کاربری و ... نداشته باشد .

      توسعه دهنده الزاما نباید یک برنامه نویس خبره نیز باشد ، اما قطعا می تواند کدنویسی کند ، نکته مهم این است که یک توسعه دهنده قدرت تجزیه و تحلیل کدهای نوشته شده توسط یک برنامه نویس و ارائه گزارش های مربوط به مشکلات و بهبود های یک نرم افزار را می تواند داشته باشد ، به زبان ساده تر یک توسعه دهنده قدرت Debug کردن بهتری به نسبت یک برنامه نویس از این لحاظ دارد . توسعه دهنده می تواند قسمت تجاری مسئله نرم افزار را به درستی بررسی کند و مشکلاتی که در این حوزه وجود دارند را مشاهده و برطرف کند ، اگر کسی قرار است در سمت شغلی توسعه دهنده در یک شرکت استخدام شود حتما باید مباحثی مثل برنامه ریزی و مدیریت پروژه نرم افزاری ، نوشتن خاصیت های پروژه ، نحوه ایجاد کردن بسته نرم افزاری ، پروتکل رفع اشکالات موجود در نرم افزار چه در زمان نوشته شدن و چه در زمان نصب نرم افزار و بسیاری دیگر از مهارت های از این دست را داشته باشد . بصورت خلاصه توسعه دهنده یعنی طراح ، تجریه و تحلیل گر ، پیاده ساز ، کدنویس ، تست کننده ، نگهداری کننده و مستند ساز یک پروژه نرم افزاری و یک برنامه نویس طبیعتا بصورت خلاصه قسمت کدنویسی ، تست کردن و کامپایل کردن نرم افزار را بیشتر بر عهده دارد .

      توسعه دهنده نرم افزار را می توان به چاقوی ارتش سوئیس ( چاقوی همه کاره ) تشبیه کرد که توانایی استفاده از انواع و اقسام ابزارها و دانش برای رسیدن پروژه به مقصد را بر عهده دارد . برنامه نویس بیشتر از اینکه همه کاری بتواند انجام بدهد توانایی نوشتن کدهای خوب دارد ، مهمترین وظیفه یک برنامه نویس نوشتن یک کد بدون باگ و بدون مشکل برای اجرا است و قسمت های غیرمرتبط با کدنویسی بیشتر بر عهده توسعه دهنده است. لیست وظایف یک برنامه نویس نوشتن کدها ، تست کردن کدها و رفع اشکال یا Debug کردن کدهاست ، در خصوص تست و Debug در این قسمت کارشان با توسعه دهنده تداخل کاری دارند . در سطوح کلان وظیفه یک توسعه دهنده و یک برنامه نویس تفکیک شده است و در سازمان ها دو نفر در این پست ها قرار می گیرند ، برنامه نویس کدها را می نویسد و تست می کند و رفع اشکال می کند و توسعه دهنده راهکارهای تجاری ، مشکلات رابط کاربری ، مسائل مالی و تجاری ، ارائه پیشنهادات و انتقادات برای بهبود وضعیت کد نوشته شده و بصورت کلی ارائه راهکار نهایی را بر عهده دارد . از نظر فنی و حتی مالی یک توسعه دهنده یک یا چند لایه بالاتر از یک برنامه نویس است زیرا برنامه نویس به عنوان یک پیشنیاز برای تبدیل شدن به یک توسعه دهنده در نظر گرفته می شود. اگر بخواهیم بصورت خلاصه عنوان کنیم :

      1. برنامه نویس ها و توسعه دهندگان نرم افزارهای کامپیوتری هر دو وظیفه نوشتن ، تست کردن و Debug کردن کدها را برعهده دارند
      2. توسعه دهندگان نرم افزار مهارت هایی به نسبت بسیار بیشتر از یک برنامه نویس کامپیوتر دارند که حتی محدود به کامپیوتر نمی شود
      3. توسعه دهندگان نرم افزار کارهای بسیار زیادی انجام می دهند از جمله تجزیه و تحلیل ، طراحی ، پیاده سازی ، نگهداری ، مستند سازی و سایر مشکلات مربوط به آن ... را می توانیم ذکر کنیم
      4. برنامه نویس ها نیز مهارت های ویژه ای برای خودشان دارند که نوشتن ، تست کردن و Debug کردن نرم افزارها از جمله آنها است ، از یک برنامه نویس بیشتر از این نباید انتظار داشت
      5. سطح کاری یک توسعه دهنده نرم افزار بسیار بالاتر از یک برنامه نویس است و طبیعتا یک توسعه دهنده قبلا در لایه برنامه نویس باید فعالیت کرده باشد و تجربه برنامه نویسی داشته باشد

      نویسنده : محمد نصیری
      منبع : programming.tosinso.com
      هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد
      برچسب ها
      مطالب مرتبط

      در حال دریافت اطلاعات

      نظرات

      برای ارسال نظر ابتدا به سایت وارد شوید

      arrow