ایجاد انگیزه در شرکت‌های تولید نرم‌افزار

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

پروژه‌های خوب، شرکت‌های بد

من نمی‌دانم چه رمز و رازی وجود دارد که این همه پروژه خوب دست شرکت‌هایی می‌افتد که توان اجرای یک دهم آن پروژه را هم ندارند. آیا واقعاً باید به شانس اعتقاد پیدا کنیم؟

۱- شهرت و اعتبار: خوب یک سری از شرکت‌ها به خاطر اعتباری که دارند مدام پروژه جذب می‌کنند. البته متاسفانه بازار نرم‌افزار ما آنقدر عجیب و غریب است که طرف مثلاً در نصب شبکه و خدمات سخت‌افزاری شهرت دارد ولی به واسطه همین شهرت پروژه‌های نرم‌افزاری بزرگ جذب می‌کند. یا مثلاً طرف گردش مالی خوبی دارد، در فلان حوزه نرم‌افزار مثل نرم‌افزارهای مالی هم شهرت دارد ولی یک دفعه‌ای پروژه‌های نرم‌افزار مخابراتی گیرش می‌آید. ظاهراً شهرت یا همان اسم در کردن در کشور ما قدرت زیادی دارد.

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

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

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

واقعاً چطور می‌توان از این بازار و در این سیستم پروژه گرفت؟ آیا قوانین نانوشته ولی مشخصی دارد که ما بلد نیستیم؟ آیا مشکل از مشتری‌هاست که با چشم بسته انتخاب می‌کنند؟ آیا…؟

خودتان را تبلیغ کنید: شرکت‌ها

از مهم‌ترین مشکلاتی که در بازار کار نرم‌افزار کشور وجود دارد نبود ارتباطات کافی بین برنامه‌نویس‌ها/توسعه‌دهنده‌ها از یک سو و شرکت‌ها/تیم‌های نرم‌افزاری و برنامه‌نویسی از دیگر سو می‌باشد. همیشه شرکت‌ها در جذب برنامه‌نویس دلخواه دچار مشکل هستند و بالعکس یعنی برنامه‌نویس‌ها هم در پیدا کردن شرکت دلخواه خود دچار مشکلات فراوانی هستند. یک طرف این قضیه برنامه‌نویسانی هستند که خودش را به خوبی در صنف برنامه‌نویسی و نرم‌افزار معرفی نکرده‌اند و طرف دیگر قضیه، که این نوشته درباره‌ی آنهاست، شرکت‌هایی هستند که امتیازات و شرایط خوب خود را به خوبی به برنامه‌نویسان جوینده‌ی کار معرفی نکرده‌اند.

خیلی از شرکت‌هایی که از نزدیک دیده‌ام وقتی نیاز به جذب یک برنامه‌نویس جدید دارند از همه‌ی کانال‌های ممکن برای این کار استفاده می‌کنند. آنها برای این کار از شبکه دوستی و شبکه اجتماعی خودشان یا کارمندانشان، آگهی در سایت شرکت خودشان، آگهی دیواری در محل‌های خاص مثل دانشکده‌های کامپیوتر دانشگاه‌ها، آگهی در سایت‌های کاریابی مختلف مثل JobIran، ITJobs و IranTalent، آگهی در نیازمندی‌های همشهری و دست آخر آگهی در صفحات اصلی روزنامه‌ها استفاده می‌کنند. اما بعضی وقت‌ها نتیجه کار آن چیزی نیست که می‌خواستند. یعنی به جای چند روزمه خوب و قوی تعداد زیادی رزومه ضعیف، ناقص و به درد نخور به دستشان می‌رسد که هیچ کدامشان ارزش استخدام ندارند.

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

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

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

