« "پير برنامه ساز" ، "برنامه نويس پير"! (قسمت اول - تعریف مشاغل) | صفحه اصلی | ماجرای کوی دانشگاه تهران، از زاویه ای دیگر »

"پير برنامه ساز" ، "برنامه نويس پير"! (قسمت دوم- پیر برنامه ساز)

&"January 27, 2008&"

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

اما برای تبدیل شدن به یک برنامه ساز شما به این سادگی نمی توانید عمل کنید، دانش عمیق تری لازم است و پشتوانه مستحکم تر. معملا برای بچه های غیر نرم افزاری این کار سخت تر از کسانی است که در رشته مهندسی نرم افزار درس خوانده اند. چرا؟ چون برای تبدیل شدن به یک برنامه ساز، صرفا داشتن دانشی سطحی در مورد یک زبان برنامه نویسی کفایت نمی کند، شما باید با مفاهیم اساسی تری مانند، مهندسی نرم افزار، متدولوژی های ساخت سیستم، اصول طراحی بانک های اطلاعاتی و مدیریت آن، سیستمهای عامل، معماری نرم افزارها، مفاهیم برنامه نویسی سطح پایه (Low Level) ، شبکه ها و برنامه نویسی روی شبکه ها، روشهای تست سیستم و .... آشنا بشوید. اینها نکاتی نیست که شما صرفا با خواندن کتاب یا شرکت در کلاسهابدست آورید. در این زمینه تجربه فاکتور بسیار مهمی است یا به قول عوام "خوردن خاک کف بازار". افرادی که مایلند برنامه ساز بشوند باید خصوصیات اخلاقی ، روحی و جسمی خاصی داشته باشند. اینکه با پشتکار ، صبور، دقیق، کنجکاو، مسؤولیت پذیر، عاشق یادگیری مداوم و با هوش باشند، فرایند تبدیل شدن آنها از یک برنامه نویس به یک برنامه ساز را تسهیل می کند.
یک برنامه ساز ارشد یا به قول نوشته ما "پیر برنامه ساز" ، برنامه سازی است که تجربیات متعدد و متوعی در محیط های برنامه سازی مختلف دارد، در مسائل مختلف تجربه کسب کرده و به دانش خود افزوده است. این برنامه ساز، مواردی از تحلیل و طراحی سیستمها و مدیریت پروژه را می شناسد، اما آنها را به عنوان شغل خود انتخاب نمی کند، بلکه با بهره گیری از این دانسته ها، ارتباط بهتری با تحلیلگران سیستم و مدیران پروژه برقرار می کند و به عنوان یک مبدل طراحی ها منطقی به جزییات فیزیکی اقدام می کند. برنامه ساز ارشد باید از چنان هوش و خلاقیتی بهره مند باشد که بتواند برای مسائل مختلف راهکار های ابتکاری و خلاقانه بیابد تا سرعت یا کیفیت تولید کد را کاهش دهد. این برنامه ساز باید توانمندی هدایت برنامه نویسان گروه خود را داشته باشد و دانش خود را به خوبی به آنها منتقل کند.کسی که یاور مدیران پروژه و تحلیل گران سیستم باشد در ساخت یک سیستم. کسی که بتواند با یک شم ذاتی و یک خبرگی، مسائل را تحلیل کند و راهی که دیگران در مدت زمان طولانی باید طی کنند را با خلاقیت خود کوتاه و ساده می کنند.
متاسفانه اکثر بچه های ما در ردیف شغلی برنامه نویسی حداکثر تا برنامه ساز شدن پیشرفت می کنند. برنامه نویس می شوند، برنامه ساز می شوند، پس از آن فکر می کنند که برای یافتن شغلی بهتر و ارتقاء شغلی باید تحلیل گر یا مدیر پروژه شوند. چیزی که ما کم داریم برنامه ساز های ارشدی است که توانائی خاصی در شناخت مسائل و انتخاب ابزار و شیوه مناسب برای ساخت سیستمها را دارا می باشند.
شاید به جرئت بتوانم به این نکنه اقرار کنم که بسیاری از مشکلات ایران در تولید نرم افزار هم از همینجا ناشی می شود، در ایران برنامه نویس کم نداریم (شاید زیاد هم داریم) برنامه ساز هم یافت می شود، اما آنچه یافت می نوشد پیر برنامه ساز است.
معمولا شاهد بچه های باهوشی هستم که می توانند برنامه ساز خوبی بشوند اما به خاطر این طرز فکر غلط که برنامه نویس بودن در دراز مدت خوب نیست و نه خودشان و نه جامعه می پذیرد که آنها برنامه ساز بمانند، وارد مشاغل دیگر مهندسی نرم افزار می شوند، تحلیل گر می شوند، مدیر پروژه می شوند و یا یک شرکت می زنند، و در حالیکه در آن گروه می توانستند جزء بهترین ها باشند، در شغل جدید حداکثر به یک آدم متوسط تبدیل می شوند که اکثرا به این هم دست پیدا نمی کنند و تبدیل به آدم های ناموفق و شکست خورده می شوند.
قبل از پایان بگذارید امیدوار باشم که روزی در ایران این مسابقه پایان پیدا کند که آدم ها مرتبط از ردیف شغلی به ردیف دیگر بروند بدون آنکه بتوانند یا بدانند که باید چه مهارتی داشته باشند.
در نوشته بعدی به مساله برنامه نویس پیر اشاره خواهم کرد.
همین!

Ali Vahed | 12:29 PM