كمبرمج فرصة انك تشتغل في منتج واحد One Product له حصة في السوق ، ومنافسين Competitors، ويجيب دخل، فرصة عظيمة لا تقدر بثمن!
ليش لازم نهتم بهذه النوعية من الفرص،وليش مع الوقت لازم تحاول تبتعد عن دوامة المشاريع Short-term ... تابع التغريدة 🙏
#حزب_المبرمجين #ريادة_الأعمال #اقتصاد
ليش لازم نهتم بهذه النوعية من الفرص،وليش مع الوقت لازم تحاول تبتعد عن دوامة المشاريع Short-term ... تابع التغريدة 🙏
#حزب_المبرمجين #ريادة_الأعمال #اقتصاد
قبل أدخل في الأسباب راح أتكلم في عدة نقاط
نبدأ بعامل المنافسة والحصة السوقية ، واللي تعتبر أحد العوامل المهمة والمؤثرة بشكل كبير جدا في فكر ووعي المنظومات وفي طريقة عملها وتركيبتها وأساليب عمليات التطوير والتشغيل والإختبارات.
نبدأ بعامل المنافسة والحصة السوقية ، واللي تعتبر أحد العوامل المهمة والمؤثرة بشكل كبير جدا في فكر ووعي المنظومات وفي طريقة عملها وتركيبتها وأساليب عمليات التطوير والتشغيل والإختبارات.
من يقود عملية التطوير وكيف؟ حجم الإستثمار في الفريق؟ خطط التطوير قريبة المدى وبعيدة المدى؟ كيف يجب الحفاظ على جودة ال source code مع الوقت، كم نسبة الإختبارات بمختلف اشكالها Unit/Integration/End-End testing ... الخ
كذلك والأهم: راح نتخلص بشكل تدريجي من قيود "الوقت" و "التكلفة"
كذلك والأهم: راح نتخلص بشكل تدريجي من قيود "الوقت" و "التكلفة"
أغلب المطوريين اللي يعلمون في بيئات عمل ٍShort-term products/projects يعانون غالبا من مشكلة التسليم والوقت والتكلفة.
محاولات حل هذه المشكلة بدون إدراك لسببها الأساسي ، دائما ما يكون مخرجاته هو تسرب العقول المميزة من المنظومة (الموت البطيء).
محاولات حل هذه المشكلة بدون إدراك لسببها الأساسي ، دائما ما يكون مخرجاته هو تسرب العقول المميزة من المنظومة (الموت البطيء).
كمبرمج لما تشتغل دائما تحت قيود "وقت تسليم" و"تكلفة" ، فإن التأثير كبير جدا ليس فقط على جودة المنتج أو المشروع، واللي راح تحاول تضغط أكثر وتجيب أكواد من هنا وهناك وما راح تكتب Testing ولا Code Review.
التأثير الأكبر هوعليك انت وعلى مسيرتك المهنية.
التأثير الأكبر هوعليك انت وعلى مسيرتك المهنية.
مشكلة المشاريع المقيدة بـ "وقت تسليم" + "تكلفة" وفيها شروط جزائية على التأخير - وهي طريقة ربما تصلح في مجالات أخرى زي البناء والمقاولات ...الخ-
تبدأ من هنا: قيود محددة مسبقا قبل بدء العمل
Time & Budget constraints.
تبدأ من هنا: قيود محددة مسبقا قبل بدء العمل
Time & Budget constraints.
لكي لا أعمم، هذه القيود "قد" تصلح مع نوعية محددة من المشاريع التقنية اللي ما فيها جانب ابداعي أو عامل منافسة او عامل السوق والتغييرات اللي تحصل فيه
مشاريع ما يحبها المبرمجين المليئين بالحماس والشغف وبداخلهم شعلة موقدة قادرة ليس على المنافسة في سوق محلي وانما في أسواق عالمية
مشاريع ما يحبها المبرمجين المليئين بالحماس والشغف وبداخلهم شعلة موقدة قادرة ليس على المنافسة في سوق محلي وانما في أسواق عالمية
غالبا ينتج عن العمل الكثير في هذه النوعية من المشاريع المقيدة (+5 سنوات)، مبرمج يحب أن يكون في حلقة تكرار دائمة وفي ال comfort zone
ما يجب التعلم ولا التحديات، ما يقرأ كتب، ما يواكب التغيرات التقنية ويعتبرها اندفاع ، ما يدخل في نقاشات تقنية ...الخ
فر منهم فرارك من الأسد
ما يجب التعلم ولا التحديات، ما يقرأ كتب، ما يواكب التغيرات التقنية ويعتبرها اندفاع ، ما يدخل في نقاشات تقنية ...الخ
فر منهم فرارك من الأسد
أسئلة بسيطة ممكن نسأل أنفسنا فيها. هل ممكن ننافس واتساب مثلا واحنا نشتغل بفكر مشروع وموعد تسليم وescalation على التأخير؟
هل ممكن ننافس اوبر او سناب شات؟ وآليات التطويرلا زالت تعاني من ال commitment & deadline؟
هل ممكن نساعد الإقتصاد وننهض فيه وننوع مصادر الدخل بالعمل في مشاريع؟
هل ممكن ننافس اوبر او سناب شات؟ وآليات التطويرلا زالت تعاني من ال commitment & deadline؟
هل ممكن نساعد الإقتصاد وننهض فيه وننوع مصادر الدخل بالعمل في مشاريع؟
طبعا لأ والف لأ
الخاسر الأكبر هوالمنظومة الإقتصادية ككل. بينما تستثمر الشركات الكبرى في العقول والإنتاج وتشتغل على سباق تقني وتحاول سبق المنافسين بسنوات ضوئية
تفرض علينا كثر المشاريع ثقافة الإستهلاك والإستعجال والربح قصيرالمدى دون التفكير بالأضرارالمستقبلية والفجوات اللي تخلقها
الخاسر الأكبر هوالمنظومة الإقتصادية ككل. بينما تستثمر الشركات الكبرى في العقول والإنتاج وتشتغل على سباق تقني وتحاول سبق المنافسين بسنوات ضوئية
تفرض علينا كثر المشاريع ثقافة الإستهلاك والإستعجال والربح قصيرالمدى دون التفكير بالأضرارالمستقبلية والفجوات اللي تخلقها
عودة للعقود التقليدية، محاولة تطبيق Agile في عقد تقليدي (وقت تسليم نهائي+تكلفة نهائية) ينتج لدينا ما يسمى بال Fragile
لانه أحد أهم أسس ال Agile هي التخطيط المستمر Iterative Planning، وتقديم Value بشكل مستمر
وعادي جدا نكتشف وجود خاصية تحتاج الى عدة أضعاف من الوقت المتوقع.
لانه أحد أهم أسس ال Agile هي التخطيط المستمر Iterative Planning، وتقديم Value بشكل مستمر
وعادي جدا نكتشف وجود خاصية تحتاج الى عدة أضعاف من الوقت المتوقع.
المعلومة اللي ربما تغيب عن بعض مدراء المشاريع وأصحاب الأعمال ، انه عادة لا يوجد تقييم estimation صحيح .
التقييم هو مجرد تخمين مبدئي للمعطيات الحالية، يساعدنا نحط Initial sizing/costing فقط لا غير.
التقييم هو مجرد تخمين مبدئي للمعطيات الحالية، يساعدنا نحط Initial sizing/costing فقط لا غير.
مع بدء التطوير، راح تتضح الصورة ويتضح اذا كان التقييم صحيح او يحتاج الى تحديث.
هنا نتحدث عن conflict بين فكر المبرمج وبين فكر مدير المشروع وصاحب العمل. يتحملها غالبا المبرمج في أوقاته الخاصة ، أو يحملها على حساب جودة المشروع.
لما لا ؟ وصاحب المشروع يرغب في ذلك؟☹️
هنا نتحدث عن conflict بين فكر المبرمج وبين فكر مدير المشروع وصاحب العمل. يتحملها غالبا المبرمج في أوقاته الخاصة ، أو يحملها على حساب جودة المشروع.
لما لا ؟ وصاحب المشروع يرغب في ذلك؟☹️
كل ذلك يقودنا الى عدة حقائق فيما يتعلق بالمشاريع ، بداية انه صعب نقدر نقول أنه يمكن يتم تطويرها وفق منهجيات Agile
غالبا راح تكون منهجيات التطوير هي Waterfall لكن مغلفة مع بعض ممارسات Agile مثل Stand-up meeting or sprints or ...etc
طبعا مستحيل تغير الوقت 😂
غالبا راح تكون منهجيات التطوير هي Waterfall لكن مغلفة مع بعض ممارسات Agile مثل Stand-up meeting or sprints or ...etc
طبعا مستحيل تغير الوقت 😂
وما ودي أطول في الحديث عن سلبيات المشاريع وال Waterfall ونحن في 2020 .
اعطيك الخلاصة بسرعة:
نسبة كبيرة من المشاريع راح يموت قبل يطلع للعالم والسوق.
ما راح يتم كتابتها بأفضل الأساليب والممارسات البرمجية، غالبا Spaghetti Code
راح تكون Not maintainable و Not healthy انك تشتغل فيها
اعطيك الخلاصة بسرعة:
نسبة كبيرة من المشاريع راح يموت قبل يطلع للعالم والسوق.
ما راح يتم كتابتها بأفضل الأساليب والممارسات البرمجية، غالبا Spaghetti Code
راح تكون Not maintainable و Not healthy انك تشتغل فيها
نعود الآن للحديث عن المنتجات Products وليش لازم نشتغل فيها. وليش لازم يزيد عددها بشكل اكبر من المشاريع.
طبعا كان ودي هذي اول تغريدة حتى أسهب فيها😂 ، بس ان شاء الله ما اطول كثير.
طبعا كان ودي هذي اول تغريدة حتى أسهب فيها😂 ، بس ان شاء الله ما اطول كثير.
بداية المنتجات نبنيها حتى ندخل السوق ونحل مشكلة فيه، وننافس فيه، ونجيب فلوس.
وليس بهدف نقفل المشروع ونبدأ مشروع جديد، أو نرضي أحد أو ناخذ بونص.
طبعا الفرق كبير جدا، يغير تركيبة المنظومة بالكامل، يغير اسمنا من Resource الى مهندس برمجيات، من مجرد Executor الى عقل مفكر وعنصر مهم
وليس بهدف نقفل المشروع ونبدأ مشروع جديد، أو نرضي أحد أو ناخذ بونص.
طبعا الفرق كبير جدا، يغير تركيبة المنظومة بالكامل، يغير اسمنا من Resource الى مهندس برمجيات، من مجرد Executor الى عقل مفكر وعنصر مهم
عامل المنافسة في المنتج هو المحفز الرئيسي للتحسين والإبداع والإبتكار، ويؤدي للتفكير في عوامل الإستدامة وتقليل أوجه الصرف والخدمات 3rd party
وبالتالي استثمار أكثر في العقول، وفي البنيات التحتية infrastructure
مثلا لماذا لا نستبدل خدمات جووجل ماب الباهظة الثمن،ببدائل open source؟
وبالتالي استثمار أكثر في العقول، وفي البنيات التحتية infrastructure
مثلا لماذا لا نستبدل خدمات جووجل ماب الباهظة الثمن،ببدائل open source؟
باختصار في المنتج في السوق التنافسي يجب أن تعمل بأفضل الممارسات وأفضل اساليب التطوير
Automation, CI/CD, Modular design, Continuous Refactoring & Improving, Performance tuning ...
حتى تحافظ على موقعك وتستمر للأفضل
راح تلقى وقت تشتغل على تحسين page load من 400ms الى 150ms 😆
Automation, CI/CD, Modular design, Continuous Refactoring & Improving, Performance tuning ...
حتى تحافظ على موقعك وتستمر للأفضل
راح تلقى وقت تشتغل على تحسين page load من 400ms الى 150ms 😆
راح تكبر مع مراحل نمو المنتج وفريق العمل، كل ما يزيد المستخدمين للمنتج كل ما تزيد الخبرات بسبب ظهور مشاكل وتحديات جديدة، وحلول جديدة يجب تطويرها.
بينما في المشروع لا توجد مساحة للنمو ، لان المشروع لديه نهاية.
المنتج التنافسي لا نهاية له ، إلا في حالة فشل البزنس والخروج من السوق
بينما في المشروع لا توجد مساحة للنمو ، لان المشروع لديه نهاية.
المنتج التنافسي لا نهاية له ، إلا في حالة فشل البزنس والخروج من السوق
راح تلقى فرصة تشتغل على engineering problem حقيقية.
راح تتعلم تقيم الخيارات وتختار الطريق المناسب للحل، وكذلك تحدد متى الوقت المناسب لتغيير هذا الطريق.
مع الوقت، سنجد أن قيود الوقت والتكلفة ليست بالأهمية القصوى والأهم منها هو ال progress .
راح تتعلم تقيم الخيارات وتختار الطريق المناسب للحل، وكذلك تحدد متى الوقت المناسب لتغيير هذا الطريق.
مع الوقت، سنجد أن قيود الوقت والتكلفة ليست بالأهمية القصوى والأهم منها هو ال progress .
على صعيد آخر، استغرب من وجود منظومات تقوم بعملية تطويرمنتجها الأساسي في الخارج. إن دل على شيء يدل على ضعف الخبرة في المجال وعدم الوعي بأهمية التطوير الداخلي واثره في تحسين المنظومة الإقتصادية واستدامة البزنس و تحسين السوق المحلي،وزيادة تصدير العقول والمنتجات،وحتى تحسين المنافسين!
التطوير في الخارج يعني أن جميع الخبرات التقنية (التطوير = تحصيل خبرات) والوظائف المفتوحة ستكون في الخارج (خلل اقتصادي كبير)
يعني أنه كمالك للمنتج لا تملك أي معرفة حقيقية في المجال، وكل استثماراتك يمكن أن تضيع في حالات المشاكل السياسية (عامل خطورة كبير جدا)
يعني أنه كمالك للمنتج لا تملك أي معرفة حقيقية في المجال، وكل استثماراتك يمكن أن تضيع في حالات المشاكل السياسية (عامل خطورة كبير جدا)
بينما يفتح التطويرالداخلي فرص كثيرة، ويساعد في تدوير العقول في السوق مما يساهم في تحسين بيئات وسوق العمل ككل، وبالتالي زيادة عدد المنتجات ومدى نضجها ، ونمو السوق تبعا لها.
طبعا لا مانع في ان يكون هناك مطوريين في الخارج، لكن ال core development يجب أن تكون في الداخل.
طبعا لا مانع في ان يكون هناك مطوريين في الخارج، لكن ال core development يجب أن تكون في الداخل.
أخيرا، الأزمات والموجات الإقتصادية بالرغم من تأثيرها السلبي، الإ أنها تتيح إمكانية الترميم واعادة الهيكلة والإصلاح
تحول المنظومات والأفراد من تقليل العمل في المشاريع الى العمل في منتجات، الى التفكير خارج الصندوق، الى ايجاد حلول لمشاكل موجودة
سيساهم في بناء اقتصاد ومستقبل أفضل🌹
تحول المنظومات والأفراد من تقليل العمل في المشاريع الى العمل في منتجات، الى التفكير خارج الصندوق، الى ايجاد حلول لمشاكل موجودة
سيساهم في بناء اقتصاد ومستقبل أفضل🌹
Loading suggestions...