اما چه راه‌هایی برای شناساندن شرایط، امکانات، ظرفیت‌ها و جذابیت‌های یک شرکت نرم‌افزاری به برنامه‌نویسان جویندگان کار وجود دارد؟ چطور می‌شود استخدام در یک شرکت نوعی را جذاب نشان داد؟ مطمئناً خود شرکت‌ها روش‌هایی برای انجام این کار دارند ولی راه‌هایی هم به ذهن من به عنوان یک برنامه‌نویس می‌رسند که عبارت هستند از:

۱- فقط به آگهی در سایت‌ها اکتفا نکنید، آگهی در رسانه‌های کاغذی می‌تواند اعتبار شما را نشان دهد.
۲- نام تعدادی از برنامه‌نویسان و دیگر اعضای تیم برنامه‌نویسی و مختصری از سوابقشان را در سایت قرار دهید. با این کار بقیه از بزرگی و قدرت تیم برنامه‌نویسی شما با خبر خواهند شد.
۳- از نحوه‌ی کار، متودودلوژی و تکنولوژی‌های مورد استفاده، ساختار تیم و ابزارهای مورد استفاده بگویید.
۴- چند تا از نمونه کارهایتان را معرفی کرده و مختصری از روش پیاده‌سازی آنها بگویید.
۵- کمی از مزایای شغلی و مالی شرکت‌تان بگویید هر چند تقریبی.
۶- اگر برنامه‌های فوق العاده آموزشی یا رفاهی دارید، از آنها هم بگویید خصوصاً برنامه‌های آموزشی را. چون برنامه‌نویس جماعت همیشه نیاز شدید به آموزش و بازآموزی دارد.
۷- به نوعی نشان دهید که امنیت شغلی در شرکت شما بالاست.
۸- همیشه منتظر مراجعه برنامه‌نویسان برای استخدام نباشید، گاهی اوقات هم شما آنها را شناسایی کرده و دعوت به کار کنید. این کار تیزبینی شما را نشان می‌دهد.
۹- در مصاحبه‌ها یا در سایت شرکت‌تان روند پیشرفت شغلی، اهداف و برنامه‌های شرکت‌تان را تشریح کنید. اجازه دهید افراد جدید تصویر روشنی از آینده خود و شرکت شما داشته باشند.
۱۰- مصاحبه با افراد جدید را در حد و اندازه جلسات فروش محصول جدی بدانید و این را به فرد مصاحبه شونده هم انتقال دهید. اجازه دهید او فکر کند جز مهمی از شرکت خواهد بود.
۱۱- ترجیحاً در گردهمایی‌های مرتبط با توسعه و تولید نرم‌افزار شرکت کرده و قدرت تیم برنامه‌نویسی‌تان را نشان دهید.

برای آن که ایده‌های بیشتری پیدا کنید می‌توانید نگاهی به صفحات استخدام نیرو در شرکت‌های تولید نرم‌افزار در سراسر دنیا انداخته یا به سایت‌های کاریابی خارجی خصوصاً careers.stackoverflow.com مراجعه کنید.

توجه:
لطفاً توجه شود عمده این متن بر اساس نظرات و سلایق شخصی خودم نوشته شده و ممکن است بعضی جاها با نظرات دیگران ناهمخوانی فاحشی داشته باشد. بنابراین خوشحال می‌شوم نظر و سلیقه شما را هم چه به عنوان برنامه‌نویس و چه به عنوان مدیر شرکت بدانم.

جلسات ناهاری

یکی از معضلات همیشگی شرکت‌های نرم‌افزاری کمبود وقت برای آموزش و اطلاع‌رسانی است. یکی از راهکارهای مورد استفاده در کشورهای پیشرفته‌تر استفاده از «جلسات ناهاری» یا به قول خودشان Brown Bag Session است.

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

دلیل نام گذاری این جلسات به Brown Bag این است که معمولاً افراد (کشورهای موصوف) ناهارشان را در پاکت‌های قهوه‌ای رنگ می‌گذارند و این پاکت‌ها را با خود به جلسه می‌آورند.

