گذاشتن محدودیت برای برنامه نویسان… اما به چه قیمتی!

گذاشتن محدودیت های مختلف برای برنامه نویسان از مهمترین دغدغه های اکثر مدیران شرکت های نرم افزاری در ایران بوده و هست. برنامه نویسی یک شغل بسیار متفاوت است که نمی توان با راهکارهای مدیریتی شغل های دیگر بر روی آن مدیریت داشت و موفق شد. کسی که قرار است بر روی چندین برنامه نویس و مهندس نرم افزار مدیریت کند خودش حتماً باید از زوایا و جزئیات این کار کاملاً آگاه باشد. به علت تفاوت این شغل با شغل های دیگر، نمی توان همان محدودیت هایی که برای کارمندان دیگر شغل ها در یک شرکت گذاشته می شود و معمولاً جواب می دهد را برای برنامه نویسان گذاشت و جواب گرفت.

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

محدودیت دسترسی به اینترنت

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

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

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

محدودیت ساعت ورود و خروج

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

محدودیت صحبت با تلفن شخصی

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

محدودیت زمان استراحت

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

این را بخاطر داشته باشید که برنامه نویسی که به طور مداوم کدنویسی می کند و به مانیتور خیره است نه تنها کارایی بالاتری ندارد بلکه مطمئن باشید کیفیت کارش از برنامه نویسی که هم کار می کند و هم استراحت، پایین تر است. می توان با استراحت های دوره ای در حین کار، مثل نوشیدن قهوه، خوردن میان وعده، گپ زدن در مورد مطالب غیر کاری و خواندن یک مطلب خنده دار به همراه همکاران در حال استراحت، کارایی را بالا برد. سخت کار کردن هیچ ربطی به 4-5 ساعت پشت سر هم کد نویسی و نشستن و خیره شدن به مانیتور ندارد! درست کار کردن مهم است.

محدودیت گوش دادن به موزیک

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

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

نتیجه

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

farasun.wordpress.com

خواندن مطلب مرتبط : یک محیط سفارشی شده; تمام چیزی که یک برنامه نویس می خواهد!

Subcribe to Farasun feedمشترک فراسان شويد

پ.ن : ایده این مطلب از مطلب آقای آواژ با عنوان «تفکیک مسائل شخصی از محیط کار» به ذهنم خطور کرد.

نیازهای من به عنوان یک نیروی انسانی – بازی وبلاگی

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

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

نیازهای من به عنوان یک برنامه نویس :

1) انتظارات از من شفاف باشد. من می خواهم بدانم کارفرما دقیقاً انتظار انجام چه کاری را از من دارد. اگر من به عنوان «برنامه نویس» استخدام شدم، نباید کاری جز کدنویسی داشته باشم. اگر قرار است تیمی کار شود، هر کس باید وظایف خودش را انجام بدهد. نه اینکه اکثر کارها را یک نفر انجام بدهد و در آخر کار به اسم تیم تمام شود!

2) اعتماد و صداقت متقابل. همانطور که من به کارفرما اعتماد میکنم و وقت و انرژی خودم را در شرکت او میگذرانم، دوست دارم کارفرما هم به من اعتماد داشته باشد. اگر من در کارم صادق باشم و از هیچ تلاشی برای پیشرفت شرکت دریغ نکنم، میخواهم کارفرما هم قدر این صداقت را بداند و با من رو راست باشد.

3) در بدو ورود به شرکت کاملاً در مورد خط مشی شرکت، پروژه های در دست اجرا، روش های تولید و پشتیبانی محصولات توجیه شوم. من چطور می توانم وارد پروسه توسعه پروژه ای شوم که هیچ مستنداتی ندارد و هیچ ایده ای از آن ندارم. متاسفانه اکثر شرکت ها این مورد مهم را رعایت نمی کنند. باید یک هفته اول برای فرد تازه وارد جلسات توجیحی در مورد تمام زوایای شرکت گذاشته شود، سپس او را با محصولات و روش های تولید و پشتیبانی آشنا کنند. نکته مهمی که باید در اینجا در نظر گرفته شود رفتار دیگر کارکنان با فرد تازه وارد است. باید کارکنان طوری توجیه شوند که به جای پرتاب کردن سنگ جلوی فرد تازه وارد به او کمک کنند تا با شرایط و پروژه های شرکت هر چه زودتر آشنایی پیدا کند.

4) بتوانم محیط کارم را سفارشی کنم. من برای برنامه نویسی نیاز به یک محیط آرام و دور از استرس دارم. اتاقی که در آن بازاریاب شرکت در حال زدن مخ مشتری است و منشی در حال چانه زدن، جای مناسبی برای من برنامه نویس نیست! من نیاز به میز و صندلی و مانیتور استاندارد و یک کامیپوتر مناسب دارم. من باید بتوانم در محیط کارم بر اساس سلیقه ام تغییر ایجاد کنم. قبلاً یک مطلب کامل در این مورد نوشتم که می توانید اینجا مطالعه کنید.

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

5+1) کارفرما به آموزش مداوم کارکنان و استفادده از تکنولوژی های جدید علاقه مند باشد. دنیای نرم افزار و برنامه نویسی هر روز تغییر می کند و افرادی که می خواهند در این زمینه کار کنند باید همیشه در حال یادگیری باشند و دانش خود را به روز کنند. من برای بالا بردن دانش و مهارتم نیاز به یادگیری و آموزش مداوم دارم. شرایط یک آموزش منظم را باید کارفرما برای کارکنانش فراهم کند. این موضوع همانقدر که برای کارکنان مطلوب است، برای کارفرما نیز سود زیادی دارد. بعضی از شرکت ها از بکارگیری تکنولوژی های جدید هراس دارند. من نمیخواهم برای شرکتی کار کنم که از تکنولوژی های 5 سال پیش برای توسعه محصولاتش استفاده می کند.

farasun.wordpress.com

در آخر از تمام برنامه نویسانی که وبلاگ دارند و به این موضوع علاقه مند هستند دعوت میکنم تا نیازهای خودشان را به عنوان یک نیروی انسانی در قالب بازی وبلاگی بیان کنند.

پ.ن : بازی های وبلاگی در وبلاگ های تخصصی کمتر مورد توجه قرار میگیره، در صورتی که نتایج بسیار خوبی داره. از آقای محبی بخاطر ایده خوبشان ممنونم و امیدوارم از این دست مطالب در وبلاگ های تخصصی بیشتر ببینیم.