چند درسی که دولوپرها می‌توانند از دعای جوشن‌کبیر بگیرند!

چند درسی که دولوپرها می‌توانند از دعای جوشن‌کبیر بگیرند!

یک دولوپر با هر دیدگاه و نقطه‌نظری، بایستی از تک‌تک فرصت‌هایی که در محیط پیرامونش به‌وجود می‌آیند به‌منظور حرفه‌ای‌تر شدن استفاده کند و یکی از این فرصت‌های طلایی که کمک شایانی به دولوپرها در عرصه کدنویسی برنامه‌های مفیدتر و سبک کاری حرفه‌ای‌تر می‌کند، درس گرفتن از دعای جوشن‌کبیر است! به نقل از بیتوته «دعای جوشن‌کبیر در یکی از غزوات صدر اسلام از جانب جبرئیل بر پیامبر اسلام (ص) نازل شده است که صد بند داشته و هر بند حاوی‌ ده‌ اسم از اسماء خداوند متعال است به‌ جز بند ۵۵ که‌ ۱۱ اسم‌ باری‌تعالی در آن‌ آمده‌ است‌؛ بنابراین‌، این‌ دعا روی‌هم‌رفته حاوی‌ ۱۰۰۱ اسم خدای‌ متعال‌ است.» آنچه در این مقاله قصد داریم مورد بررسی قرار دهیم، برخی از این ۱۰۰۱ صفت خداوند است که اگر یک دولوپر هم از آن‌ها برخوردار گردد، وی خواهد توانست خود را یک سرو‌گردن از سایر رقبا بالاتر نگاه دارد. آنچه مسلم است این که قطعاً صفات الهی با صفات بندگانش قابل‌قیاس نبوده و به‌قول سعدی «همه هرچه هستند از آن کم‌ترند که با هستیش نام هستی برند» و آنچه در این مقاله ذکر خواهیم کرد فقط درعرض این صفات الهی است و درواقع حتی ذره‌ای در مقابل اقیانوس صفات کاملهٔ خداوندی نیستند.

یا ذا العهد و الوفاء / یا من وعده صدق 
آنچه در میان برخی دولوپرها به‌وضوح دیده می‌شود، چیزی است تحت‌عنوان «بد قولی» البته این در حالی است که این بدقولی که در رفتار برخی برنامه‌نویسان دیده می‌شود می‌تواند به‌خاطر ماهیت حرفهٔ برنامه‌نویسی باشد (گاهی‌اوقات پیش می‌آید که یک برنامه‌نویس به باگی می‌خورد که شاید روزها صرف دیباگ کردنش کند).

اما به‌هرحال، ارزش یک برنامه‌نویس خوش‌قول به‌مراتب بیشتر از یک برنامه‌نویس بدقول است؛ همان‌طور که از عنوان این آیتم مشخص است، یکی از صفات بارز خداوند متعال وفای‌ به‌ عهد است. اگر ما برنامه‌نویسان هم بتوانیم خود را مجهز به این صفت کمیاب و ارزشمند کنیم، بدون شک فرصت‌های طلایی بی‌شماری درب خانهٔ ما را به‌صدا در خواهند آورد (متأسفانه در میان برخی مدیران HR (منابع انسانی) شرکت‌های آی‌تی، برنامه‌نویسان و دولوپرها به‌عنوان پرسنلی بی‌تعهد، بدقول و غیرقابل‌اعتماد جا افتاده‌اند!)

یا موسع 
یکی دیگر از اسماء خداوند موسع به‌معنی «وسعت بخش» است؛ یک دولوپر صرفاً نمی‌بایست فردی مصرف‌گرا بوده، پروژه‌های آماده را از گیت‌هاب کلون کرده و کارش را راه بیندازد. اگر دولوپری از این صفت بارز خداوند برخوردار گردد -یعنی به‌معنای واقعی کلمه توسعه‌دهنده باشد- دیگر به خود اجازه نخواهد داد صرفاً مصرف‌کنندهٔ اسکریپت‌های دیگران باشد بلکه در توسعه‌ٔ کدهای دیگران، شرکت در پروژه‌های اپن‌سورس و … مشارکت خواهد کرد.

یا نافع / یا باسط الیدین بالرحمه / یا من فضله عمیم 
درست است که برنامه‌نویسی یکی از جذاب‌ترین حرفه‌های حال‌حاضر دنیا است و درصورتی که فقط یک روز کل دولوپرهای دنیا اعتصاب کنند کار دنیا مختل خواهد شد، اما برخی دولوپرها فقط فکر می‌کنند که کار ایشان کدنویسی است و لاغیر! نافع به‌معنی «سود‌ رسان» یکی دیگر از اسماء خداوند است. شاید به‌نوعی این نام را بتوان به این شکل تفسیر کرد که خداوند متعال بدون هیچ چشم‌داشتی به بندگان خود -اعم از مؤمن و کافر- سود می‌رساند.

