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

سیده آمین ارمان

کاربر نگاه دانلود
کاربر نگاه دانلود
عضویت
2016/05/10
ارسالی ها
1,730
امتیاز واکنش
20,744
امتیاز
795
محل سکونت
البرز
یک برنامه نویس با هر دیدگاه و نقطه نظری، بایستی از تک تک فرصت هایی که در محیط پیرامون اش بوجود می‌آیند به منظور حرفه‌ای تر شدن استفاده کند و یکی از این فرصت های طلایی که کمک شایانی به برنامه نویسان در عرصه تولید برنامه‌های مفیدتر و سبک کاری حرفه‌ای تر می کند، درس گرفتن از دعای جوشن کبیر است. به نقل از بیتوته "دعای جوشن کبیر در یکی از غزوات صدر اسلام از جانب جبرئیل برای پیامبر اسلام (ص) نازل شده است که صد بند داشته و هر بند حاوی‌ ده‌ «اسم» از اسماء خداوند متعال است به‌ جز بند ۵۵ که‌ ۱۱ اسم‌ باری تعالی در آن‌ آمده‌ است‌؛ بنابراین‌، این‌ دعا روی هم رفته حاوی‌ هزار و یک‌ «اسم‌» خدای‌ متعال‌ است." آنچه در این مقاله قصد داریم مورد بررسی قرار دهیم، برخی از این هزار و یک صفت خداوند است که اگر یک برنامه نویس هم از آن‌ها برخوردار گردد، وی خواهد توانست خود را یک سر و گردن از سایر رقبا بالاتر نگاه دارد. آنچه مسلم است این که قطعاً صفات الهی با صفات بندگانش قابل قیاس نبوده و به قول سعدی «همه هرچه هستند از آن کم ترند که با هستیش نام هستی برند» و آنچه در این مقاله ذکر خواهیم کرد فقط در عرض این صفات الهی هستند و در واقع حتی ذره ای در مقابل اقیانوس صفات کامله ی خداوندی نیستند.

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

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

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

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

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

برای روشن‌تر شدن این مسأله مثالی می زنیم. فرض کنیم که ما یک مشتری داریم که نیاز به یک سایت استاتیک برای شرکتش دارد تا صرفاً به معرفی شرکت و اطلاعات تماس اش بپردازد. برای چنین پروژه ای اصلاً نیازی نیست تا با استفاده از زبان برنامه نویسی روبی و فریم ورک Ruby on Rails اقدام به کدنویسی کنیم (برای آشنایی بیشتر با زبان برنامه نویسی روبی، به مقاله 7 دلیل برای انتخاب Ruby on Rails مراجعه نمایید.)

یا من هو قادر علی کل شیء / یا مهیمن
پیش از این در مورد خصوصیات یک Full Stack Developer یا یک توسعه‌دهنده همه فن حریف! مقاله‌ای جامع منتشر کردیم (برای کسب اطلاعات بیشتر، به مقاله معنی و مفهوم توسعه‌ دهنده Full-stack چیست؟ مراجعه نمایید.) به طور خلاصه، یک 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 فکر کردن را بیاموزیم که حتی به ادعیه و مناجات هم می‌توان به شکل دیگری نگریست
 

برخی موضوعات مشابه

بالا