19 فكرة عن البرمجة منتشرة يغفل الكثيرون عن أنها مجرد خرافة
المطورين بشر يتميزون بمهارات فائقة وشخصيات مختلفة وطبيعة مصادر خاصة تساعدهم على العمل والإبداع وتوظيف مهاراتهم
add تابِعني remove_red_eye 514
- 1. المبرمجون الجيدون يعملون على مدار الساعة
- 2. تعهيد الأعمال إلى الخارج ينتج عنه برمجيات أسرع أداءً وأرخص ثمنًا
- 3. تعهيد الأعمال إلى الخارج سيقضي على مهنتك
- 4. كلما كان عدد المراجعين أكبر، قلت الثغرات والأخطاء البرمجية
- 5. براعتك في الرياضيات ستحدد مدى براعتك في البرمجة
- 6. المطورون عباقرة
- 7. تستطيع التخصص في شيء واحد فقط
- 8. اللغة البرمجية الفلانية هي الأفضل
- 9.يمكنك إتقان لغة برمجية خلال بضعة أسابيع
- 10. أزمة البرمجيات
- 11. عندما تُسلم برنامجك، يعني أن مهمتك انتهت
- 12. البرمجة ببساطة هي مجرد كتابة الأكواد البرمجية
- 13. مجال البرمجة والتطوير لا إبداع فيه
- 14. المطورون يعانون من مهارات اجتماعية ضعيفة
- 15. يعتقد المطورون أن المدراء لا يملكون شيئا ليساهموا به في إنجاز البرمجيات
- 16. المطورون اليافعون يعتقدون أنهم المطورون الأفضل
- 17. البرمجة مُملة
- 18. تنتهي مسيرة المطورين عند الخامسة والثلاثين
- 19. المطورون مجرد سلعة تباع وتشترى
قد تعتقد أن مهنة ترتكز على المنطق والتعلم ستكون محصنة ضد المعتقدات الشعبية غير الصحيحة، لكن مجتمع المطورين يحفل بالخرافات وهي خرافات واسعة الانتشار لدرجة أنها بدأت تتجلى في الواقع.
لو كانت كل الخرافات البرمجية صحيحة، لكان العالم البرمجي يبدو مثل كتيبة تضم نيّفًا وعشرين مهووسًا (بعضهم أفضل عشر مرات من الآخر) يستخدمون مهاراتهم الرياضية العالية لكتابة الأكواد البرمجية طوال الليل.
حسنًا، وكما لا بد وأنك تعرف إذا كنت في المجال، ببساطة ليس هذا هو الوضع الحقيقي، ولا حتى بعض الأمور الأخرى التي يعتقد المطورون أنها صحيحة بشأن القطاع.
لنقم بتصحيح هذه الخرافات:
1. المبرمجون الجيدون يعملون على مدار الساعة
حان الوقت لندرج صورة من سيليكون فالي تمثل غرفة بها أشخاص يرتدون سترات بقلنسوة تغطي رؤوسهم ويتجرعون مشروب الريد بول الممد بالطاقة. هذه المعلومة ليست خاطئة تمامًا، لا سيما بالنسبة للشركات الناشئة.
مع ذلك، لا يجب أن تسير الأمور على هذا النحو دومًا، ذلك أن الأبحاث العلمية تشير إلى أن العمل لساعات طويلة والحرمان من النوم لا يزيدان الإنتاجية. بل إنه في الحقيقة، هنالك خيط باهت رفيع بين بذل الجهد وإحراز التقدم، والذي غالباً ما يكون نتيجة لتوقعات غير معقولة.
يملك العديد من المطورين عائلات وحياة بأكملها خارج البرمجة، كما أنهم يُحبِّذون مغادرة المكتب عند انتهاء العمل.
لذلك وبدلًا من ترك فسحة لهذه الفكرة لتستمر وتتمادى، سينفع المجتمع البرمجي أكثر لو سعى لطُرُقٍ تحسِّن سير العمل (workflow)، ووضع أهداف واقعية ومنهجية إدارة رشيقة (أجايل).
2. تعهيد الأعمال إلى الخارج ينتج عنه برمجيات أسرع أداءً وأرخص ثمنًا
في الواقع غالبًا ما يؤدي تعهيد الأعمال إلى الخارج (إيكالها لمبرمجين أو شركات خارج البلاد) إلى نتائج عكسية، والشركات لا تنجذب للفكرة إلا لكونها تبدو أقل تكلفة فحسب.
مع ذلك، لا يعني توظيف عدد أكبر من المبرمجين بميزانية أقل أن إنتاج البرمجية سيكون أسرع. ذلك أن الأمر يتطلب استعدادًا للتواصل أكثر وبصورة مكثفة، ودورات تدريبية وجهدًا لإعادة تقسيم المهام وتوزيعها.
من ناحية أخرى، نجد أن فرق التطوير الخارجية تعاني من معدلات عالية من تغيير الموظفين واستبدالهم، وهذا يعني أن النتيجة المرغوبة على المدى البعيد في حكم العدم.
في هذه الحالة، سيحتم على الفريق الأصلي داخل الشركة استلام المشاريع الجارية والإكمال مما انتهى إليه الآخرون. مما يعني أن ما وفرته من مال بتوظيف فريق خارجي ضاع هدرًا.
3. تعهيد الأعمال إلى الخارج سيقضي على مهنتك
مثلما ذكرنا سابقًا، لا يؤدي تعهيد الأعمال للخارج بالضرورة لبرمجيات أرخص تُنجز بشكل أسرع. سيواصل الناس الاعتماد على هذا النموذج حتى يتبين لهم أنه بدون قيمة تذكر، مع ذلك لن يجعل التعهيد الخارجي المطورين المحليين يفقدون وظائفهم. لأن هناك حقيقة مهمة تتمثل في أن اللغة عامل لا يمكن إغفاله.
من ناحية أخرى، تعد محاولة التواصل مع الفرق الخارجية ومدرائها عن بعد عملية تعج بالقلاقل ولا يُعتمد عليها. وفي هذا السياق لا عجب أن يفقد العملاء في الغالب صبرهم أو تنفذ أموالهم أثناء التعامل مع الفرق الخارجية ومن ثَمَّ يعودون للتعامل مع وكالات التطوير داخل البلد حيث يسهل إبرام العقود وفرض بنودها بشكل أفضل.
4. كلما كان عدد المراجعين أكبر، قلت الثغرات والأخطاء البرمجية
بهذا الصدد ابتكر ايريك.س. رايموند عبارة مفادها
“هات ما يكفي من المراجعين، وستبرز الأخطاء البرمجية للعيان“.
هناك اعتقاد شائع في الوسط البرمجي أن الأخطاء البرمجية في البرامج مفتوحة المصدر ستُكتشف لا محالة، وتُراجع وتُصلح بعدها بكل تأكيد، لأن أي أحد بإمكانه المساهمة واتخاذ الإجراءات اللازمة. لكن الحقيقة، هي أن عدد الناس الذين يستخدمون البرامج مفتوحة المصدر أكبر من عدد أولئك الذين يساهمون في تطويرها، ناهيك عن أن أغلبهم غير قادر على تمييز الأخطاء في الكود البرمجي ومِن ثَمَّ إصلاحها.
بمعنى آخر، يبقى هذا المثل صحيحًا “كَثرة الطَّبّاخين تُفسِد الطَّهي“. أما الطريقة الأفضل فهي أن يتم الاستعانة بفريق متخصص مدعوم ببرمجية تتبع أخطاء، ممتازة وفعالة.
5. براعتك في الرياضيات ستحدد مدى براعتك في البرمجة
إن الرد على هذه القضية هو نعم ولا في ذات الوقت. ذلك أن براعة أحدهم في الرياضيات لا يعني بالضرورة أن يكون مُطَوِّرًا ممتازًا. فإن كان هناك أحد لا يميل بطبيعته للرياضيات، من المُحتمل أن يكون أفضل في نواح أخرى في البرمجة والتي تتطلب أن يكون الشخص ذكِيًّا أو عَملِيًّا. وعدا عالَم الألعاب الإلكترونية، لا يستخدم معظم المطورين إلا أساسيات الجبر والإحصاء لمعرفة مدى فعالية الكود المصدري وجدواه. بل حتى إن معارفهم في الجبر والإحصاء لا تتجاوز الحد الأدنى.
6. المطورون عباقرة
لست في حاجة أن تكون عبقريا لتصبح مبرمجًا، تحتاج فقط للرغبة وقابلية التعلم. يواجه المبرمجون باستمرار الأخطاء التي قد تكون مثبطة ومحبطة، لكن أفضل المطَوِّرين هم أولئك الذين يفشلون كثيرًا ولكنهم يتعلمون من أخطائهم.
7. تستطيع التخصص في شيء واحد فقط
لا يتوقف المبرمج عن التعلم أبدًا لأن عالم البرمجة يتحرك بسرعة الضوء. صحيح أنه من الحكمة والفطنة إتقان لغة برمجية واحدة، لأنك ستتمكن حينها من العمل بكفاءة واستيعاب أدقّ مزاياها وخفاياها. لكن على الرغم من ذلك، لا تَحصر نفسك بمعرفة كيفية إنجاز شيء واحد فحسب، لأنه إن فعلت سينتهي بك المطاف بمعرفة برمجية من “التراث” لم يعد يستخدمها الناس.
- الدليل العملي لتعلّم مبادئ تطوير الويب
- تطبيقات تساعد أطفالك على تعلم البرمجة
- (5) تطبيقات مهمة تسهل عليك تعلم البرمجة
8. اللغة البرمجية الفلانية هي الأفضل
لا توجد لغةٌ برمجية واحدة، سحرية تصنف أنها أفضل لغة برمجية لجميع الأغراض. بل على العكس من ذلك، كل لغة برمجية تحظى بمنطقة خاصة ضمن البيئة البرمجية. هذا لا يعني أن بعض اللغات ليست أفضل من بعضها في أمور معينة حيث يمكنك استخدام جافا سكريبت لتكويد برنامج تفاعلي، لكن (السي++) أفضل إذا أردت إتمام شيء بسرعة.
أيها المطورون، لا داعي للجدل العقيم، لا توجد لغة برمجية مثالية.
9.يمكنك إتقان لغة برمجية خلال بضعة أسابيع
قد تتمكن من تعلم المبادئ والأساسيات خلال أسبوعين أو ثلاثة، لكن بلا شك لا يمكنك أن تصبح خبيرًا بها. ذلك أن التمكن من إحدى اللغات البرمجية يتطلب الاهتمام، والصبر، والأهم من ذلك طبعا: الممارسة.
فكّر في الأمر: لن يروقك أن يُجري أحدهم عملية جراحية عليك لأنه قرأ كل الكتب المدرسية الطبية ونجح في اجتياز اختباراتها، بل ستودّ أن من سيجري العملية شخص أمضى ما لا يُعَدّ ولا يحصى من الساعات وهو يمارس العمليات الجراحية. تخيل نفسك مثل الجراح، لأن نفس القَدْر من قوة الذاكرة مطلوب لتكون مبرمجًا جيدًّا.
[هل يمكنك أن تتعلم البرمجة بنفسك في 7 أيام حقًا؟]
10. أزمة البرمجيات
تحدث إيدجر ديجكسترا سنة (1968م) عن “أزمة البرمجيات”، وهي عبارة تُشير لتطوير برمجيات غير فعالة، تتعدى الميزانية المخصصة لها، وذات جودة ضعيفة، ويصعب صيانتها.
واليوم، تشير حقيقة أن البرامج التي تعج بالأخطاء والثغرات تُكلف الولايات المتحدة الأمريكية بلايين الدولارات سنويا في الظاهر إلى أزمة على الرغم من أنه لا أزمة حقيقية موجودة كي نتحدث عنها.
ذلك أن البرامج ليست بذلك السوء، لأنها في تحسن مستمر. إن التحرك بسرعة الضوء يُكبد الاقتصاد مبالغ ضخمة مبررة، ودائمًا ما ستكون هنالك تعثرات من ناحية الفاعلية ولا غرابة في ذلك لا سيما إبّان ظهور برمجيات جديدة. لا حاجة للهلع، لأن أزمة البرمجيات ما هي إلا وهم.
11. عندما تُسلم برنامجك، يعني أن مهمتك انتهت
لكن البرنامج نفسه نادرًا ما يكتمل فعلا. من جهتهم، يحب المطورون ومدراء المشاريع التصديق بأن البرامج الكبيرة متعددة الطبقات أشبه بالتيار مستمر التدفق، وأن المطورين الذين أنجزوا البرنامج ليسوا كاملين أو مثاليين، وأن التطبيقات تتغير، وإضافة مزايا جديدة يعني بروز أخطاء برمجية جديدة. لكن الفرق البرمجية ومدرائها عليها أن تضع في حسبانها أن الدعم والصيانة يُكلفان مبالغ إضافية، وأن المنتج النهائي في حاجة دائمة لدفعة من الابتكار حتى يبقى منافسا في السوق.
12. البرمجة ببساطة هي مجرد كتابة الأكواد البرمجية
يعتقد الكثير من مدراء الفرق البرمجية أن المطورين لا يقومون إلا بترجمة “الفكرة” إلى “كود برمجي” فحسب، هذا ما يجعل المدراء عاجزين عن فهم القرارات التي يتخذها المطورون على امتداد عملية التطوير والبرمجة. ويعد هذا سوء فهم للموضوع، لأن المطورين يبنون البرمجية ويتخذون قرارات تخص المشروع في كل خطوة من عملية التطوير.
إن عمل المطورين لا يقتصر على “كتابة الأكواد فحسب” فعملية التطوير تجعل المطور يتخذ الكثير من القرارات الخاصة بالبرمجية المنشودة والتي لا تتصل مباشرة بكتابة كود مثل تخطيط مسار التحديثات، والتصاميم، والمطورون الممتازون هم أولئك الذين يمتلكون مخططًا واضحا لكل هذه العمليات (البرمجية منها وغير البرمجية)، ويتواصلون مع فريق التطوير بشأن اتخاذ القرارات الحاسمة ولا يتصرفون من تلقاء أنفسهم إلا في الحدّ الأدنى من تفاصيل البرمجة.
13. مجال البرمجة والتطوير لا إبداع فيه
صحيح أن البرمجة والتطوير مجال تقني ومنطقي إلا أنه شكل من أشكال الفنّ أيضا. بهذا الصدد يغفل الكثير من الناس من غير المبرمجين عن الجمال التي تعكسه البُنى البرمجية، بل وحتى بعض المطورين يعتقدون مثل هذا الاعتقاد الخاطئ. من جهة أخرى، سيخبرك العديد من المبرمجين أن كتابة الأكواد تشبه في بعض نواحيها كتابة الشِّعر.
ونحن نقول أن كتابة الأكواد عمل إبداعي بكل ما تعنيه الكلمة لا شك في ذلك. إن أردت الاستزادة بشأن هذه النقطة أحيلك إلى مقال عنوانه “المبرمجون والرسامون” كتبه بول غراهام عن الجماليات الفنية للتكويد.
14. المطورون يعانون من مهارات اجتماعية ضعيفة
يخطر ببال الكثير من الناس أن المبرمجين وحيدون يحبون الجلوس بمعزل عن الناس رفقة حواسيبهم حيث يكتبون الأكواد طوال الوقت، وعندما تواجههم مواقف اجتماعية لا يساهمون بشيء يذكر في رفاهية المجتمع من ناحية المجاملات، والإصغاء، والكلام العابر، والمبادرة بالحديث وحضور المناسبات وغيرها من المهارات الاجتماعية.
وهذا ما يؤدي غالبًا لأن يتواصل مدراء الفرق البرمجية مع المطورين بطريقة تقلل من شأن مهاراتهم الاجتماعية وقدرتهم على العمل ضمن فريق أو مجموعة. وعندما يفعل المدراء هذا، يجعلهم ذلك عرضة لتسيير فريق ساخط وناقم من المطورين الذين يرون أن مهاراتهم الاجتماعية تتعرض للاستخفاف والاستهانة بها. صحيح أن المبرمجين والمطورين مولعون بأكوادهم البرمجية، من مختلف الأشكال والأحجام والأنواع، لكن استمتاعك بكتابة الأكواد لا يعني أنك شخص انطوائي محب للعزلة كاره للمجتمع.
15. يعتقد المطورون أن المدراء لا يملكون شيئا ليساهموا به في إنجاز البرمجيات
يؤدي الكثير من المطورين عملهم في ظل اعتقادهم بأن المدراء الذين يسيرون العمل لا يتمتعون بأي مهارة برمجية ووجودهم بلا جدوى على رأس فريق من المطورين والمبرمجين. وهذا ليس صحيحاً، لأن الأغلبية الساحقة من المدراء يعرفون حقا ما يفعلونه، فهم موجودون لحماية فريقهم من التشتت، حيث يوفرون لهم أفضل الأدوات، ويحددون المواعيد النهائية، ويؤمنون الميزانيات، ويستقطبون مصادر إضافية وقت الحاجة إليها.
لا عجب أن يميل الناس للتركيز على ما هو سلبي، لذا فالمدراء يلامون عندما تصير الأمور محبطة، لكن هدف المدراء هو سَيْر الأمور بسلاسة وتسهيل الأمر على أفراد فرقهم لا تصعيبه.
16. المطورون اليافعون يعتقدون أنهم المطورون الأفضل
ربما هذه الأعراض مرتبطة بالعمر، لكن المطورين في بداية مسارهم يعتقدون أنهم أفضل من المطورين القدامى والراسخين. ذلك أن تعلمهم للتقنية الجديدة جعلهم يشعرون بأنهم أكثر إنتاجية، وذلك بدوره يجعلهم يفكرون بأن قيمتهم أعلى من شخص يستخدم منصات قديمة. لكن الواقع أن العديد من المطورين يواصلون تعلم تقنيات جديدة أثناء تقدمهم في السن، أو على الأقل هذا ما ينبغي عليهم فعله. من جهتهم، يُهمل المبرمجون المتخرجون حديثًا من الكلية عاملًا مُهّما ألا وهو: عمق الخبرة واتساعها والذي لا يتراكم إلا بمرور الزمن.
- أهم التطبيقات المجانية لتعلم البرمجة والتكويد عبر هاتفك
- كيف أتعلم البرمجة؟ البداية الصحيحة لإتقان لغة “بايثون”
- هل يمكنك أن تتعلم البرمجة بنفسك في 7 أيام حقا؟
17. البرمجة مُملة
لا ريب أن كل واحد منا يضجر من شيء ما، لكنك لا تفني حياتك كلها في شيئ يُشعرك بالسأم والملل. إن البرمجة بمقدروها أن تكون حرفة فاتنة، فهي مزيج ما بين الهندسة، والرياضيات واللغة. إن الناس الذين يظنون أن البرمجة مُملة لا يدركون مدى عمق هذا المجال، لكن المطورين يعرفون أن جوهر البرمجة يتعلق بالتعلم وإيجاد الحلول وابتكارها – كيف لهذا إذًا أن يكون مملاً؟
18. تنتهي مسيرة المطورين عند الخامسة والثلاثين
إن التمييز ضدّ المُسِنّين حقيقة واقعة في عالم البرمجة، لكن ذلك لا يعني أن التقدم في العمر يعتبر مؤشرًا لنهاية المسيرة. من جهة أخرى يُسْهم الأفراد -الذين ينحصرون في لغة واحدة، أو يفشلون في تعلم منصات وتقنيات جديدة- في إبعاد ذواتهم عما هو مطلوب في السوق الحالي للبرمجة. هذا لا يعني بأنهم يغادرون البرمجة كليًّا، لأن الكثير منهم ينتقلون لوظائف إدارية أو يطلقون شركاتهم الخاصة.
من جهة أخرى، يواصل البعض الآخر التعلم ويحبون مواصلة التطوير طوال مسيرتهم المهنية، كل ما عليهم فعله هو البقاء مطلعين على مستجدات القطاع ومن ثم مواكبتها قدر المستطاع.
19. المطورون مجرد سلعة تباع وتشترى
يعتقد الناس في غالب الأحيان أن الشخص الذي يكتب أسطرًا برمجية أكثر عددًا هو المطور الأعلى إنتاجية، لكن التطوير ليس مجرد تكديس للأغراض. بهذا الصدد يعد توظيف مبرمجين بثمن قليل وتوقع أن تكون النتيجة عالية الجودة أمرًا غير معقول.
والسبب وجيه ذلك أن المطورين بَشَرٌ، هُمْ بَشَرٌ يتميزون بمهارات فارقة وشخصيات مختلفة ومعارف خاصة. وكما هو الحال بالنسبة للغات البرمجية، ستجد أن بعض المبرمجين يكونون جيدين في مشروع معين عن غيره، وهذا ما يؤثر على الفاعلية.
ختامًا، ولأننا نتحدث عن البرمجة وفي حال كنت تبحث عن مواقع بديلة ومشابهة لـ (GitLab / Github) يمكنك تصفح (Codegiant)
يفخر هذا الموقع بامتلاكه واجهة استخدام بسيطة وسهلة الاستعمال، كما أن كل الميزات التي يتمتع بها (GitLab) متوفرة هناك 😊
add تابِعني remove_red_eye 514
مقال يناقش 19 خرافة حول البرمجة
link https://ziid.net/?p=55298