کسی که تجربهٔ کار کردن با افراد دیگری را داشته است، به طور حتم تجربهٔ لحظاتی را هم که به شدت از چیزی آزرده شده است را دارا است. اگر شما یک برنامهنویس هستید، به احتمال قریب به یقین این موضوع بیش از یک بار برایتان پیش آمده است! از آنجایی که برنامهنویسان عاشق کارشان هستند، تحمل شنیدن بعضی از حرفها را -به خصوص از کسانی که برنامهنویس نیستند- ندارند. بعضی از آدمها چیزهایی به آنها میگویند یا انتظاراتی دارند که کاملاً بیجا هستند و صبرشان را لبریز میکند و این همان چیزی است که در این مقاله قصد داریم مورد بررسی قرار دهیم.
سؤال در مورد بازی کامپیوتری مورد علاقه
یک باور نادرست این است که برنامهنویسان علاقهٔ خاصی به بازیهای کامپیوتری دارند و خیلی از آدمهای عادی تنها موضوعی که در زمان ملاقات با یک برنامهنویس به ذهنشان میرسد، این است که نظر ایشان را درمورد بهترین و بدترین بازیهای دنیا جویا شوند.
این باور ممکن است گاهی درست به نظر برسد، اما واقعیت امر آن است که اکثر اوقات اینگونه نیست. از آنجایی که برنامهنویسان نیز مانند سایرین انسان هستند، گاهی انجام یک #گیم را راه خوبی برای پر کردن اوقات فراغت خود در نظر میگیرند اما این بدان معنا نیست که آنها به معنای واقعی کلمه گیمر هستند. برخی از برنامهنویسان علاقهای به انجام بازیهای کامپپوتری ندارند و عدهای دیگر ممکن است وقت کافی برای بازی پیدا نکنند؛ بنابراین پرسوجو کردن در مورد بازی مورد علاقه، به هیچوجه برای ایشان خوشایند نیست.
نوشتن کتابچهٔ راهنما
تقریباً همهٔ آدمها هنگام استفاده از یک محصول نرمافزاری، علاقهٔ خاصی به خواندن Guide (راهنما) آن دارند؛ اما برای یک برنامهنویس تهیهٔ چنین چیزی یا نوشتن مستندات برای پروژهٔ خود شبیه به یک کابوس است. در واقع، اکثر دولوپرها حاضرند شب تا صبح کد بزنند اما حتی یک خط از یک کتابچه راهنما را ننویسند.
ریاستارت کردن
بسیاری از مردم -به ویژه آنهایی که دانش کامپیوتری چندانی ندارند- گمان میکنند که ریاستارت کردن بهترین راهحل مشکلات کامپیوتری است (به خصوص در سیستمعامل ویندوز) و به همین علت ایشان بدون توجه به شغل کسی که مخاطبشان است، این روش را به یک برنامهنویس نیز پیشنهاد میدهند تا مشکل به وجود آمده را برطرف کند و اینجا است که برنامهنویس از کوره در میرود. در شرایطی اینچنین، بهتر است به جای دادن پیشنهادات عجیبوغریب، برنامهنویس را به حال خود بگذارید تا با توجه به دانش شخصی که در این زمینه دارد، بتواند بهترین راهحل را برای مرتفع کردن مشکلش پیدا کند.
تکرار کردن
تکرار کردن نه تنها برای برنامهنویسان بلکه برای هر کسی خستهکننده است؛ این کار مستلزم این است که یک چیز مشخص را بارها و بارها بنویسند که این جزء لاینفک کار برنامهنویسی است اما برنامهنویسان عموماً از انجام کارهای تکراری نفرت دارند. به طور مثال، اگر سیستمعامل وی فرمت و دوباره نصب شود تا به آنچه دلخواه آنها است تبدیل شود، نیاز به نصب مجدد ادیتور، کامپایلر و ... دارد که چنین چیزی اصلاً برای یک برنامهنویس خوشایند نیست.
کپیبرداری
مثلاً شما از یک وب دولوپر میخواهید چیزی شبیه به سایتی که قبلاً دیدهاید برایتان خلق کند، اما چیزی که او میشنود این است که «به جای تولید یک سایت جدید و منحصربهفرد، از روی کار یک دولوپر دیگر برایم کپی کن!»
برنامهنویسان از شنیدن چنین جملهای بیزارند و دلیل موجهی هم دارند؛ آنها به دنبال شانسی برای نشان دادن تواناییهای خود هستند. بیشتر ایشان میتوانند کاری بهتر از آنچه از نظر شما خارقالعاده میآید برایتان انجام دهند تنها به شرط آنکه زمان کافی برای نشان دادن استعداد خود داشته باشند.
تعیین ضربالعجل
برنامهنویسان از اینکه برایشان ضربالعجل (Deadline) تعیین شود متنفرند و حتی دوست ندارند در ابتدای پروژه در این مورد صحبت کنند. مسائل زیادی وجود دارد که موجب میشود یک برنامهنویس نتواند زمان مشخصی برای اتمام پروژه اعلام کند. آنها ترجیح میدهند به جای تعیین ضربالعجل، در مورد کیفیت انجام کار یا چگونگی انجام آن نظر بدهند. به آنها زمان کافی بدهید و سپس بنشینید و از آنچه که برایتان خلق میکنند لذت ببرید.
بررسی سورسکد
هر کدی نیاز به بازنگری (Review) دارد و این همان چیزی است که اکثر برنامهنویسان ازش متنفرند! برنامهنویسان ممکن است در آیندهای نه چندان دور نیاز به بازگشت به کدهای خود داشته باشند، بنابراین بررسی آنچه نوشتهاند خالی از لطف نیست.
استفاده از اسامی مناسب و گویا برای فانکشنها و متغیرها میتواند کار را راحتتر کند اما حتی اگر سورسکد به خوبی کامنتگذاری شده باشد و نامهای مناسبی برای کلاسها، متدها و ... در نظر گرفته شده باشد، باز هم مرور سورسکدهای از پیش نوشته شده مورد علاقهٔ خیلی از برنامهنویسان نیست به خصوص زمانی که این کد را فرد دیگری هم نوشته باشد.
کلام آخر
برنامهنویسی برخلاف تصور بسیاری از آدمها، کاری بس مشکل است و آنچه که از یک برنامهنویس انتظار میرود، از خلق پروژهای بیعیب و نقص گرفته تا تحویل دادن به موقع پروژه، توقع کمی نیست. بنابراین نباید با مجبور کردن برنامهنویسان به کارهایی که دلخواهشان نیست، شرایط را برایشان سختتر کرد.
نکاتی که دراین مقاله ذکر شد صرفاً بخش کوچکی از هزاران کاری است که با اعصاب برنامهنویسان بازی میکند؛ پس اگر از این به بعد سر و کارتان به ایشان افتاد، بهتر است نکات بالا را مد نظر داشته باشید.
حال نوبت به نظرات شما میرسد. در صورتی که شما یک برنامهنویس هستید، آیا مسائل فوقالذکر برای شما هم رنجش ایجاد میکنند؟ همچنین به غیر از موارد فوق، چه چیزهایی دیگری برایتان آزاردهنده است؟ نظرات و دیدگاههای خود را با سایر کاربران سکان آکادمی به اشتراک بگذارید.