ما هم نیاز داریم تا این فرهنگ را در جامعهٔ دولوپرهای ایرانی نهادینه کنیم که سود رسانی به کسانی که تازه پا به این عرصه گذاشته‌اند و کمک کردن به کسانی که نیاز به یادگیری برنامه‌نویسی دارند می‌تواند تبعات چشمگیری در رونق نرم‌افزاری مملکت داشته باشد. دیری نمی‌پاید که نیاز به برنامه‌‌نویس‌ها از این هم بیشتر شده و این در حالی است که دانشگاه‌ها صرفاً بخش کوچکی از این نیاز رو به رشد جامعه را تأمین می‌کنند لذا ضرورت برخورداری از صفت یا باسط الیدین بالرحمه به‌معنی «ای گشاده ۲ دست به رحمت» در جامعه دوچندان می‌گردد.

همان‌طور که از عنوان این آیتم مشخص است، یکی دیگر از صفات خداوند یا من فضله عمیم به‌معنی «ای که فضلش عمومی است» می‌باشد و به‌نظر هم می‌رسد که دولوپرهای دیگر نقاط دنیا همچون اروپا و آمریکا بیش از دولوپرهای سایر نقاط جهان به این ویژگی متصف هستند چراکه بدون هیچ واهمه‌ای، در جنبش‌های اپن‌سورس مشارکت کرده و دانش خود را با سایرین به‌اشتراک می‌گذارند.

یا ذا الحجه و البرهان
خداوند هیچ کاری را بدون دلیل نمی‌کند و بدون شک خداوند مجهز به تفکر الگوریتمیک است و این در حالی است که یک دولوپر موفق هم می بایست این‌گونه باشد. به‌عبارت دیگر، دولوپر اصلاً اجازه ندارد کاری که پشت آن دلیل و برهانی منطقی نباشد انجام دهد چراکه ممکن است اثرات سوء بسیاری یا برای خود دولوپر، یا برای مشتری‌اش و یا برای نرم‌افزاری که نوشته داشته باشد.

فانکشنی که یک دولوپر می‌نویسد می‌بایست اصولی باشد، فریمورکی که یک دولوپر استفاده می‌کند یا مهم‌تر از آن، نوع زبان برنامه‌نویسی که توسعه‌دهنده استفاده می‌کند می‌بایست کاملاً منطبق بر منطق بوده و با نیازهای پروژه هم‌خوانی داشته باشد.

برای روشن‌تر شدن این مسأله مثالی می‌زنیم؛ فرض کنیم که ما یک مشتری داریم که نیاز به یک سایت استاتیک برای شرکتش دارد تا صرفاً به معرفی شرکت و اطلاعات تماسش بپردازد.. برای چنین پروژه‌ای، اصلاً نیازی نیست تا بااستفاده از زبان برنامه‌نویسی روبی و فریمورک Ruby on Rails اقدام به کدنویسی کنیم بلکه یک طراح سایت ساده هم می‌تواند این نیاز را مرتفع گرداند. 

یا من هو قادر علی کل شیء / یا مهیمن 
پیش از این در مورد خصوصیات یک Full Stack Developer یا یک توسعه‌دهنده همه فن حریف مقاله‌ای جامع منتشر کردیم؛ به‌طور خلاصه، یک Full Stack Developer کسی است که صفت یا من هو قادر علی کل شیء به‌معنی «کسی که بر هر کاری توانا است» در موردش صدق می‌کند.

واژگان هر کاری و توانا دارای معانی گسترده‌ای هستند و آنچه مسلم است این که یک دولوپر با گسترشی که علم برنامه‌نویسی دارد نخواهد توانست تا مثلاً به ۲۰ زبان برنامه‌نویسی مطرح دنیا تسلط کامل پیدا کند. آنچه می‌توان از این صفت خداوند متعال درس گرفت این است که فقط با دانستن اصول برنامه‌نویسی نمی توان کارهای بزرگ کرد! مثلا اگر کسی صرفاً زبان‌های اچ‌تی‌ام‌ال و سی‌اس‌اس را بلد باشد، نخواهد توانست برچسب وب دیزاینر را به خود بچسباند.

فرض کنیم کسی به کلیهٔ زبان‌های سمت کلاینت مثل اچ‌تی‌ام‌ال، سی‌اس‌اس، جاوا‌اسکریپت، فریمورک آنگولار جی‌اس، فریمورک بوت‌استرپ و … مسلط است اما اصلاً حس زیبایی‌شناسی ندارد؛ مسلماً چنین فردی همواره لنگ یک طراح گرافیک خواهد بود. باز هم فرض کنیم که کسی با اصول برنامه‌نویسی آشنا است اما هیچ چیزی در مورد پروتکل‌های اینترنتی نمی‌داند؛ باز هم چنین فردی نخواهد توانست تا از خود نام و نشانی به‌عنوان یک توسعه‌دهندهٔ حرفه‌ای به‌جا بگذارد.

