حوار الـ CDK و TF


ملحوظة: قبل ما تقروا الحوار ده، لو مش عارفين مين دوناتيلو، اقروا عنه هنا،

في يوم ما طلعتلوش ملامح،

كنت لسه مبتدي الشغل جديد و دوناتيلو بيشرح لي و يوريني الكود. لقيت ان احنا بنستخدم أداة (tool) اسمها CDK. دي بتستخدم عشان تعمل الinfrastructure. هي معروفة، بس في واحدة تانية اشهر بكتير و منتشرة اكتر و انا استخدمتها قبل كده اسمها Terraform(حنختصرها بـ TF). سألت ليه CDK و مش TF و كان الرد إن هو ماعندوش أي خبرة فيهم بس الاثنين ادوات بيعملوا شغلانة و طالما الشغلانة بتتعمل فمش حتفرق بنستخدم ايه. قلت له ماشي، عداك العيب.

ملحوظة: نظرية إن الأدوات المستخدمة مش مهمة و المهم انها تعمل الشغلانة نظرية - في العموم- صحيحة في عالم البرمحة. لكن النهاردا احنا حنغتصب الفكرة دي. 

في يوم بعد كده كنت باكلم صاحبي من شغل قديم و باحكيله على إن انا حاستخدم CDK. فصاحبي - رغم انه انجليزي قُح - قالي "أُهرب يا وِلد" بصوت ابراهيم نصر. سألت ليه، فقال لي انه اشتغل بيها و انها وحشة جدا.
الواد ده شاطر جدا و دماغه سكينة في الحلاوة. فالحاجة اللي يقولها تاخدها و انت ساكت. 

خدت الfeedback ده و قلت لدوناتيلو عليه على اساس اننا في الأول، ف ممكن نتدارك الموقف و نقلب على TF و يا دار ما دخلَك CDK. بس دوناتيلو رفض و اتحجج بحجة انهم ادوات بتعمل شغل و المهم إنه يتعمل و خلاص.

انا بصراحة ما قاوحتش خالص. ماهو ممكن صاحبي محنتفها شويتين، أو الtech stack بتاعه كان مختلف عننا و مش ماشي كويس مع CDK أو أو أو. ف اوكيه، خلينا ماشيين ورا CDK و نشوف اخرتها، اهو ع الأقل نرزعها في الـCV.

تمٌر الأيام يا مؤمن و CDK يعمل معانا الجلاشة ولا أجدعها حلواني.
من المشاكل اللي طفحت في وشي (و عمري ما قابلت شبهها مع TF):
  1. مالوش template على برامج الCI/CD اللي استخدمناها (Bitbucket  & Octopus). ف ده معناه لازم اكتب السكريبت بنفسي، على عكس TF اللي له template على Octopus، و ده بيشيل شغل كتير اوي من علينا.
  2. الdocumentation زالخرا. الCDK بيتكتب ب 6 لغات اظن. الdocumenation بتاعت #C تقرييا فاضية مقارنة ببتاعت typescript، فانت و حظك.
  3. الCDK في كونسبت ان الclasses نوعين (high level و low level) و اساميهم شبه بعض. فلما بتدور على واحد في جوجل، بيطلع نتايج غلط. فالتدوير على حاجة بيبقى صعب و متعب.
  4. احيانا بنشغله و احنا متأكدين انه لازم يعمل حاجة معينة و مايعملهاش - تقريبا عشان هو مش شغال عند اللي خلفونا.
  5. لما اشتغل على Octopus، كانت الlogs بتطلع لا مؤاخذة حمرا و مكتوب عليها Error. و في اخر الlogs بيكون في سطر مكتوب بالأحمر برضو، بس عليه علامة صح خضرا و بيقول Completed Successfully. تقريبا شغال بنظام (الصبح الساعة 8 بليل) بتاع يونس شلبي - الله يرحمه.
كل الخوازيق دي، و دوناتيلو رافض يستخدم TF !!! 

طبعا ممكن يتقال إن اللي بيحصل ده بسبب انكم دفيلوبرز تعبانة و مش فاهمين CDK كويس.
صح! احنا مش خبراء CDK. ولا TFكمان، ايه رأيك بقى! و TF ما عملش فينا ربع اللي CDK عمله. ف من هذا المنطلق احب أوجه نداء لأصحاب القلوب الرحيمة و اطلب منهم يراعوا الIQ بتاعنا و احنا بنقي ادواتنا.

نرجع لموضوعنا.

