« چهره انتخاباتی | صفحه اصلی | "پيرِ برنامه ساز" ، "برنامه نويسِ پير"! (قسمت دوم- پیرِ برنامه ساز) »

"پيرِ برنامه ساز" ، "برنامه نويسِ پير"! (قسمت اول - تعریف مشاغل)

January 26, 2008 09:34 AM

چند وقت پيش در برخي وبلاگ هاي نرم افزاري بحثي بود در اين زمينه که آيا براي برنامه نويسي، شرط سني بايد قائل شد يا خير و آيا اين شغل عمر مشخصي دارد؟ بحث ديگر تفاوت برنامه ساز و برنامه نويس بود که کداميک بهتر هستند؟ هر چند مباحث مطرح شده توسط نويسندگان اين نوشته ها را قبول دارم ، دراين نوشته قصد دارم از نگاه خودم به اين سوالها پاسخ دهم.
پيش از پرداختن به اصل مطلب بگذاريد نگاهي داشته باشيم به مشاغل موجود در مهندسي نرم افزار:
در کتاب  Careers in Computers  نوشته Lila Stair و Leslie Stair انتشاراتMcGraw-Hill   شاید چیزی نزدیک به 150 تا 200 ردیف شغلی مختلف برای مهندس کامپیوتر فهرست شده است اما اگر بخواهیم خیلی خلاصه طبقه بندی کنیم می توانیم ردیف های شغلی زیر را مشخص کنیم:
- اپراتور : به هر نوع شغلی که متضمن کارکردن و نگهداری یک نرم افزار، بانک اطلاعات یا سیستم اطلاق می شود. این ردیف می تواند از مدیریت آن سیستم تا کاربر ساده آن باشد.
- برنامه نویس: به همه مشاغل مرتبط با تولید یک برنامه کامپیوتری، از برنامه نویس و برنامه ساز ارشد تا یک برنامه نویس جز گفته می شود.
-تحلیل گر سیستم: افرادی که وظیفه تجزیه و تحلیل یک سیستم و تبدیل آن به یک مدل شناخت، تهیه فهرست نیازها و طراحی منطقی و فیزیکی سیستم های مبتنی بر کامپیوتر را بر عهده دارند، در این گروه قرار می گیرند.
- مدیر پروژه: وظیفه برنامه ریزی، سازماندهی و نظارت بر روی پروژه های نرم افزاری را بر عهده دارند.
-طراح مساله: به افراد خبره ای که وظیفه کشف و طراحی مسائل جدید و ارتقاء سطح نرم افزار ها را با ایجاد و پیش بینی نیازها و پرسش های جدید بر عهده دارند گفته می شود.
 اگر این دسته بندی را قبول داشته باشید می توانیم بحث را ادامه دهیم.

در این تقسیم بندی به نکات زیر دقت داشته باشید:
- مهم نیست در کدام گروه قرار دارید، مهم آن است که در میان بهترین افراد هر گروه باشید.
-این طبقه بندی به معنی رتبه بندی نیست. این شکل نیست که اپراتور پایین تر از برنامه نویس باشد و .... در ایران است که این تلقی غلط وجود دارد که این مشاغل رتبه بندی شده اند. هر کدام از این شغل ها به یک روحیه، علاقه و توان خاصی ارتباط دارد. برای مثال یک تحلیل گر باید الزاما دارای روابط اجتماعی قوی باشد و الزامی ندارد که حتما برنامه نویس خیلی خوبی باشد (اگر چه باید برنامه نویسی را بشناسد تا در طراحی ها، انتزاعی عمل نکند) یا، توانمندی های مدیریتی و برنامه ریزی یک مدیر پروژه غالب تر از توانمندی های نرم افزاری وی است. خلاقیت و خبرگی شرط لازمه یک طراح مساله است.
- در هر شغل می توان پول خوب بدست آورد اگر بتوانید به خوبی مهارت کسب کنید.
- الزامی ندارد همه مهندسین نرم افزار برنامه نویس، تحلیل گر و یا مدیریت پروژه بشوند. شاید از هر 1000 نفر، 900 نفر بتوانند برنامه نویس شوند، 100 نفر بتوانند تحلیل گر بشوند، 10 نفر مدیر پروژه و فقط یکی طراح مساله، بنابر این نباید تلاش کرد در این لیست آخری شد، باید تا هر جا که می توان پیش رفت.
با این مقدمه نسبتا طولانی ، می توان به این مساله به خوبی پی برد که "سن" عامل مهمی در برنامه نویسی نیست. بلکه روحیه و توانمندی آن شخص است که باعث می شود برنامه نویس بشود و برنامه نویس بماند. برخی ها "پیر برنامه ساز" هستند با معادل کردن "پیر" با واژه مرشد و راهبر در ادبیات فارسی که توان برنامه سازی بالایی دارند، شناخت خوبی از مسائل مختلف دارند و به سادگی می توانند ابزار پیاده سازی لازم برای ساخت یک سیستم را شناسایی کنند و بکارگیرند. برخی هم می توانند برنامه نویس پیر باشند. که کار با یک ابزار را خوب می دانند و می توانند مساله و طراحی که به آنها داده می شود را پیاده سازی کنند و تست کنند و سالها در همین شغل می مانند تا بازنشته شوند.
در قسمت دوم این نوشته در مورد آفت های این بحث و بررسی وضعیت درستی این مطلب در ایران خواهم پرداخت ....
همین!

Ali Vahed | 09:34 AM

 

نظرخواهی

یکی از بحث های مورد علاقه ی منه, منتظر پست بعدی هسنم.

ارسال شده توسط: مسعود در ساعت January 26, 2008 12:49 PM

بحث جالبی هست. فقط من نتونستم اسم کتاب رو بخونم!

ارسال شده توسط: Ali Reza در ساعت January 26, 2008 01:35 PM

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

ارسال شده توسط: ali در ساعت January 26, 2008 05:55 PM

شايد براي نظر دادن بهتر باشه منتظر قسمت بعدي بمونم اما من با "برنامه نويس پير" مشكل دارم
شما بهتر از من مي دانيد كه ابزارهاي برنامه نويسي مرتب در حال رشد و تغييرند
از سوي ديگر پير شدن معمولا (و نه هميشه) معادل مقاومت در برابر تغيير است
مثلا فرض كنيد برنامه نويس پيري كه كاملا مسلط به فاكس پرو است
با وجود ابزار هاي پيشرفته برنامه نويسي آيا اين برنامه نويس پير جايي براي فعالت خواهد داشت؟

ارسال شده توسط: Mohsen در ساعت January 27, 2008 09:20 AM

ممنون

ارسال شده توسط: Ali Reza در ساعت January 27, 2008 07:35 PM