پس نتیجه می‌گیریم که برنامه‌نویس‌ها می‌بایست دائماً در‌حال مطالعه و کسب دانش در زمینهٔ علوم جدید مرتبط با حوزهٔ کاری خود بوده و به‌قول معروف، آدم همه فن حریفی باشند! و صفتی همچون مهیمن به‌معنی «مسلط بر هر چیز» در ایشان بارز باشد.

یا مهون یا مسهل 
کدنویسی بک‌اند به‌صورت اصولی یک سوی قضیه است و ایجاد تجربهٔ کاربری خوب برای کاربران نرم‌افزار هم چیز دیگری است! ۲ مورد از القاب خداوند در دعای جوشن‌کبیر یا مهون به‌معنی «ای آسان‌کننده» و یا مسهل به‌معنی «ای هموارکنندهٔ راه‌ها» است. امروزه راز موفقیت اکثر نرم‌افزارهایی که به‌بازار عرضه می‌شوند را می‌توان در حس خوبی که کاربران آن نرم‌افزار می‌گیرند ارزیابی کرد. به‌عبارت دیگر، ما می‌بایست نرم‌افزاری در اختیار گروه مخاطب خود قرار دهیم که به ساده‌ترین شکل ممکن نیازهای ایشان را مرتفع گرداند.

این قضیه در مورد فروشگاه‌های آنلاین کاملاً صادق است؛ فرض کنید که شما قصد خرید یک کتاب آموزش اصول برنامه‌نویسی جاوا را از یک کتاب‌فروشی آنلاین دارید؛ زمانی که قصد اضافه کردن کتاب به سبد خرید را دارید، سایت از شما می‌خواهد که ابتدا ثبت نام کنید. وقتی که روی لینک ثبت نام کلیک می‌کنید، با فرمی بلند بالا مواجه می‌شوید که در آن اطلاعاتی از قبیل نام و نام‌خانوادگی، ایمیل، آدرس، شماره همراه، تاریخ تولد، روش آشنایی و … را از شما می‌خواهد.

درواقع، کاری که دولوپر این فروشگاه کتاب آنلاین انجام داده این است که کار را برای شما دشوار ساخته است و این احتمال نیز وجود خواهد داشت که شما از خرید خود منصرف شوید! ما به‌عنوان یک دولوپر، وظیفه داریم تا از صفت بارزی همچون مهون برخوردار گردیم تا از آن پس بتوانیم با ساده‌ترین سبک ممکن، نیازهای کاربران خود را مرتفع سازیم.

یا من لم یهتک الستر 
برخی مواقع آدم با گروهی از برنامه‌نویسها مواجه می‌شود که دائماً سعی در تخریب سایر همکاران خود دارند؛ مثلاً اگر دولوپری به زبان برنامه‌نویسی جاوا مسلط است، به‌خاطر محبوب بودن و قدرتمند بودن این زبان، به سایر برنامه‌نویسان به دیدهٔ حقارت می‌نگرد. به‌عنوان مثال دیگری که امروزه به‌کرات دیده می‌شود، کری خواندن دولوپرهای پی‌اچ‌پی و دات‌نت است که همدیگر را اصلاً قبول ندارند و این در حالی است که هر کدام از این زبان‌ها، می‌تواند کاربردهای خاص خود را داشته باشد.

اگر با یکی از این دولوپرهایی که در بالا برخی از خصوصیاتشان را برشمردیم مواجه شده باشید، مسلماً تجربه کرده‌اید که فقط کافی است که ایشان کمی از شما تجربهٔ بیشتری در کدنویسی داشته باشد که در این صورت اگر کدنویسی شما را کمی غیراصولی ببینند، شروع به تخریب شما می‌کند و در همین جا است که می‌بایست صفتی همچون یا من لم یهتک الستر به‌معنی «ای که پردهٔ کسی را ندری» را در خود نهادینه کنیم.

خیلی از مسلمان‌ها دست به گناهان کبیره‌ای می‌زنند -که البته نگارندهٔ این مقاله هم اصلاً از این قاعده مستثنی نیست!- که اگر کسی متوجه آن شود، آبروی ما حسابی خواهد ریخت اما خداوند دست ما را رو نمی‌کند؛ سعی کنیم به‌جای آن‌که اگر باگی در یکی از نرم‌افزارهای یک دولوپر دیگر دیدیم شروع به تخریب وی کنیم، وی را از وجود باگ مطلع کرده و پیش از آن‌که آبروی وی بریزد، باگ نرم‌افزارش رفع گردد.

شاهد این ادعا هم مشکل امنیت بانک ملت است که چند سال پیش فضای وب فارسی را تحت‌الشعاع خود قرار داد؛ به‌طور خلاصه، این مشکل از اینجا ناشی شد که سایت بانک ملت یک یو‌آر‌ال را در اختیار کاربر قرار می‌داد که حاوی پارامتری تحت عنوان SaleOrderId به‌معنی «شناسهٔ خرید» بود. حال اگر کاربری پیدا می‌شد و مقدار این پارامتر را تغییر می داد، می‌توانست به تراکنش‌های سایر مشتریان بانک هم دست یابد.

