هر گاه از برنامهنویسان و توسعهدهندگان دربارهی روشهایی برای افزایش بهرهوری در کارشان سوال میشود اغلب پاسخهای پراکنده ای دریافت میشود؛ از خواندن خبرهای تکنولوژی تا دنبال کردن پادکستهای اینترنتی و آموزشهای آنلاین.
نکتهی مهمی که در این پاسخها جا میماند نقش مهم و فعال کارفرما و رهبر گروه است، روزانه شرکتها و استارتاپهای مختلفی را مشاهده میکنیم که با دستمزدهای بالا و ارائهی مزایای مختلف سعی در جذب برنامهنویسان دارند، اما تقریبا همهی آنها نکتهی بسیار مهمی را فراموش کردهاند:
برنامهنویسی به شغلهای دیگر شباهت کمی دارد
شغلهای فراوانی وجود دارد که مهارت پایه برای انجام آنها تقریبا ثابت است، اما برنامهنویسی و توسعهی نرمافزار یکی از آنها نیست. مهمترین نکته در این شغل آموزش مداوم است. تکنولوژی به صورت مداوم در حالت پیشرفت و تحول است، چنانچه برنامهنویسان بخواهند در کارشان حرفی برای گفتن داشته باشند، باید همگام با فناوری تغییر کنند. در این شغل یادگیری مهارتهای جدید به اندازهی نوشتن کد از اهمیت برخوردار است.
ارائه شدن یک زبان یا فریمورک جدید، اتفاق غیرمعمولی نیست و این اتفاق میتوند باعث تغییر زبان مورد استفادهی توسعهدهنده در پروژهها و برنامههایی که روزانه مینویسد، شود. زبان جدید شرکت اپل که با نام Swift منتشر شد از جملهی این تغییرات است.
بسیار معمول است که یک برنامه نویس در تجربهی کاری اش چنین روندی را طی کرده باشد: در دانشگاه و محیط آکادمیک زبان برنامه نویسی C++ را فراگیرد، برای انجام کار تجاری و کسب درآمد زبان Perl را یاد بگیرد، یادگیری زبان Java را به عنوان پلهای برای گرفتن شغلی بهتر و Ruby on Rails را برای شروع کسب و کار شخصیاش انتخاب کند. برنامه نویس با یادگیری زبانها و تکنولوژیهای جدید راه را برای پیشرفتش هموار میسازد و جا پای خود را در شغلش محکم میکند، در صورتی که اگر اشتیاق یادگیری چیزهای جدید را نداشته باشد، ممکن است هر زمانی از گردونه کنار گذاشته شود.
آیا همهی افرادی که برنامهنویسی را به عنوان شغل انتخاب میکنند، اشتیاق یادگیری و مواجه با چیزهای جدید را دارند؟ جواب این سوال قطعا منفی است، اما برای این دسته از افراد چه اتفاقی میافتد؟ محصولاتی که آنها تولید کرده اند و شرکتی که آنها در آن کار میکنند به مشکلات بزرگی برخورد میکند. این مشکلات میتوانند کدهایی باشند که نگهداری و توسعهشان سخت است، کدهایی که زمان و منابع بیشتری برای اجرا نیاز دارند، کدهایی از زبان یا فریمورکی که دیگر رایج نیست و برنامهنویسان از آن استفاده نمیکنند و… چنین حالتی برای هر شرکتی بسیار ترسناک است.
چطور شرکتها میتوانند از آموزش مداوم برنامهنویسان حمایت کنند؟
راهکارهای متعددی وجود دارد که شرکتها میتوانند با استفاده از آنها به هدف آموزش مداوم برنامهنویسان برسند و اغلب این راهها از نظر مالی کاملا مقرون به صرفه اند و چنانچه هزینهای در بر داشته باشند، در قسمت پیادهسازی پروژه باعث افزایش بهرهوری و رضایت برنامه نویس شده و پوشش داده میشود.
برای شروع سادهترین کار این است که به کارمندان اطمینان ببخشید که یاد گیری در ساعات کاری مشکلی ندارد، برای اکثر برنامهنویسان خواندن یک مطلب آموزشی یا شرکت در یک دورهی آموزش آنلاین طی ساعات کاری، غیر معمول نیست اما اطمینان دادن شما به این عمل و نحوهی ارتباط شما با برنامهنویسان و کارمندی که جدیدا استخدام میکنید، هراسهای بیهوده را از بین میبرد.
راهکار کاملا رایگان دیگر تشویق برنامهنویسان به کار گروهی است، جفتی یا گروهی کار کردن نه تنها باگهای برنامه را به حداقل میرساند بلکه کیفیت کد تولید شده را افزایش میدهد و یک توسعهدهنده با مشاهدهی روند کار هم گروهی اش و نحوهی تحلیل و حل مساله توسط او و حتی از اشتباهات او، بهترین آموزشها را میبیند.
بعضی شرکتها از دورههای آموزشی ادواری استفاده میکنند تا اطمینان پیدا کنند که کارمندان شان یک سری اطلاعات پایهی مشترک را فرا گرفته باشند. فاصلهی طبقاتی دانش نیروهای فنی میتواند هم بهکار و هم روحیهی افراد صدمه وارد کند و بین اعضای تیم فاصله بیندازد. آموزشهای رسمی که توسط شرکت برگزار میشود نارضایتی کارمندان نسبت به سطح دانش یکدیگر را به حداقل میرساند.
به عنوان مثال میتوان یک روز در ماه را به آموزش و یادگیری اختصاص داد، روزی که هر کاری که شما و کارمندانتان انجام میدهید باعث بهتر شدن و حرفهای تر شدنتان میشود. این روز میتواند به آموزش تایپ، خواندن یک کتاب، ایدهپردازی و کار روی یک پروژهی متن باز و عام النفعه، یادگیری یک زبان یا فریمورک جدید یا… اختصاص پیدا کند. همین یک روز میتواند باعث افزایش بهرهوری، رضایت و سرعت شما و کارمندانتان شود و حال و هوای کلی حاکم بر فضا را تغییر دهد.
ایدهی دیگر گذاشتن طرح تشویقی، پرداخت حقوق بیشتر و… در ازای یادگیری موارد جدید، شرکت در کنفرانسها و آموزشها است.
ایدههای مخصوص به خودتان را پیدا کنید
به طور حتم هر شرکت با توجه به شرایطش میتواند ایدهپردازی کند و راهکارهای شایستهی خودش را پیدا کند. اگرچه فاکتورهای بسیار زیادی برای تعیین موفقیت یک شرکت وجود دارد اما داشتن یک تیم که همیشه علاقهمند به یادگرفتن چیزهای جدید است، شما را پیشرو و جلوتر از بقیه قرار میدهد و باعث میشود بتوانید مسائل پیچیده را با راه حلهای خلاقانه پشت سر بگذارید.