Egoless مفهومی است که توسط Gerald Weinberg در کتابی با عنوان The Psychology Of Computer Programming معرفی شده است با این توضیح که معمولاً برنامهنویسها تمایل دارند کدی را که نوشتهاند بخشی از وجودِ خود بدانند و در نتیجه در برابر هر گونه انتقادی مقاومت به خرج میدهند و این در حالی است که رویکرد صحیح غیر از این بوده به طوری که ایشان باید با کنار گذاشتن منِ درونی خویش، به فردی حرفهای در حوزهٔ کاری خود مبدل گردند که در همین راستا در ادامه به بررسی نکاتی خواهیم پرداخت که با پیروی از آنها میتوان به این مهم دست یافت.
بپذیرید که شما هم ممکن است اشتباه کنید
این طبیعی است که همۀ ما ممکن است مرتکب اشتباهاتی بشویم اما نکتۀ کلیدی آن است که این اشتباهات پیش از رسیدن یک محصول به مرحلۀ ریلیس برطرف شوند. اساساً به جز عدۀ اندکی از برنامهنویسها که در زمینههای خاصی همچون توسعۀ نرمافزار هدایتگر موشک کار میکنند، برای اکثر برنامهنویسها اشتباه کردن منجر به فجایع بزرگی نمیشود و از همین روی بهتر است در پذیرفتن اشتباهاتی که مرتکب شدهایم مقاومت نکنیم و از آنها درس بگیریم.
شخصیت شما مستقل از کدی است که نوشتهاید
به یاد داشته باشید که هدف از بازبینی برنامههایی که نوشتهایم پیدا کردن مشکلات است و اساساً اگر اشتباهات وجود نداشت این بازبینی هم انجام نمیشد و از همین روی وجود اشتباهات و پیدا شدن آنها به هیچ وجه اتفاق ناخوشایندی نیست و نباید به آن به صورت یک مسالۀ شخصی نگاه کرد.
بازنویسی کد را بدون مشورت انجام ندهید
مرز باریکی بین فیکس کردن کد و بازنویسی آن وجود دارد؛ لذا سعی کنید این تفاوت را درک کنید و تغییراتی اندک را در چارچوب بازبینی کردن کد انجام دهید نَه در قامت یک شخص خودرأی که قرار است به تنهایی و بدون در نظر گرفتن نقطهنظرات دیگر برنامهنویسها سورسکد را کاملاً تغییر دهد.
صبور باشید و با افرادی که کمتر از شما میدانند رفتاری محترمانه داشته باشید
افراد غیرفنی که با دولوپرها در ارتباط هستند معمولاً بر این باورند که این دست متخصصین در بهترین حالت یک شخصیت مغرور دارند و در بدترین حالت همواره طلبکار هستند! با این تفاسیر، تکتک ما برنامهنویسها وظیفه داریم تا این ایماژ منفی را کمرنگ و کمرنگتر نماییم.
تنها چیزی که در دنیا تغییر نمیکند خودِ واژهٔ «تغییر» است
در برابر تغییر و تحول مقاومت به خرج ندهید به طوری که باید به هر گونه تغییر در نیازمندیها، پلتفرم و یا ابزار به عنوان یک چالش نگاه کنید نه به عنوان یک دردسر که باید با آن مبارزه کرد.
چیزی که سرمنشاء قدرت واقعی است علم است نَه جایگاه و موقعیت
علم و آگاهی قدرت به ارمغان میآورند و کسی هم که قدرت داشته باشد در دید سایرین محترم خواهد بود و از همین روی چنانچه قصد دارید در صنعت توسعهٔ نرمافزار در دید سایرین محترم باشد، روز به روز دانش خود را بیشتر ارتقاء بخشید.
برای عقایدتان بجنگید اما با متانت شکستهایتان را بپذیرید
قبول کنید که گاهی ایدههای شما مورد قبول واقع نمیشوند که در این حالت اگر بعداً مشخص شد که درست فکر میکردید، مدام نگویید «من که گفته بودم.» و با ایدهای که ریجکت شده است مثل یک قربانی یا آرمان از دست رفته برخورد نکنید.
شبیه آدمهای منزوی و گوشهنشین نباشید
شبیه آدمهایی که گوشۀ تاریک اتاق کارشان تنها مینشینند و کد میزنند نباشید که فقط برای ریختن چای یا قهوه از جای خود بلند میشوند. چنین آدمهایی اساساً خارج از حلقههای اجتماعی هستند و در جایی که کار گروهی باید انجام بگیرد جایگاهی ندارند.
به جای انتقاد از دولوپر، سورسکد اپلیکشن را نقد کنید
تا جایی که امکان دارد سعی کنید اظهارنظرهایتان مثبت و در راستای بهتر شدن پروژه باشد به طوری که در نهایت انتقاداتان منجر به بهبود پروژه شوند (به عنوان مثال، گاهی ممکن اظهارنظرهای شما مرتبط با استاندارهای مورد توافق مابین اعضای تیم باشد، گاهی اوقات به فیچرهایی که اپلیکیشن باید از آنها برخوردار باشد بازمیگردند و برخی مواقع نیز به بهبود پرفورمنس اپلیکیشن کمک میکنند.)
جمعبندی
کتاب The Psychology Of Computer Programming در سال 1971، زمانی که خیلی از ما هنوز به دنیا نیامده بودیم، نوشته شده است اما اصول روانشناختی و به عبارتی Soft Skills وابسته به زمان و مربوط به یک دورۀ خاص نیست. توسعهٔ نرمافزار هم همچون بسیاری از دیگر فعالیتها اگر انفرادی نباشد و به صورت گروهی انجام شود میتواند منجر به تولید خروجیهای بزرگتری شود و این در حالی است که اصول ارائهشده در این مقاله به ما کمک میکنند تا به فردی مبدل گردیم که به جای ضمیر «من» از «ما» استفاده کند و همین مسئله منجر بدان خواهد شد که کار در قالب یک تیم راحتتر صورت گیرد.