آیا اگر شما یکی از مشتریان بانک ملت بودید که دارای تراکنش‌های میلیونی به‌صورت روزانه بود، دوست می‌داشتید تا اطلاعات محرمانهٔ شما در معرض دید سایر کاربران قرار گیرد یا خیر؟ به‌نظر می‌رسد اگر کسی که این باگ امنیتی را یافته، به‌جای فاش کردن آن و گرفتن اسکرین‌شات و منتشر کردن در فضای وب، با دپارتمان انفورماتیک بانک ملت تماس می‌گرفت و ایشان را به این موضوع واقف می‌گردانید، صفت «ای که پردهٔ کسی را ندری» بیشتر در مورد وی صدق می‌کرد!

یا اسمع السامعین 
Active Listening مهارتی است که شرکت‌های حرفه‌ای در کشورهای جهان اول روی آموزش آن به پرسنل خود سرمایه‌گذاری می‌کنند. جملهٔ جالبی وجود دارد با این مضمون که خداوند ما را با ۱ دهان و ۲ گوش آفریده است پس به‌همین میزان می‌بایست از آن‌ها استفاده کنیم؛ به‌عبارت دیگر، هر چقدر صحبت می‌کنیم، می‌بایست ۲ برابر آن گوش دهیم!

زمانی که دولوپرها در جلسات توجیهی با مشتریان شرکت می‌کنند، می‌بایست از صفتی همچون یا اسمع السامعین به‌معنی «ای شنواترین شنوایان» برخوردار گردند؛ گاهی‌اوقات وقتی که ما به‌خوبی به نیازهای مشتریان گوش فرا نمی‌دهیم، این مسأله منجر به ایجاد سوء‌تفاهماتی در آینده خواهد شد. برای این منظور، توصیه می‌کنیم که با گوگل کردن (توجه داشته باشیم که اخیراً واژهٔ Google در زبان انگلیسی به‌عنوان یک فعل درآمده و به‌جای اصطلاحاً Search It in google.com به معنی «آن را با استفاده از موتور جستجوی گوگل سرچ کن»، از خود تک‌واژهٔ Google استفاده می‌شود) در ارتباط با مهارت‌های Active Listening، قابلیت خوب گوش دادن را در خود ارتقاء دهیم و تحت هیچ عنوان و بدون گوش فرا دادن به نیازهای مشتریان، فرض را بر این نگذاریم که «حتماً نیازهای این مشتری هم شبیه به مشتری قبلی است».

یا عماد من لا عماد له / یا مرشد من استرشده / یا نعم المجیب / یا دلیل من لا دلیل له 
ما تحت هیچ عنوان نمی‌بایست فکر کنیم که مخاطبین نرم‌افزارهای ما تعدادی گیک هستند که به‌خوبی با وب، آی‌تی و دنیای نرم‌افزار آشنایی دارند؛ بلکه می‌بایست مبنا را بر این بگذاریم که مخاطبین خدمات و محصولات ما دارای حداقل دانش استفاده از محصولات آی‌تی هستند. در اینجا است که نقش پشتیبانی مطرح شده و به صفتی از خداوند تحت‌عنوان یا عماد من لا عماد له به‌معنی «ای پشتیبان کسی که پشتیبان ندارد» نیاز پیدا خواهیم کرد.

فرض کنیم که ما در یک شرکت هاستینگ کار می‌کنیم و یک مشتری داریم حدوداً ۴۵ ساله که تکنوفوب است (به‌طور کلی، منظور از فوبیا یعنی ترس و منظور از تکنوفوب، کسی است که با فناوری رابطه خوبی ندارد!) و این اولین باری است که قصد راه‌اندازی وب‌سایت شخصی‌اش را دارا است. رویکردی که معمولاً در جامعه دیده می‌شود این است که اپراتور این فرد را به آموزش‌های قرار گرفته روی سایت، سرچ در گوگل و … سوق می‌دهد و این در حالی است که وی هرچه بیشتر در این زمینه به جستجو و مطالعه می‌پردازد، بیشتر سردرگم می‌شود. درعین‌حال، می‌توان رویکردی همچون خداوند اتخاذ کرد که پشتیبان کسانی است که هیچ پشتیبانی ندارند؛ به‌عبارت دیگر، تا حد ممکن به راهنمایی وی پرداخته و به‌جای آن‌که کارها را به‌دوش این فرد میانسال بیندازیم، خود مسئولیت کانفیگ کردن، ست کردن دی‌ان‌اس و … را برعهده گیریم.

