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

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