چند درسی که دولوپرها میتوانند از دعای جوشنکبیر بگیرند (1)!
یک دولوپر با هر دیدگاه و نقطهنظری، بایستی از تکتک فرصتهایی که در محیط پیرامونش بهوجود میآیند بهمنظور حرفهایتر شدن استفاده کند و یکی از این فرصتهای طلایی که کمک شایانی به دولوپرها در عرصه کدنویسی برنامههای مفیدتر و سبک کاری حرفهایتر میکند، درس گرفتن از دعای جوشنکبیر است! به نقل از بیتوته «دعای جوشنکبیر در یکی از غزوات صدر اسلام از جانب جبرئیل بر پیامبر اسلام (ص) نازل شده است که صد بند داشته و هر بند حاوی ده اسم از اسماء خداوند متعال است به جز بند ۵۵ که ۱۱ اسم باریتعالی در آن آمده است؛ بنابراین، این دعا رویهمرفته حاوی ۱۰۰۱ اسم خدای متعال است.» آنچه در این مقاله قصد داریم مورد بررسی قرار دهیم، برخی از این ۱۰۰۱ صفت خداوند است که اگر یک دولوپر هم از آنها برخوردار گردد، وی خواهد توانست خود را یک سروگردن از سایر رقبا بالاتر نگاه دارد. آنچه مسلم است این که قطعاً صفات الهی با صفات بندگانش قابلقیاس نبوده و بهقول سعدی «همه هرچه هستند از آن کمترند که با هستیش نام هستی برند» و آنچه در این مقاله ذکر خواهیم کرد فقط درعرض این صفات الهی است و درواقع حتی ذرهای در مقابل اقیانوس صفات کاملهٔ خداوندی نیستند.
یا ذا العهد و الوفاء / یا من وعده صدق
آنچه در میان برخی دولوپرها بهوضوح دیده میشود، چیزی است تحتعنوان «بد قولی» البته این در حالی است که این بدقولی که در رفتار برخی برنامهنویسان دیده میشود میتواند بهخاطر ماهیت حرفهٔ برنامهنویسی باشد (گاهیاوقات پیش میآید که یک برنامهنویس به باگی میخورد که شاید روزها صرف دیباگ کردنش کند).
اما بههرحال، ارزش یک برنامهنویس خوشقول بهمراتب بیشتر از یک برنامهنویس بدقول است؛ همانطور که از عنوان این آیتم مشخص است، یکی از صفات بارز خداوند متعال وفای به عهد است. اگر ما برنامهنویسان هم بتوانیم خود را مجهز به این صفت کمیاب و ارزشمند کنیم، بدون شک فرصتهای طلایی بیشماری درب خانهٔ ما را بهصدا در خواهند آورد (متأسفانه در میان برخی مدیران HR (منابع انسانی) شرکتهای آیتی، برنامهنویسان و دولوپرها بهعنوان پرسنلی بیتعهد، بدقول و غیرقابلاعتماد جا افتادهاند!)
یا موسع
یکی دیگر از اسماء خداوند موسع بهمعنی «وسعت بخش» است؛ یک دولوپر صرفاً نمیبایست فردی مصرفگرا بوده، پروژههای آماده را از گیتهاب کلون کرده و کارش را راه بیندازد. اگر دولوپری از این صفت بارز خداوند برخوردار گردد -یعنی بهمعنای واقعی کلمه توسعهدهنده باشد- دیگر به خود اجازه نخواهد داد صرفاً مصرفکنندهٔ اسکریپتهای دیگران باشد بلکه در توسعهٔ کدهای دیگران، شرکت در پروژههای اپنسورس و … مشارکت خواهد کرد.
یا نافع / یا باسط الیدین بالرحمه / یا من فضله عمیم
درست است که برنامهنویسی یکی از جذابترین حرفههای حالحاضر دنیا است و درصورتی که فقط یک روز کل دولوپرهای دنیا اعتصاب کنند کار دنیا مختل خواهد شد، اما برخی دولوپرها فقط فکر میکنند که کار ایشان کدنویسی است و لاغیر! نافع بهمعنی «سود رسان» یکی دیگر از اسماء خداوند است. شاید بهنوعی این نام را بتوان به این شکل تفسیر کرد که خداوند متعال بدون هیچ چشمداشتی به بندگان خود -اعم از مؤمن و کافر- سود میرساند.
ما هم نیاز داریم تا این فرهنگ را در جامعهٔ دولوپرهای ایرانی نهادینه کنیم که سود رسانی به کسانی که تازه پا به این عرصه گذاشتهاند و کمک کردن به کسانی که نیاز به یادگیری برنامهنویسی دارند میتواند تبعات چشمگیری در رونق نرمافزاری مملکت داشته باشد. دیری نمیپاید که نیاز به برنامهنویسها از این هم بیشتر شده و این در حالی است که دانشگاهها صرفاً بخش کوچکی از این نیاز رو به رشد جامعه را تأمین میکنند لذا ضرورت برخورداری از صفت یا باسط الیدین بالرحمه بهمعنی «ای گشاده ۲ دست به رحمت» در جامعه دوچندان میگردد.
همانطور که از عنوان این آیتم مشخص است، یکی دیگر از صفات خداوند یا من فضله عمیم بهمعنی «ای که فضلش عمومی است» میباشد و بهنظر هم میرسد که دولوپرهای دیگر نقاط دنیا همچون اروپا و آمریکا بیش از دولوپرهای سایر نقاط جهان به این ویژگی متصف هستند چراکه بدون هیچ واهمهای، در جنبشهای اپنسورس مشارکت کرده و دانش خود را با سایرین بهاشتراک میگذارند.
یا ذا الحجه و البرهان
خداوند هیچ کاری را بدون دلیل نمیکند و بدون شک خداوند مجهز به تفکر الگوریتمیک است و این در حالی است که یک دولوپر موفق هم می بایست اینگونه باشد. بهعبارت دیگر، دولوپر اصلاً اجازه ندارد کاری که پشت آن دلیل و برهانی منطقی نباشد انجام دهد چراکه ممکن است اثرات سوء بسیاری یا برای خود دولوپر، یا برای مشتریاش و یا برای نرمافزاری که نوشته داشته باشد.
فانکشنی که یک دولوپر مینویسد میبایست اصولی باشد، فریمورکی که یک دولوپر استفاده میکند یا مهمتر از آن، نوع زبان برنامهنویسی که توسعهدهنده استفاده میکند میبایست کاملاً منطبق بر منطق بوده و با نیازهای پروژه همخوانی داشته باشد.
برای روشنتر شدن این مسأله مثالی میزنیم؛ فرض کنیم که ما یک مشتری داریم که نیاز به یک سایت استاتیک برای شرکتش دارد تا صرفاً به معرفی شرکت و اطلاعات تماسش بپردازد.. برای چنین پروژهای، اصلاً نیازی نیست تا بااستفاده از زبان برنامهنویسی روبی و فریمورک Ruby on Rails اقدام به کدنویسی کنیم بلکه یک طراح سایت ساده هم میتواند این نیاز را مرتفع گرداند.
یا من هو قادر علی کل شیء / یا مهیمن
پیش از این در مورد خصوصیات یک Full Stack Developer یا یک توسعهدهنده همه فن حریف مقالهای جامع منتشر کردیم؛ بهطور خلاصه، یک Full Stack Developerr کسی است که صفت یا من هو قادر علی کل شیء بهمعنی «کسی که بر هر کاری توانا است» در موردش صدق میکند.
واژگان هر کاری و توانا دارای معانی گستردهای هستند و آنچه مسلم است این که یک دولوپر با گسترشی که علم برنامهنویسی دارد نخواهد توانست تا مثلاً به ۲۰۰ زبان برنامهنویسی مطرح دنیا تسلط کامل پیدا کند. آنچه میتوان از این صفت خداوند متعال درس گرفت این است که فقط با دانستن اصول برنامهنویسی نمی توان کارهای بزرگ کرد! مثلا اگر کسی صرفاً زبانهای اچتیامال و سیاساس را بلد باشد، نخواهد توانست برچسب وب دیزاینر را به خود بچسباند.
فرض کنیم کسی به کلیهٔ زبانهای سمت کلاینت مثل اچتیامال، سیاساس، جاوااسکریپت، فریمورک آنگولار جیاس، فریمورک بوتاسترپ و … مسلط است اما اصلاً حس زیباییشناسی ندارد؛ مسلماً چنین فردی همواره لنگ یک طراح گرافیک خواهد بود. باز هم فرض کنیم که کسی با اصول برنامهنویسی آشنا است اما هیچ چیزی در مورد پروتکلهای اینترنتی نمیداند؛ باز هم چنین فردی نخواهد توانست تا از خود نام و نشانی بهعنوان یک توسعهدهندهٔ حرفهای بهجا بگذارد.
پس نتیجه میگیریم که برنامهنویسها میبایست دائماً درحال مطالعه و کسب دانش در زمینهٔ علوم جدید مرتبط با حوزهٔ کاری خود بوده و بهقول معروف، آدم همه فن حریفی باشند! و صفتی همچون مهیمن بهمعنی «مسلط بر هر چیز» در ایشان بارز باشد.
منبع
- ۹۶/۰۳/۲۵
با سلام. ممنون از تمامی مطالب خوب وبلاگتون
اگه سایت یا وبلاگ دیگه ای دارید ممنون میشم آدرسش برای ایمیلم بفرستید.