این قضیه در مورد دولوپرها هم به‌کرات دیده می‌شود به این صورت که به‌محض دریافت آخرین چک پروژهٔ خود، دست از پشتیبانی مشتری می‌کشند! توجه داشته باشیم که در‌حال‌حاضر، آنچه افراد یا شرکت‌های تراز اول را از شرکت‌های سطح پایین‌تر متمایز می‌سازد، توانایی ایشان در پشتیبانی خدمات یا محصولات خود است. ما دولوپرها اگر بتوانیم خود را به یا مرشد من استرشده به‌معنی «ای راهنمای کسی که از او راهنمایی جوید» و یا نعم المجیب به‌معنی «ای نیکو پاسخ ده» و یا دلیل من لا دلیل له به‌معنی «ای راهنمای آن که راهنمایی ندارد» همچون خداوند متعال تجهیز کنیم، مسلماً دارای تأثیرگذاری بیشتری در جامعهٔ آی‌تی خواهیم بود.

یا لطیف الصنع / یا من فعله لطیف /یا من خلق فسوی 
حرفهٔ برنامه‌نویسی جزو مهارت‌هایی است که دقت بسیار بالایی می‌طلبد و شاهد این ادعا هم آن که یک بی‌دقتی کوچک می‌تواند هزینه‌های بسیار بالایی برای محصول، دولوپرها و یا کاربران محصول درپی داشته باشد؛ خداوند از اسمائی همچون یا لطیف الصنع و یا من لعله لطیف به‌ترتیب به‌معانی «ای دقیق صنعت» و «ای که کارش دقیق است» برخوردار است و بدون شک یک دولوپر حرفه‌ای هم می‌بایست از چنین صفاتی برخوردار گردد.

شاید بتوان گفت یکی از دلایلی که کمتر شاهد نرم‌افزارهایی بوده‌ایم که در سطح جهانی حرفی برای گفتن داشته باشند، عدم برخورداری از این ۲ صفت باشد. به‌عبارت دیگر، به‌کرات دیده می‌شود که نرم‌افزارهایی که به‌بازار عرضه می‌شوند که نه‌تنها در بک‌اند آن‌ها دقت زیادی به‌کار گرفته نشده، بلکه در ظاهر یا بهتر بگوییم فرانت‌اند آن‌ها هم وسواس زیادی به‌خرج داده نشده است و همین مسأله منجر می‌گردد که یک نرم‌افزار نتواند سهم بازار قابل‌توجهی را به‌خود اختصاص دهد.

یکی از صفات دیگر خداوند یا من خلق فسوی به‌معنی «ای که آفرید و بیاراست» است؛ یعنی خداوند در زمان آفرینش هستی، صرفاً به مقولهٔ آفرینش فکر نکرده بلکه آفرینش باکیفیت ملاک بوده است و شاهد چنین ادعایی هم آفرینش مناظر دل‌انگیز، انسان‌های زیبا، حیوانات حیرت‌برانگیز و … است. به‌طور خلاصه، دولوپری که از صفت یا من خلق فسوی برخوردار باشد، کسی است که کدهایی که می‌نویسد بسیار خوانا و تمیز هستند، به‌خوبی کامنت‌گذاری شده‌اند، نامگذاری توابع و متغیرها کاملاً مرتبط است و درعین‌حال رابط کاربری نرم‌افزار ایشان نیز بسیار جذاب و کاربرپسند است.

یا جابر 
خداوند جابر است یعنی چیزهای مختلف را به‌هم پیوند می‌دهد. یک دولوپر موفق هم کسی است که جابر باشدگ به عبارتی، دولوپرهای موفق کسانی هستند که بتوانند ماژول‌های مختلف، اسکریپت‌های مختلف، API‌های مختلف را درجهت خلق یک نرم‌افزار کارآمد به یکدیگر ارتباط دهند و به‌جای آن‌که چرخ را از نو اختراع کنند،‌ از فناوری‌های موجود در بازار در جهت منافع خود استفاده کنند (البته حفظ حقوق معنوی را هم فراموش نکنیم).

یا من به یفتخر المحبون 
در فرازی از دعای جوشن‌کبیر آمده یا من به یفتخر المحبون به‌معنی «ای که دوستان به دوستی‌اش افتخار کنند» و به‌نظر می‌رسد که اگر دولوپرها هم از چنین صفتی برخوردار گردند، علاوه بر کار خود، می‌توانند از زندگی شخصی خود هم بیش از پیش لذت ببرند. ما به‌جای آن‌که به‌ فردی دنباله‌رو دیگران مبدل شویم و سعی کنیم با دولوپرهای حرفه‌ای‌تر از خود، وب‌مسترهای باسابقه‌تر از خود و برنامه‌نویسان معروف‌تر از خود طرح رفاقت بریزیم، سعی کنیم خود به کسی مبدل شویم که سایرین به دوستی با ما افتخار کنند. بدون شک، تجربهٔ چنین حسی بسیار خوشایند خواهد بود!