محدودیت‌های سه گانه در اینترنت

ما برنامه‌نویس‌ها بدون این که خیلی مقصر باشیم دارای سه نوع محدودیت در استفاده از اینترنت هستیم که متاسفانه روز به روز بیشتر و بیشتر می‌شوند.

یک: محدودیت دولتی
دولت بنا به دلایل خاص خودش دسترسی به بسیاری از سایت‌های اینترنتی را مسدود کرده. تا زمانی که این سایت‌ها فقط سایت‌ها خبری فارسی و حتی خبری انگلیسی زبان و سایت‌های غیر اخلاقی (نسبت به عرف رایج جامعه ما) بودند نگرانی زیادی وجود نداشت. اما وقتی که دایره حملات گسترش یافت و به جای بستن یک یا چند وبلاگ خاص کل وردپرس (صفحه login یا صفحه tagها) بسته شد و وقتی که ف.ی.ل.ت.ر.ی.ن.گ کور شد و هر نوع search گوگل را که دارای کلمات دو پهلو بودند را هدف قرار داد (مثلا عبارت asp.net error number assembly version 1.xxx را در گوگل جستجو کنید) و وقتی که امکانات اجتماعی مشترک مثل FeedBurner در محاق توقیف فرو رفت، دیگر نمی‌شد نگران نبود. با این محدودیت‌ها استفاده از اینترنت حتی برای کسانی که فقط قصد استفاده از اینترنت برای موارد فنی و علمی را داشتند هم به شدت سخت شده است.

دو: محدودیت‌های بین‌المللی
سایت‌های خارجی خصوصاً آمریکایی هم ما را بی‌نصیب نگذاشته‌اند. روز به روز سرویس دهندگان بیشتری ما را از دایره خارج می‌کنند. یک بار SourceForge نمی‌گذارد پروژه‌ها Open Source را دانلود کنیم. یک بار گوگل جلوی استفاده از Chrome را می‌گیرد. یک بار فلان Data Center که اتفاقاً تعدادی سایت برنامه‌نویسی معروف را هم میزبانی می‌کند جلوی IPها ایرانی را می‌گیرد و همین طور الی آخر. توی خیلی از سایت‌ها موقع ثبت نام از شما قول می‌گیرند که نکند یک وقت ایرانی باشید! بیشتر سایت‌ها هم که در لیست کشورهایشان اصلاً اسم ایران را ندارند. آن وقت ما بیچاره‌ها مدام باید IPمان را از این و اون مخفی کنیم که مبادا هویت‌مان معلوم شود. هر جا هم خواستیم عضو شویم خودمان را اماراتی، عراقی یا افغانستانی معرفی کنیم.

سه: محدودیت‌های شرکتی
از آنجا که دولت ایران و دول خارجه موفق نشده‌اند تمام اینترنت را به روی ما ببندند و هنوز آب باریکه‌ای از آن جریان دارد، شرکت‌های نرم‌افزاری وارد بازی شده و تصمیم به تعطیل کردن باقی‌مانده اینترنت گرفتند. چون آنها هم بنا به دلایل خاص خودشان دوست ندارند برنامه‌نویس‌هایشان به هر جایی سرک بکشند. پس باید آنها هم باید بساط ف.ی.ل.ت.ر.ی.ن.گ خودشان را علم کنند. اما از آنجا که مسئولان شرکتی هم مثل مسئولان دولت خودمان و مسئولان دول خارجه حوصله ندارند این کار را با دقت انجام دهند و سایت‌ها، افراد و اهداف مختلف را از هم تفکیک کنند، می‌زنند و اندک باقی‌مانده اینترنت را هم از بین می‌برند. مثلاً می‌خواهند hotmail را ببندند اما MSN را می‌بندند در نتیجه کل سایت‌های مایکروسافت حتی MSDN هم از کار افتاده یا با مشکلات خیلی شدید مواجه می‌شوند.

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