چند درسی که دولوپرها میتوانند از دعای جوشنکبیر بگیرند(3)!
یا صبور / یا شدید
در فرازهایی از دعای جوشن کبیر، از خداوند متعال به عنوان یا صبور و یا شدید به معنی «ای شکیبا» و «ای سخت نیرو» یاد میشود؛ بدون تعارف بایستی بگوییم که برنامهنویسی کار دشواری است و اگر زمانی که در این حوزه پا میگذاریم، صبر و پشت کار نداشته باشیم، بعید بهنظر میرسد که بتوان به موفقیتهای چشمگیری در این حوزه دست یابیم.
یا سریع
بهنظر میرسد که خداوند هم در کارهایش از متودولوژی Agile یا «چابک» استفاده میکند که در دعای جوشنکبیر از خداوند بهعنوان یا سریع بهمعنی «ای سریع در کارها» یاد میشود؛ درواقع، یکی از قوانین دوازدهگانهٔ اجایل، تحویل سریع پروژه به مشتری است. چنانچه ما -بهعنوان یک دولوپر- از چنین ویژگیای برخوردار باشیم، همین مسأله منجر به رضایتمندی بیشتر مشتریانمان خواهد شد.
یا ملهم العرب و العجم
زمانی که دوره آموزش زبان برنامهنویسی جاوا را برای انتشار در سایت نردبان تألیف میکردیم، کتابی تحتعنوان Beginning Programming with Java For Dummies نوشته دکتر Barry Burd را بهعنوان رفرنس استفاده میکردیم که ایشان استاد دانشگاه ایلینویز آمریکا است. پس از آنکه در جایی از درک کتاب به مشکل برخوردیم، یک ایمیل برای ایشان ارسال کردیم و جالب است بدانید که ظرف مدت چند ساعت کاری، ایشان ایمیل را به بهترین شکل ممکن پاسخ داد و این در حالی بود که ایشان بهطور حتم میدانست کسی که برایش این ایمیل را ارسال کرده از کشور تحریم شدهٔ ایران است!
یکی از صفات خداوند متعال یا ملهم العرب و العجم بهمعنی «ای الهام بخش عرب و عجم» است؛ یعنی خداوند فارغ از این که عرب باشیم یا نباشیم، لطف خود را به سوی ما سرازیر میکند و این در حالی است که دکتر Barry Burd بهخوبی این صفت بارز خداوند را درک کرده و در راه تولید علم اصلاً برایش فرقی نمیکند که یک ایرانی به کمک وی نیاز دارد یا یک هموطن آمریکاییاش!
سؤالی که در اینجا به ذهن میرسد اینکه تا بهحال چند بار برای مدیران سایتهای معمولی ایرانی (اگر نگوییم درپیت) ایمیل ارسال کردهاید و پس از گذشت چند ماه -اگر نگوییم چند سال- کماکان منتظر پاسخ ایمیل خود هستید و این در حالی هست که هم ما و هم مدیر آن سایت هر دو هموطن هستیم؟
یا من جعل لکل شیئ امدا
وقتی میگوییم که خداوند از صفت یا من جعل لکل شیئ امدا برخوردار است، این بدان معنا است که «ذات احدیت برای هرکاری و هرچیزی مدت و دورانی یا به عبارتی یک Deadline قرار داده است». در دنیای برنامهنویسی هم قضیه کاملاً بههمین صورت است. درواقع، هر پروژه میبایست دارای یک تاریخ شروع و پایان باشد و درصورتی که ما Deadline یا ضربالعجل پروژه را رعایت نکنیم، شاید رقبا ایده ما را بهنوعی بهتر از ما عملی کرده و گوی سبقت را از ما بربایند.
بهنظر میرسد دولوپری را میتوان بهعنوان یک دولوپر موفق قلمداد کرد که کارش دارای برنامه باشد، برای کدنویسی بخشهای مختلف پروژهٔ خود زمان تعیین کرده و تمام تلاش خود را به کار میبندد تا پروژهٔ خود را بهموقع تحویل دهد.
یا ینقص من خزائنه شیئ
لینوس تروالدز خالق کرنل لینوکس است؛ او هم میتوانست همچون سیاستی که مایکروسافت درپیش گرفته بود، اعتقاد به فلسفهٔ اپنسورس نداشته باشد و کلیهٔ حقوق کرنل لینوکس را برای خود محفوظ نگاه دارد اما بهنظر میرسد که اعتقاد به جنبش اپنسورس بود که منجر به موفقیت حیرت برانگیز سیستمعامل گنو/لینوکس که مبتنی بر کرنل لینوکس است نسبت به رقبا شد (لازم به ذکر است که اکثر سایتهای دنیا، روی هاستهایی با یکی از توزیعهای سیستمعامل گنو/لینوکس میزبانی میشوند.)
یکی از صفات خداوند متعال صفت یا ینقص من خزائنه شیئ بهمعنی «ای که کم نشود از گنجینههایش چیزی» است؛ دولوپرها اصلاً نمیبایست از این بابت واهمه داشته باشند که اگر دانش خود را با دیگران بهاشتراک بگذارند، چیزی را از دست خواهند داد بلکه برعکس، با اشتراکگذاری دانش و تواناییهای خود، بستری برای رشد بیشتر خود ما فراهم خواهد شد (البته لازم بهذکر است که در سالهای اخیر غول نرمافزاری دنیا -مایکروسافت- هم به حوزهٔ اپنسورس علاقمند شده است).
یا من کتابه محکم
اگر واژهٔ کتاب را در این اسم خداوند به همان کتاب قرآن کریم تفسیر کنیم، نیاز به توضیح ندارد که پایه و اساس کتاب قرآن محکم است؛ یک دولوپر موفق، کسی است که Documentation یا اسناد مرتبط با پروژهای خللناپذیر و قابلاستناد ایجاد کند. بهعبارت دیگر، همواره اینگونه فرض کنید که ممکن است شما به دلایل مختلفی (همچون قطع همکاری، مشکلات شخصی، مرگ و …) دیگر نمیتوانید روی پروژهای کار کنید. حال اگر پروژهٔ شما بهخوبی مستند شده باشد و کلیهٔ سورسکدهای شما کامنتگذاری شده باشند، دولوپر دیگری که شروع به توسعهٔ پروژهٔ شما میکند، بدون هیچگونه سردرگمی خواهد توانست کار خود را بهپیش برد و در غیر اینصورت، حتی ممکن است مجبور شود که پروژه را از ابتدا بازنویسی کند!
یا من لا یمنعه فعل عن فعل
خدا دارای صفتی تحتعنوان یا من لا یمنعه فعال عن فعل بهمعنی «ای که بازش ندارد کاری از کاری دیگر» است؛ در تفسیر این صفت، خیلی ساده میتوان دعا کردن بندگان را مدنظر قرار داد. چگونه میشود که خداوند در آن واحد میتواند به دعای تمامی بندگانش گوش فرا دهد (چنین قابلیتی در برنامهنویسی Concurrency نامیده میشود.)
یک دولوپر خوب هم نمیبایست وقتی در آن واحد روی چندین پروژه کار میکند، سردرگم شده و از مدیریت خوب همهٔ پروژهها ناتوان گردد. اگر ما هم همچون خداوند از چنین صفتی برخوردار گردیم، آن وقت است که خواهیم توانست در آن واحد چندین مشتری را راضی نگاه داشته و بهصورت همزمان روی چندین پروژه کار کنیم.
یا من لا یبرمه الحاح الملحین
سروکله زدن با مشتریهای پروژههای برنامهنویسی کار بسیار دشواری است و این دشواری زمانی دوچندان میشود که مخاطب شما چیزی از آیتی، توسعهٔ نرمافزار و دیگر حوزههای مربوطه نداند (بهعبارتی، تکنوفوب باشد). در اینجا است که نیاز داریم به صفتی از خداوند چنگ زنیم تحتعنوان یا من لا یبرمه الحاح الملحین بهمعنی «ای که به ستوهش نیاورد پافشاری اصرار ورزان». خیلی از مشتریهای پروژههای نرمافزاری هستند که امروز فیچری را سفارش میدهند و ما هم باکلی دردسر آنرا پیادهسازی میکنیم اما فردا روزی نظرشان عوض میشود و فیچری که شفارش داده بودند را دستخوش تغییر میسازند!
گرچه چنین رفتاری بهنوعی غیرحرفهای است، اما بههرحال بهمنظور ایجاد یک تجربهٔ کاربری خوب چارهای جز این نیست تا آنقدر نرمافزار را پایین و بالا کرده تا درنهایت به آن چیزی که مطلوب کاربرانش است دست یابیم و اینجا است که باید به صفتی همچون یا من لا یبرمه الحاح الملحین چنگ زنیم که در غیر اینصورت، با مشتریان خود درگیر خواهیم شد.
درست است که این مقاله کمی طولانی شد، اما هدف بیشتر این بود که اصلاح Out of The Box فکر کردن را بیاموزیم که حتی به ادعیه و مناجات هم میتوان به شکل دیگری نگریست؛ درصورتیکه دیدگاههای مشابهی با موارد مطروحه در این مقاله دارید، در بخش نظرات میتوانید نقطهنظرات خود را با ما و سایر کاربران سکان آکادمی بهاشتراک بگذارید.
- ۹۶/۰۳/۲۵