یا ابصر من کل بصیر/ یا اخبر من کل خبیر / یا حسن البلاء /یا ذا الفعل الرشید 
وقتی شما نرم‌افزاری را منتشر می‌کنید -به‌خصوص اگر نرم‌افزار شما وب اپلیکیشن و یا اپلیکیشنی باشد که بر بستر وب کار می‌کند- دیگر عنان نرم‌افزار از دست شما خارج است لذا نیاز است تا فرض را بر این بگذارید که تعدادی هکر حرفه‌ای بیکار نشسته تا وب اپلیکیشن شما را هک کنند. در اینجا است که صفاتی همچون یا ابصر من کل بصیر و یا اخبر من کل خبیر به‌معانی به‌ترتیب «ای بیناتر از هر بینا» و «ای آگاه‌تر از هر آگاه» به داد ما می‌رسند؛ در‌واقع، ما می‌بایست نقش یک هکر کلاه سفید را بازی کرده، حفره‌های امنیتی نرم‌افزار خود را یافته و همواره یک گام جلوتر از هکرهای کلاه سیاه باشیم!

تیر خلاص در این راستا، داشتن صفتی همچون یا حسن البلاء به‌معنی «ای نیک آزمایش» است که به ما کمک می‌کند تا نرم‌افزار خود را به‌بهترین شکل آزمایش کرده و این زحمت را به دوش هکرهای باغرض نیندازیم! همان‌طور که در عنوان این آیتم اشاره شد، یکی دیگر از صفات خداوند یا ذا الفعل الرشید به‌معنی «ای صاحب کار مستحکم» است: دولوپر موفق کسی است، کارش را به حرفه‌ای‌ترین شکل ممکن انجام دهد.

یا رازق المقلین 
بسیاری از دولوپرها سراسر دنیا را می‌بینیم که دانش خود را به‌رایگان در اختیار سایرین قرار می‌دهند؛ شاید یکی از دلایل این کار ایشان، حس نوع‌دوستی‌شان باشد که ممکن است فکر کنند شاید فرد بااستعدادی باشد که به‌خاطر عدم برخورداری از شرایط مالی خوب، نتواند به‌دنبال علاقه‌اش (برنامه‌نویسی) برود لذا بستری را فراهم می‌کنند که این گروه از افراد صرفاً با دسترسی به یک اتصال اینترنت و یک لپ‌تاپ، بتوانند در حوزهٔ برنامه‌نویسی فعالیت کنند.

خداوند هم این چنین است و صفتی همچون یا رازق المقلین به‌معنی «ای روزی ده ناداران» به‌خوبی برازنده ذات احدیت است؛ اگر ما دولوپرها هم بتوانیم از چنین صفتی برخوردار گردیم و بدون چشم‌داشت مالی، دانش خود را در اختیار سایر هم‌نوعان خود قرار دهیم، خواهیم توانست تازه همچون کشورهای -به‌قول برخی آقایان بلاد کفر- مثلاً آمریکا شده و حس نوع‌دوستی را در جامعه ترویج دهیم.

یا من اله المثل الاعلی 
اگر ترجمهٔ فارسی قرآن را خوانده باشید، خواهید یافت که در آیات مختلف قرآن مثال‌ها و داستان‌های فراوانی آورده شده و این هم به‌خاطر متصف بودن خداوند متعال به صفت یا من اله المثل الاعلی به‌معنی «ای که از آن اوست عالی‌ترین مثال‌ها» است؛ اگر شما دولوپری هستید که قصد آموزش اصول برنامه‌نویسی را به یک فرد مبتدی دارید، به‌جای استفاده از Jargon یا بهتر بگوییم «اصطلاحات فنی» حوزهٔ برنامه‌نویسی، بهتر آن است که از مثال‌های روزمره‌ای که افراد با آن‌ها درگیر هستند استفاده کنید که بدون شک افراد مبتدی با این سبک آموزش، بهتر متوجه اسلوب برنامه‌نویسی می‌شوند (در دورهٔ آموزش زبان برنامه‌نویسی جاوا در سکان آکادمی، سعی کرده‌ایم چنین ادعایی را پیاده‌سازی کنیم).

برای روشن‌تر شدن این مسأله مثالی می زنیم. نیکان پوره -مدرس نوجوان دورهٔ آموزش زبان اسکرچ به کوکان در سکان آکادمی- زمانی که خواست دستورات شرطی را به مخاطبین دورهٔ آموزش برنامه‌نویسی اسکرچ انتقال دهد، سعی کرد وارد زندگی روزمرهٔ مخاطبین شده و مثالی برای ایشان بیاورد که این مفهوم به‌خوبی در ذهن ایشان جا بیافتد. مثالی که نیکان زد این بود که:

فرض کنیم مامانتون بتون می‌گه اگر در کارنامه‌ات همهٔ نمره‌هات ۲۰ باشه، برات یک تبلت می‌خرم و در غیر این صورت، خبری از تبلت مبلت نیست‌ها!

و به این شکل بود که نیکان این داستان را به دستورات شرطی if در برنامه‌نویسی ربط داد.

