توسعه‌دهندگان نرم‌افزار و پیشرفت شغلی

برنامه‌نویس‌های و توسعه‌دهندگانی که در شرکت‌های مختلف کامپیوتری، نرم‌افزاری و IT مشغول به کار هستند همگی یک دغدغه مشترک دارند. همه آنها به این فکر می‌کنند که آیا ماندن و ادامه کار در این شرکت به جز دریافت حقوق و مزایا عایدی دیگری هم برای آنها دارد؟ آیا ماندن در شرکت رشد و پیشرفت شغلی متناسبی برای آنها به ارمغان می‌آورد؟ آیا بعد از چند سال کار رزومه آنها واقعاً پربارتر می‌شود یا این که صرفاً به سابقه کار آنها چند سال دیگر اضافه می‌شود؟ آیا ادامه فعالیت در شرکت توانایی‌های فنی و مدیریتی آنها را به اندازه کافی افزایش می‌دهد؟ اینها دغدغه‌هایی است که هیچ گاه برنامه‌نویسان را رها نکرده و نمی‌کند.

 

توانایی‌های مدیریتی (غیر فنی) و حرکت در سلسله مراتب شرکت بخش مهمی از پیشرفت شغلی به حساب می‌آید. این که شما به عنوان برنامه‌نویس Junior شروع کرده و پس از مدتی به شما عنوان Senior داده می‌شود بعدش تبدیل به مدیر تیم توسعه نرم‌افزار شده و سپس مدیر پروژه شده و در نهایت مدیر فنی شرکت می‌شوید نشان دهنده پیشرفت شغلی شماست. لازمه این پیشرفت شغلی این است که شرکت به اندازه کافی بزرگ بوده و حداقل یک یا دو تیم مثلاً ۸ نفره از برنامه‌نویسان در آن حضور داشته باشند تا بتوان نقش‌هایی مثل مدیر پروژه یا مدیر فنی را تعریف کرد. علاوه بر این شرکت مورد بحث باید دارای تعداد تیم دیگر برای پشتیبانی و فروش هم باشد تا مدیر عامل را آنقدر مشغول کند که خودش شخصاً نخواهد نقش مدیر فنی یا حتی مدیر پروژه را به عهده بگیرد.

 

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

 

در مقابل شرکت‌های کوچک و متوسط شرکت‌های بزرگ وجود دارند که شامل همه یا بیشتر این نقش‌ها هستند و تصور اولیه بر این نیست که پیشرفت شغلی در این طور شرکت‌ها معنا دارتر است. اما اینجا هم اوضاع تعریف چندانی ندارد. چون خیلی از این شرکت‌ها بر اساس منافع گروهی و جناحی تشکیل شده‌اند، ورود به تیم‌ها و بالا رفتن از نردبان ترقی شغلی آنها همیشه هم بر اساس شایسته سالاری، مهارت‌ها و توانایی‌ها و توزیع فرصت‌های برابر برای پیشرفت نیست. منافع گروه‌های مختلف ایجاب می‌کند که شخصی بدون داشتن توانایی‌های کافی وارد تیم شود یا این که شخص دیگری عمدتاً بر اساس اصل «از خودمان است» تکیه بر جایگاه مدیریت پروژه بزند در حالی توانایی‌ها و تجارب کافی در این زمینه ندارد. خلاصه این که امید زیادی هم به این دست شرکت‌ها نیست چون به اندازه کافی بلوغ سازمانی پیدا نکرده‌اند، بروکراسی زیادی دارند و منافع گروهی و بعضاً فامیلی موجود در ساختار آنها فرصت‌های پیشرفت شغلی را ناعادلانه کرده است.

 

یکی دیگر از جنبه‌های پیشرفت شغلی که در مشاغل مرتبط با IT نمود بیشتری پیدا می‌کند توسعه مهارت‌های فنی مثل توسعه نرم‌افزار با تکنولوژی‌های مختلف، معماری سیستم، امنیت اطلاعات و غیره است. خوشبختانه از این جهت که این مهارت‌ها را مستقلاً هم می‌توان یاد گرفت اوضاع در این جنبه از پیشرفت شغلی کمی بهتر است. اما نه آنقدر بهتر که نتوان انتقادی به آن داشت. اصل بهبود و توسعه مهارت‌ها زمانی اتفاق می‌افتد که آن آموخته‌ها در حین کار اصلی مورد استفاده قرار بگیرد. نه این که در طول ۸ ساعت کاری از روش‌ها و فناوری‌های ۱۰ سال پیش استفاده شده ولی دلخوش باشیم به ۲ ساعتی که در شب با تکنولوژی‌های روز تمرین می‌شود. در کل در این زمینه شرایط شرکت‌های کوچک و متوسط نسبتاً از شرکت‌های بزرگ بهتر است. آنها انعطاف پذیری بیشتری دارند و راحت‌تر زیر بار سویچ به تکنولوژی‌های جدید می‌روند.

 

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


پ.ن. ۱: این نوشته در لینکدین نیز منتشر شده است.

پ.ن. ۲: چند روز است که سایت disqus مسدود شده و  به همین دلیل قابلیت کامنت وبلاگ از کار افتاده است.

پاسخ دهید

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