فضلنا ع الحال ده لحد ما في يوم (طلعت له ملامح بقى)، احتاجنا نعمل حاجة بسيطة على CDK و الشغل كان من نصيب دوناتيلو. الشغلانة المفروض ما تاخدش اكتر من ساعتين شاكب راكب.

قعد فيها قد ايه يا معلِم ؟؟؟

3 أيام 

و خلصها على كده؟؟؟

لأ 😀😀😀😀

جالي بعد الـ 3 ايام و دار الحوار ده:

د : (بتهريج) انا مش مصدق ان حاجة بيسطة زي دي صعبة للدرجة دي. ده CDK ده فعلا زبالة. انا حاقولها بس هي بصراحة طالعة من ورا قلبي - انت كان معاك حق لما قلت لازم نستخدم TF. هاهاهاها 
م :(في سري) 
م : هاهاها.. لا يا عم ولا يهمك. كلنا بنتعلم اهو. انا حجرب اعملها و ربنا يسهل. المهم ان احنا اتفقنا على وحاشة CDK و ان المشروع الجاي حنديها TF

شايفين ثباتي الانفعالي؟ 

قضيت فيها يوم احاول اعملها و ما عرفتش انا كمان. 

حلو لحد كده؟ اظن اثبتنا فشل منقطع النظير يسد عين حورس. 

بعديها باسبوعين ثلاثة غاب دوناتيلو و ابتدينا يوميها المشروع الجديد فطبيعي جدا اني ظبطه عشان نستخدم TF. باحكيله تاني يوم على الشغل اللي عملته و قلت "TF". فقط ! و دار الحوار ده:

د : ثانية واحدة. TF !! ليه TF؟؟؟
م : اااااا... مش فاهم. انت عايز نستخدم ايه؟
د : CDK
م :      
م : سـ  سي ديـ ...  ليه؟؟؟؟!!!!!
د : عشان استخدمناه في المشروع القديم
م : أيوه بس هــــ... ايه علاقـــ .... الـ... مش انت اشتكيت من اسبوعين منه و من مشاكله و قررنا نستخدم TF في المشروع ده ولا دي كانت أمي؟؟؟؟
د : اه، بس في الأخر، دي كلها ادوات و هما بيعملوا نفس الحاجة. فهي مش مفروض تفرق معانا.
م : (صمت رهيب...رهيب والله رهيب )
د : ماشي، حنجرب TF

في ناس ح تلوم عليا اني سكت ما رديتش عليه و شرحت له وجهة نظري و وجهة خطأه. احب اقول للناس دي: يا جماعة الصمت ده ماكنش صمت الحملان ده كان صمت ما بعد الهزيمة. حطوا نفسكم مكاني كده.
واحد كل يوم بيقعد على كرسي مغروز على قعدته خنجر و بيصرخ و يقول "أي". أنا بقى جيبت له كرسي عادي، فيقول لي "ليه؟؟ ما ده كرسي و ده كرسي". 
ده كرسي و ده كرسي!!! ارد انا بقى اقول ايه إن شاء الله ؟؟ 

 الوضع تخطى كونه سينيور ديفيلوبر وحِش، لكونه وحِش و بس. و مش فارقة يطلع "ايه" وحِش. يطلع بقى ديفيلوبر، عصير بطاريات، فواصل كباري، مناحم بيجين - يطلع زي ما يطلع. 

خدوا بالكم هنا، من خصائص 'الدوناتيلو' انه بيهري في الزبادي. الكلام من برة يبان موزون للناس اللي مش فاهمة بس هو في الحقيقة فسا كلاب.
يعني لو انت مش ديفيلوبر و سمعته بيقول: مش مهم الtool، المهم انها بتعمل الشغل. حاتستمّخ و تقول الواد ده بيفهم. تيجي تكتشف بعد كده إن الtool دي شيِّلتنا في وشنا بدل المرة ألف. ف ما تبقاش عارف، هل هو حافظ ولا مصطبح. لو حافظ مش مشكلة، نفهمه. بس لو مصطبح يبقى عيب اوي - الكيف مناولة مش مقاولة.

خلصت شغلي يومها، و رغم إن اللي انا عايزه مشي، حسيت اني مهزوم.

قررت مادخلش في مناقشة زي دي تاني معاه الا و انا جاهز. قضيت الليل كله ما نمتش، عمال ارسم flowcharts لمنهج تفكيره عشان اكون مستعد للمرة الجاية و اعرف اناقشه، و الحمدلله توصّلت للـ flowchart اللي حتخليني اواجهه و انتصر :



نشوفكم في الحوار اللي جاي... 

تعليقات