یا صبور / یا شدید 
در فرازهایی از دعای جوشن کبیر، از خداوند متعال به عنوان یا صبور و یا شدید به معنی «ای شکیبا» و «ای سخت نیرو» یاد می‌شود؛ بدون تعارف بایستی بگوییم که برنامه‌نویسی کار دشواری است و اگر زمانی که در این حوزه پا می‌گذاریم، صبر و پشت کار نداشته باشیم، بعید به‌نظر می‌رسد که بتوان به موفقیت‌های چشمگیری در این حوزه دست یابیم.

یا سریع 
به‌نظر می‌رسد که خداوند هم در کارهایش از متودولوژی Agile یا «چابک» استفاده می‌کند که در دعای جوشن‌کبیر از خداوند به‌عنوان یا سریع به‌معنی «ای سریع در کارها» یاد می‌شود؛ در‌واقع، یکی از قوانین دوازده‌گانهٔ اجایل، تحویل سریع پروژه به مشتری است. چنانچه ما -به‌عنوان یک دولوپر- از چنین ویژگی‌ای برخوردار باشیم، همین مسأله منجر به رضایت‌مندی بیشتر مشتریانمان خواهد شد.

یا ملهم العرب و العجم 
زمانی که دوره آموزش زبان برنامه‌نویسی جاوا را برای انتشار در سایت نردبان تألیف می‌کردیم، کتابی تحت‌عنوان Beginning Programming with Java For Dummies نوشته دکتر Barry Burd را به‌عنوان رفرنس استفاده می‌کردیم که ایشان استاد دانشگاه ایلینویز آمریکا است. پس از آن‌که در جایی از درک کتاب به مشکل برخوردیم، یک ایمیل برای ایشان ارسال کردیم و جالب است بدانید که ظرف مدت چند ساعت کاری، ایشان ایمیل را به بهترین شکل ممکن پاسخ داد و این در حالی بود که ایشان به‌طور حتم می‌دانست کسی که برایش این ایمیل را ارسال کرده از کشور تحریم شدهٔ ایران است!

یکی از صفات خداوند متعال یا ملهم العرب و العجم به‌معنی «ای الهام بخش عرب و عجم» است؛ یعنی خداوند فارغ از این که عرب باشیم یا نباشیم، لطف خود را به سوی ما سرازیر می‌کند و این در حالی است که دکتر Barry Burd به‌خوبی این صفت بارز خداوند را درک کرده و در راه تولید علم اصلاً برایش فرقی نمی‌کند که یک ایرانی به کمک وی نیاز دارد یا یک هموطن آمریکایی‌اش!

سؤالی که در اینجا به ذهن می‌رسد این‌که تا به‌حال چند بار برای مدیران سایت‌های معمولی ایرانی (اگر نگوییم درپیت) ایمیل ارسال کرده‌اید و پس از گذشت چند ماه -اگر نگوییم چند سال- کماکان منتظر پاسخ ایمیل خود هستید و این در حالی هست که هم ما و هم مدیر آن سایت هر دو هموطن هستیم؟

یا من جعل لکل شیئ امدا 
وقتی می‌گوییم که خداوند از صفت یا من جعل لکل شیئ امدا برخوردار است، این بدان معنا است که «ذات احدیت برای هرکاری و هرچیزی مدت و دورانی یا به عبارتی یک Deadline قرار داده است». در دنیای برنامه‌نویسی هم قضیه کاملاً به‌همین صورت است. درواقع، هر پروژه می‌بایست دارای یک تاریخ شروع و پایان باشد و درصورتی که ما Deadline یا ضرب‌العجل پروژه را رعایت نکنیم، شاید رقبا ایده ما را به‌نوعی بهتر از ما عملی کرده و گوی سبقت را از ما بربایند.

به‌نظر می‌رسد دولوپری را می‌توان به‌عنوان یک دولوپر موفق قلمداد کرد که کارش دارای برنامه باشد، برای کدنویسی بخش‌های مختلف پروژهٔ خود زمان تعیین کرده و تمام تلاش خود را به کار می‌بندد تا پروژهٔ خود را به‌موقع تحویل دهد.

یا ینقص من خزائنه شیئ 
لینوس تروالدز خالق کرنل لینوکس است؛ او هم می‌توانست همچون سیاستی که مایکروسافت درپیش گرفته بود، اعتقاد به فلسفهٔ اپن‌سورس نداشته باشد و کلیهٔ حقوق کرنل لینوکس را برای خود محفوظ نگاه دارد اما به‌نظر می‌رسد که اعتقاد به جنبش اپن‌سورس بود که منجر به موفقیت حیرت برانگیز سیستم‌عامل گنو/لینوکس که مبتنی بر کرنل لینوکس است نسبت به رقبا شد (لازم به ذکر است که اکثر سایت‌های دنیا، روی هاست‌هایی با یکی از توزیع‌های سیستم‌عامل گنو/لینوکس میزبانی می‌شوند.)

