نیاز به توضیح نیست که کدنویسی نیاز به تفکر عمیقی دارد و تفکر عمیق هم در محیطهای شلوغ امکانپذیر نبوده و نیازمند محیطی آرام و تنها است اما آنچه مسلم است اینکه در دنیای امروز فقط و فقط با تکیه بر داشتههای خود نمیتوان در حوزهٔ توسعهٔ نرمافزار به موفقیتهای چندانی دست یافت و آشنایی با مهارت Team Work (کار گروهی) چیزی است که از دولوپرها، خواه فریلنسر باشند و خواه در تیم کد بزنند، انتظار میرود.
اما به خاطر داشته باشیم که منظور از کار گروهی این نیست که به سؤالات دیگر دولوپرها پاسخ دهیم، در جلسات شرکت کنیم، ایده بدهیم و کارهایی از این دست بلکه منظور کلی این است که به شکلی کاملاً پویا و فعال به همکاری با دیگر اعضای تیم بپردازیم.
در همین راستا، یکی از راههای پیادهسازی کار گروهی چیزی است تحت عنوان Pair Programming (برنامهنویسی دونفره) که مزایای بسیاری برای هر دو دولوپر دارا است. اگر فرض را بر این بگذاریم که شما از همکارتان حرفهایتر باشید، مسلماً با انتقال دانش خود منجر به ارتقاء مهارتهای تیم توسعه خواهید شد و همچنین به تواناییهای خود بیشتر واقف میگردید؛ اگر هم همکارتان از شما حرفهایتر باشد، دیگر نیاز به توضیح نیست که این نوع کدنویسی میتواند در بالا بردن سطح مهارتهای شما مفید واقع گردد (برای آشنایی بیشتر با تکنیکهای این حوزه، به مجموعه مقالات برنامهنویسی دونفره در وبلاگ سکان آکادمی مراجعه نمایید).
آنچه مسلم است اینکه نگاه هیچ ۲ دولوپری در حین فرایند توسعهٔ نرمافزار ۱۰۰٪ شبیه به یکدیگر نیست و همین مسأله اهمیت برنامهنویسی دونفره را دوچندان میسازد چرا که دولوپرها میتوانند از زوایای مختلفی به مسألهٔ پیشرویشان نگاه کرده و بهترین راهکار را برایش اتخاذ کنند.
حال بایستی از نقطهنظر مدیران شرکتهای نرمافزاری هم به این قضیه نگاه کنیم؛ این دست مدیران که عموماً طرفدار مدیریت پروژه به سبک اجایل هستند بر این باورند که گماشتن ۲ دولوپر روی پروژهای که ۱ دولوپر هم به خوبی از عهدهٔ آن برمیآید، کاری غیرمنطقی است!
چنین دیدگاهی کاملاً درست و بهجا است و ما هرگز نمیگوییم که «باید» همواره کلیهٔ پروژهها را با گماشتن ۲ دولوپر پیادهسازی کرد اما در اینجا بحث بالا بردن کیفیت کار از یک سو و انتقال دانش و ارتقاء مهارتهای تکتک اعضای تیم توسعهٔ نرمافزار از سوی دیگر است.
نیاز به توضیح نیست که بازار کار همواره به دنبال بهترین دولوپرها است و اگر شرکتهای نرمافزاری این شانس را داشته باشند که دولوپرهایی از این دست را به استخدام خود درآورده باشند، همواره بایستی این نگرانی را داشته باشند که روزی دولوپرهای درجه ۱ خود را از دست بدهند و این در حالی است که پیروی کردن از سیاست برنامهنویسی دونفره میتواند دانش، مهارت و تجربیات دولوپرهای حرفهای تیم را تا حد امکان به دولوپرهای مبتدیتر انتقال دهد و چنانچه روزی برسد که دولوپر یا دولوپرهای حرفهای تیم بخواهند شرکت را ترک کنند، میتوان این اطمینان را داشت که بخش قابلتوجهی از دانش ایشان با سایرین به اشتراک گذاشته شده است.
چه نوع دولوپرهایی میبایست با یکدیگر در یک تیم قرار بگیرند؟
اگر به طور مثال شما دولوپری مبتدی هستید، خیلی مهم است که در صورت داشتن امکان برنامهنویسی دونفره در شرکت به جای دولوپری مبتدی همچون خودتان، با فردی ماهرتر هم گروه شوید اما بایستی به خاطر داشته باشیم که مهارتهای فنی برای هم گروه شده صرفاً کافی نیستند بلکه فردی که قرار است هم گروه ما شود، میبایست از مهارتهای برقراری ارتباط با دیگران و مربیگری نیز برخوردار باشد که در این صورت بهترین نتیجهٔ ممکن را خواهیم گرفت.