گرچه چند سالی است که نَه شبکههای تلوزیونی داخلی تونستن نظرم رو نسبت به خودشون جلب کنن و نَه شبکههای ماهوارهای، اما در سالهای اخیر از بس هر کجا رفتیم ملت داشتن سریال «پایتخت» رو تماشا میکردن، یواشیواش نظرم نسبت به این کار ساخت آقای سیروس مقدم تغییر کرد و این در صورتی است که روزهای اول پخش این سریال، به معنای واقعی کلمه ازش متنفر بودم اما به مرور، شخصیتهای داستان بهخصوص نقی توی دلم جا باز کردن!
خُب واقعیت امر این هست که وقتی جایی میرم، چیزی میبینم یا کتابی میخونم، خیلی سعی میکنم ببینم میتونم ارتباطی منطقی مابینشون و دنیای کدنویسی برقرار کنم یا خیر و سریال پایتخت هم از این قاعده مستثنی نبود و همینطور که از عنوان این پست برمیآید (اگر نقی در سریال «پایتخت» دولوپر بود چهطور کد میزد!)، قصد دارم توضیح بدم که اگر شخصیت اول این سریال با همین خصوصیاتی که داراست در حوزهٔ توسعهٔ نرمافزار کار میکرد، چگونه دولوپری میبود؟
نگاهی به چند خصوصیت برجستهٔ نقی
نقی (که نقش وی را آقای محسن تنابنده بازی میکند) همچون تکتک دیگر شخصیتها، در این چند سری از سریال پایتخت پخش شده، از یکسری خصوصیات خاص خود برخوردار است که هرچه سریال جلوتر میرود، بعضی از آنها پررنگتر هم میشوند که برخی از مهمترین اونها عبارتند از:
- به تعویق انداختن کارها
- بزرگنمایی کردن چیزها
- حسادت
- فرافِکنی کردن
- خالیبندی
- پیچوندن کارها
- مسخره کردن دیگران (البته گاهی اوقات)
- و نداشتن هوش هیجانی
حال در ادامه، قصد دارم با هدف قرار دادن تکتک این خصوصیات اخلاقی نقی، نشون بدم که اگه ایشون دولوپر بود، چه شکلی بود.
به تعویق انداختن کارها
در جایی از این سریال میبینیم که نقی از علیآباد به تهران مهاجرت میکنه و نبش اتوبان صیاد و نزدیک به رسالت، یک خونهٔ نقلی میخره (از این جهت آدرس دادم چون نزدیک خونهٔ قبلیام بود و هر روز موقع سر کار رفتن، میدیدموشن در حال فیلمبرداری) و داستان پیش میره تا جایی که خونه رو تحویل میگیرن و هُما (همسر نقی) گیر میده که خونه رو رنگ کنیم اما پاسخ نقی اینه که «هُما بابا، بزار قشنگ یه دو ماه سه ماه بشینیم، بعد سر فرصت رنگ میکنیم!»
این خصوصیت در جایجای فیلم از نقی به تصویر کشیده شده و حال ببینیم اگر نقی دولوپر بود، چهطور رفتار میکرد. در واقع، اگر کدی میزد که بعداً متوجه میشد جایی باگ کوچکی داره اما در عین حال این باگ آنقدر جدی نیست که امنیت نرمافزار رو به خطر بیندازه، ولش میکرد به امان خدا تا ایشالا سر فرصت دو ماه الی سه ماه دیگه یک روز جمعه بنشینه کلیهٔ این باگهای کوچک و بیاهمیت رو رفع کنه!
خُب نیاز به توضیح نیست که علاوه بر نقی، این خصوصیت به تعویق انداختن کارها -از بیاهمیت گرفته تا گاهی هم مهم- در اکثر دولوپرها منجمله خودم هست و این دست دولوپرهای Procrastinator (به تعویق اندازنده) از یک چیز غافل هستند و اون هم اینکه وقتی تعداد لیست بدهیهای فنی از یک حد زیادتر میشه، دیگه آدم وحشت میکنه بره سمتشون و ممکنه اون لیست برای هفتهها و یا ماهها دستنخورده باقی بمونه؛ دقیقاً مثل زمانی که میخواهیم زبان یاد بگیریم؛ فرض کنیم که هر روز قرار هست سه لغت جدید یاد بگیریم اما چند هفته فرصت انجام این کار رو نمیکنیم و اون لغات رو هم جمع میشن و در نهایت اونقدر زیاد میشن که آدم ممکن اصلاً بیخیال قضیه بشه (برای آشنایی با بدهی فنی، میتونید به مقالهٔ Technical Debt: بدهی فنی چیست و چگونه میتوان از آن به نفع خود استفاده کرد؟ مراجعه نمایید.)
بزرگنمایی کردن چیزها
جَوگیر شدن نقی در برخی سکانسها و در کل بزرگنمایی کردن چیزها -بهخصوص گافهایی که ارسطو میدهد- هم یکی دیگر از خصوصیات بازر وی هست. مثلاً وقتی اتفاقی میافتد که برخلاف میل باطنیاش هست، تمام تلاشش رو میکنه تا با بزرگ جلوه دادن موضوع، برای خودش یار جمع کنه و جلبتوجه کنه.
خُب اگر این آقا نقی داستان دولوپر هم میشد، اگر باگی کوچک توسط دولوپر دیگری ایجاد شده بود (مثلاً فرض کنیم ارسطو هم دولوپر بود و با هم همکار بودن)، از اون باگ کوچک یک Big Security Hole میساخت و شرکت رو توی سر همکارش خراب میکرد تا به مدیر پروژه و ریئس کمپانی نشون بده که چقدر آدم خفنی هست!
مسلماً کسانی که تجربهٔ کار در فضای توسعهٔ نرمافزار واقعی رو داشته باشن، از این دست افراد زیاد دیدن که برای خودشیرینی کردن پیش مسئول مافوق، دائماً به دنبال یافتن سوتیهای همکاران هستند و به جای اینکه در خفا به همکارش توضیح بده و با هم مشکل رو حل کنن، قضیه رو توی بوق و کرنا میکنه.
حسادت
در اینکه نقی آدم حسودی است که اصلاً شکی نیست و شاهد این ادعا هم زمانی که از طرف شورای شهر و مقامات علیآباد برای تشکر از بهبود (به خاطر پلنگ) مییان خونشون و ازش تقدیر و تشکر میکنن یا اینکه وقتی هُما لیسانس میگیره و وارد شورای شهر میشه، داره خودش رو میکشه!
خب مسلماً اگر این آقا نقی دولوپر شود -آن هم از نوع حسودش- از اینکه همکارش در ۴۳ خط یک فانکشنی مینوشت که بسیار بهینه بود و کار عجیب و غریبی انجام میداد، اصلاً خوشحال نمیشد! دولوپرهای حسود به جای اینکه وقتی دولوپر خفنی در کنار خودشون میبینن برن و ازش یاد بگیرن، اول اعتماد به نفسشون رو از دست میدن سپس شروع میکنن به خودخوری و در نهایت ممکنه کار به زیرآبزنی هم ختم شود!
فرافِکنی کردن
فرافکنی در زبان انگلیسی Projection گفته میشه و یک اصطلاح روانشناختی هست. طبق تعریف ویکیپدیا، «فرافکنی یعنی نسبت دادن ناآگاهانه اعمال، عیبها و امیال ناپسند خود به دیگران که در واقع ساز و کاری پدافندی بهشمار میآید.» خب اگر این خصوصیت بَد در نقی وجود نداشت، میبایست به نویسندهٔ این فیلمنامه شک میکردیم.
نقی فردی فرافکن هست؛ به عبارت دیگه، حسود هست اما دیگران رو حسود خطاب میکنه؛ از زیر کار در رو هست، اما دیگران رو بپیچون قلمداد میکنه و در یک کلام، در جایجای سریال میبینیم که نقی نقش مقابل خود رو محکوم به چیزی میکنه که در چند سکانس قبل یا چند قسمت قبل خودش همون کار رو انجام داده بود!
اگر نقی دولوپر میشد، مسلماً یک Projective Developer میشد (این اصطلاح رو از خودم اختراع کردم.) به عبارت دیگه، یک دولوپر فرافکن کسی است که از الگوریتم و دیتا استراکچر سر در نمیاره، اما اعتقاد داره که الباقی اعضای تیم هم همینطور هستن. یک دولوپر فرافکن کسی است که نوشتن یک کلاس ساده رو آنقدر طولش میده که ثابت کنه داره کاری مهم و پیچیدهای انجام میده، ولی وقتی به سورسکد یکی از همکارانش نگاه میکنه و مثلاً میپرسه که فلان فانکشن رو ظرف چند ساعت نوشتی، در نهایت به مخاطبش نشون میده که نوشتن این فانکشن یک ربع بیشتر وقت نمیخواسته و عجیبه برام که برای تو اینقدر طول کشیده!
خالیبندی
خب از اولین قسمتهای سریال به بعد، میبینیم که نقی شغل درست و حسابیای نداره؛ از کار گچکاری گرفته تا کار در کارگاه ساخت گلدسته و حتی کار در سوپری اما در عین حال، چنان اعتماد به نفس کاذبی داره و اصطلاحاً یک خودخفنپندار هست که در کمال ناباوری چنان خالیهایی میبنده که یک زمانهایی واقعاً آدم به عنوان بیننده باورش میشه. در واقع، خیلی خوب میتونه توی ذهنش شرایط فرضی رو تجسم کنه!
خب نقی اگر دولوپر میشد، مسلماً یک خودگیکپندار میشد و برای اینکه مطلب طولانی نشه، توصیه میکنم به مقالهٔ «خودگیکپنداری، خودخَفَنپنداری و خودآسپنداری: سندرمی که برخی دولوپرها به آن دچار میشوند!» مراجعه نمایید که از طریق لینک https://sokanacademy.com/blog/5484/post در دسترس است.
پیچوندن کارها
گفتیم یکی از خصوصیات بازر نقش نقی «به تعویق انداختن کارها» است که اگر این ویژگی را در کنار توانایی «پیچش» قرار دهیم، پروژه تکمیل خواهد شد. نقی در کل آدم قابلاعتمادی نیست چون وقتی همسرش (هُما) و یا هر کس دیگری ازش کاری میخواهد، باز هم ته دلش با خود میگوید که «نکنه نقی بپیچونه؟» و همین میشه که نقی از پرسونال برندینگ (برندسازی شخصی) خوبی برخوردار نیست و شاهد این ادعا هم اینکه وقتی میخواست برای قربونی کردن مقابل کامیون ارسطو خروس تهیه کنه و نتونست یک خروس سیاه پیدا کنه، از دوستش میخواد که یک خروس معمولی رو با رنگ سیاه کنه!!!
اگر هم توضیح ندهم که نقی خان دولوپر چگونه کد میزنه، مسلماً مخاطب باتجربه میدونه که این دست آدمها چهجوری هستن. در حقیقت، اگر نقی دولوپر میشد اصلاً تضمینی نبود که وقتی همکاری ازش میخواست که ورودی فرمها رو Validate کنه، این کار رو میکرد!
خیلی وقتها این خصوصیت نقی در اکثر ما دولوپرها نمود عینی پیدا میکنه اما به دلایل مختلف! خُب برخی از ما ذاتاً بپیچون هستیم (دقیقاً مثل نقی) که این رو اصلاً نمیشه کاریش کرد. برخی از ما به دلیل نبود وقت کافی و سر رسیدن دِدلاین، یکسری کارها رو میپیچونیم. برخی مواقع -بهخصوص اگر در ابتدای راه باشیم و در عین حال بیتجربه- به دلیل بلد نبود کاری، صورت مسئله رو خیلی راحت حذف میکنیم و طرف مقابل رو میپیچونیم!
مسخره کردن دیگران (البته گاهی اوقات)
در این عنوان از کلمهٔ «گاهی» استفاده کردم چون خداییش نقی همیشه در حال مسخره کردن اطرافیان نیست اما خب برای اینکه پکیج نقی کامل بشه، کسی که مسئول شخصیتپردازی وی بوده چنین خصوصیت منفیای رو در نقی گنجونده. نقی به انحای مختلف آدمها رو مسخره میکنه و واقعاً نمیدونم دلیلش این هست که نسبت به دیگران حسودی میکنه یا دوست داره جمع رو بخندونه!
در فضای صنعت توسعهٔ نرمافزار، نقی باز هم میتونست خوش بدرخشه چون واقعاً کسانی شبیه به اون هستن که از این خصوصیت منفی برخوردارن. به عبارت دیگه، دولوپرهایی که دیگر برنامهنویسان رو به دلیل اینکه زبانشون مثلاً داتنت + سیشارپ یا پیاچپی هست مسخره میکنن، دولوپرهایی که اپلی هستن دیگران رو که سیستمهای معمولی دارن مسخره میکنن، دولوپرهایی که دیگران رو به خاطر نوع کدنویسیشان مسخره میکنن و ...
نداشتن هوش هیجانی
در زبان انگلیسی یک ساختار هست تحت عنوان Last But Not Least که منظور از این اصطلاح این هست که گرچه مثلاً این عنوان در آخر همه آمده، اما اصلاً بدین معنی نیست که اهمیتش کم هست. تعارف نداریم، نقی EQ (هوش هیجانی) نداره نقطه سر خط
نقی وقتی عصبانی میشه، دیگه خون جلوی چشمهاش رو میگیره و نمیفهمه که چی میگه یا اینکه وقتی حرفی، حدیثی یا چیزی برخلاف میل باطنیاش هست، اصلاً توانایی این رو نداره که چنین مسئلهای رو در چهرهاش نشون نده و خودش رو کنترل کنه و همین میشه که اعتبارش کلاً در طول سریال پیش همه کم هست!
خُب نقی اگر دولوپری میشد آنهم از نوع دولوپری بدون هوش هیجانی، تازه میشد مثل صدها دولوپر تعطیلی که خیلی از ما ها پس از ورود به دنیای کسبوکار باهشون مواجه شدهایم. به عبارت دیگر، نقی دولوپری میشد که:
- اگر از سایرین باتجربهتر بود، تازهکارها و کدآموزان رو تحقیر میکرد.
- وقتی کسی ازش سؤال میپرسید، آدرس سایت گوگل رو بهش معرفی میکرد.
- اگر از کد راضی نبود، دولوپر خاطی رو جلوی جمع ضایع میکرد.
- اگر میدید که یکی از همکاران زیردستش کدی نوشته که از کد خودش بهتر بود، ذهنش مقاومت میکرد.
- اگر همکارش کار خارقالعادهای کرده بود، اون کار رو پیش CEO به اسم خودش تموم میکرد.
- اگر میدید که سایر همکاران انگیزهٔ کافی برای کد زدن ندارن، توجهی به این مسئله نمیکرد.
- اگر دولوپری کد خوب میزد، ازش تقدیر نمیکرد چون اعتقاد داشت که پُررو میشه.
- و صدها نکتهٔ منفی دیگه که همه حاکی از Lack of EQ هستن.
جدی نگیرید
من فقط دنبال سوژهای بودم که چیزهایی که توی ذهنم بود رو بنویسم و از شانش بَد نقی، قرعه به اسمش افتاد. ولی این چیزها در دنیا واقعی بیزینس کاملاً مشهود هستن و خیلی وقتها اکثر ما بهشون مبتلا هستیم اما خودمون خبر نداریم و کسانی که به اصطلاح Out of The Box به قضیه نگاه میکنن، قشنگ این موضوع رو درک میکنن. اما در پایان، کمی لطفی است که این همه از بدیهای نقی گفتیم و چیزی از خوبیهایشن نگیم. در واقع نقی کسی است که:
- با عشق از پدرش (عمو پنجعلی) مراقبت میکنه.
- مرد خانه و خانواده هست.
- اگه به چیزی علاقه داشته باشه (مثل کُشتی) تا تهش میره.
- علیرغم اینکه آدم به معنای واقعی کلمه بزدل و ترسویی هست، اما وقتی پای ناموسش به میون مییاد میره با داعش رودررو میشه و ...
ممنون که وقت گذاشتید. جای نظر، انتقاد و پیشنهاد شما در بخش کامنتینگ است.