یکی از صفات خداوند متعال صفت یا ینقص من خزائنه شیئ به‌معنی «ای که کم نشود از گنجینه‌هایش چیزی» است؛ دولوپرها اصلاً نمی‌بایست از این بابت واهمه داشته باشند که اگر دانش خود را با دیگران به‌اشتراک بگذارند، چیزی را از دست خواهند داد بلکه برعکس، با اشتراک‌گذاری دانش و توانایی‌های خود، بستری برای رشد بیشتر خود ما فراهم خواهد شد (البته لازم به‌ذکر است که در سال‌های اخیر غول نرم‌افزاری دنیا -مایکروسافت- هم به حوزهٔ اپن‌سورس علاقمند شده است).

یا من کتابه محکم 
اگر واژهٔ کتاب را در این اسم خداوند به همان کتاب قرآن کریم تفسیر کنیم، نیاز به توضیح ندارد که پایه و اساس کتاب قرآن محکم است؛ یک دولوپر موفق، کسی است که Documentation یا اسناد مرتبط با پروژه‌ای خلل‌ناپذیر و قابل‌استناد ایجاد کند. به‌عبارت دیگر، همواره این‌‌گونه فرض کنید که ممکن است شما به دلایل مختلفی (همچون قطع همکاری، مشکلات شخصی، مرگ و …) دیگر نمی‌توانید روی پروژه‌ای کار کنید. حال اگر پروژهٔ شما به‌خوبی مستند شده باشد و کلیهٔ سورس‌کدهای شما کامنت‌گذاری شده باشند، دولوپر دیگری که شروع به توسعهٔ پروژهٔ شما می‌کند، بدون هیچ‌گونه سردرگمی خواهد توانست کار خود را به‌پیش برد و در غیر این‌صورت، حتی ممکن است مجبور شود که پروژه را از ابتدا بازنویسی کند!

یا من لا یمنعه فعل عن فعل 
خدا دارای صفتی تحت‌عنوان یا من لا یمنعه فعال عن فعل به‌معنی «ای که بازش ندارد کاری از کاری دیگر» است؛ در تفسیر این صفت، خیلی ساده می‌توان دعا کردن بندگان را مدنظر قرار داد. چگونه می‌شود که خداوند در آن واحد می‌تواند به دعای تمامی بندگانش گوش فرا دهد (چنین قابلیتی در برنامه‌نویسی Concurrency نامیده می‌شود.)

یک دولوپر خوب هم نمی‌بایست وقتی در آن واحد روی چندین پروژه کار می‌کند، سردرگم شده و از مدیریت خوب همهٔ پروژه‌ها ناتوان گردد. اگر ما هم همچون خداوند از چنین صفتی برخوردار گردیم،‌ آن وقت است که خواهیم توانست در آن واحد چندین مشتری را راضی نگاه داشته و به‌صورت هم‌زمان روی چندین پروژه کار کنیم.

یا من لا یبرمه الحاح الملحین 
سرو‌کله زدن با مشتری‌های پروژه‌های برنامه‌نویسی کار بسیار دشواری است و این دشواری زمانی دوچندان می‌شود که مخاطب شما چیزی از آی‌تی، توسعهٔ نرم‌افزار و دیگر حوزه‌های مربوطه نداند (به‌عبارتی، تکنوفوب باشد). در اینجا است که نیاز داریم به صفتی از خداوند چنگ زنیم تحت‌عنوان یا من لا یبرمه الحاح الملحین به‌معنی «ای که به ستوهش نیاورد پافشاری اصرار ورزان». خیلی از مشتری‌های پروژه‌های نرم‌افزاری هستند که امروز فیچری را سفارش می‌دهند و ما هم باکلی دردسر آن‌را پیاده‌سازی می‌کنیم اما فردا روزی نظرشان عوض می‌شود و فیچری که شفارش داده بودند را دستخوش تغییر می‌سازند!

گرچه چنین رفتاری به‌نوعی غیرحرفه‌ای است، اما به‌هرحال به‌منظور ایجاد یک تجربهٔ کاربری خوب چاره‌ای جز این نیست تا آنقدر نرم‌افزار را پایین و بالا کرده تا درنهایت به آن چیزی که مطلوب کاربرانش است دست یابیم و اینجا است که باید به صفتی همچون یا من لا یبرمه الحاح الملحین چنگ زنیم که در غیر این‌صورت، با مشتریان خود درگیر خواهیم شد.

درست است که این مقاله کمی طولانی شد، اما هدف بیشتر این بود که اصلاح Out of The Box فکر کردن را بیاموزیم که حتی به ادعیه و مناجات هم می‌توان به شکل دیگری نگریست؛ در‌صورتی‌که دیدگاه‌های مشابهی با موارد مطروحه در این مقاله دارید، در بخش نظرات می‌توانید نقطه‌نظرات خود را با ما و سایر کاربران سکان آکادمی به‌اشتراک بگذارید.



بهزاد مرادی