في مرحلة يُحدث فيها الذكاء الاصطناعي تحولاً في قطاع البرمجيات، يُعد هذا السؤال من أكثر الأسئلة التي يواجهها مطورو Junior:
"هل يُسرّع الذكاء الاصطناعي عملية تعلمنا، أم أنه يجعلنا أكثر كسلاً؟"
عند الإجابة عن هذا السؤال، أود أن أنطلق من تجربتي الشخصية. فعند تقييم تأثير الذكاء الاصطناعي على عالم البرمجيات، لا ينبغي الاكتفاء بالنقاشات النظرية فقط، بل يجب النظر أيضاً إلى تجارب الاستخدام الفعلية.
بعد أن بدأت مسيرتي في البرمجة، فضّلت لمدة عام تقريباً عدم استخدام أدوات الذكاء الاصطناعي بشكل فعّال. لم يكن السبب رغبتي في الابتعاد عن التكنولوجيا. بل على العكس، كنت أريد تعلم المنطق الأساسي للبرمجة بنفسي. كنت أعتقد أن الاعتماد على الذكاء الاصطناعي قبل فهم المتغيرات والدوال ومنطق الخوارزميات ونهج حل المشكلات قد يؤدي على المدى الطويل إلى عملية تطور ناقصة.
عندما أنظر إلى الوراء اليوم، أرى أن هذا القرار كان صائباً بالنسبة لي. فلكي تستفيد فعلياً من الذكاء الاصطناعي، يجب أولاً أن تعرف ما الذي يجب أن تسأله. والأهم من ذلك، يجب أن تمتلك الخلفية التقنية التي تُمكّنك من تقييم ما إذا كانت الإجابة التي حصلت عليها صحيحة أم لا. فبدون معرفة أساسية، قد تبدو الإجابات التي يقدمها الذكاء الاصطناعي وكأنها حل، لكنها لا تُسهم دائماً في التعلم الحقيقي للمطور.
لكن بعد انتقالي إلى الحياة المهنية، بدأت وجهة نظري تتغير. أصبحت المشاريع أكبر، وتقلصت مواعيد التسليم، وأصبح الإنتاج بسرعة أكبر أمراً ضرورياً. عند هذه النقطة، توقفت عن النظر إلى الذكاء الاصطناعي كمنافس، وبدأت أراه كزميل عمل. أستخدم اليوم أدوات مثل Claude Code بشكل فعّال. لكنني لا أعتبر هذه الأدوات أنظمة تطوّر البرمجيات بدلاً مني، بل مساعدات تزيد من سرعة إنتاجي.

الأبحاث وتحليل الأخطاء أو تعديلات واجهة المستخدم التي كانت تستغرق ساعات في الماضي، يمكن حلها الآن في وقت أقصر بكثير. على سبيل المثال، مشكلة تصميم متجاوب كانت تستغرق مني حوالي ساعتين في السابق، أصبحت أستطيع حلها خلال 15-20 دقيقة بفضل prompt مُعدّ بشكل صحيح. وهذا لا يوفر لي الوقت فحسب، بل يتيح لي أيضاً التركيز على جوانب أكثر في عملية تطوير المشروع.
من أكبر الفوائد التي قدمها لي الذكاء الاصطناعي هي طرحه لوجهات نظر مختلفة. فأحياناً، بينما أعتقد أن هناك طريقة واحدة فقط لحل مشكلة ما، يقترح الذكاء الاصطناعي أساليب مختلفة لحل المشكلة نفسها. وبفضل ذلك، لا أكتفي بكتابة الكود بشكل أسرع فحسب، بل أتعلم التقنيات الجديدة بشكل أسرع أيضاً، وأستطيع خوض مشاريع لم أكن لأجرؤ عليها من قبل. وقد يشكل هذا الأمر ميزة مهمة خصوصاً للمطورين في بداية مسيرتهم المهنية.
لكن هناك فرقاً بالغ الأهمية هنا. فزيادة سرعة الإنتاج بواسطة الذكاء الاصطناعي لا تعني الاعتماد الكلي عليه. وفي رأيي، هذا بالضبط هو المكان الذي يظهر فيه أكبر خطر قد يواجهه مطورو Junior اليوم.
قد يكون مطورو اليوم من أكثر الأجيال حظاً في التاريخ من حيث الوصول إلى المعلومات. فالأبحاث التي كانت تستغرق ساعات قبل سنوات قليلة، يمكن إجراؤها اليوم في ثوانٍ. أصبح الوصول إلى التوثيق، ودراسة المشاريع النموذجية، أو تعلم تقنية معينة أسهل بكثير مما كان عليه في الماضي. لكن هذه السهولة تحمل معها خطراً آخر.
إذا بدأ المطور باستخدام الكود الذي ينتجه الذكاء الاصطناعي مباشرة دون فهمه، فقد تضعف عملية تعلمه مع الوقت. فتطوير البرمجيات لا يقتصر فقط على إنتاج كود يعمل. فهم سبب ظهور المشكلة، وتحليل سبب نجاح الحل، والقدرة على تطوير ذلك الحل عند الحاجة، كلها أجزاء أساسية من هندسة البرمجيات. قد يمنحك أسلوب النسخ واللصق سرعة على المدى القصير، لكنه قد يحد من عمقك التقني على المدى الطويل.
لهذا السبب أعتقد أنه يجب النظر إلى الذكاء الاصطناعي كأداة تعلم، لا كآلة للإجابات. فبدلاً من أخذ جزء من الكود مباشرة، من الأجدى بكثير أن تسعى للإجابة عن الأسئلة التالية:
- لماذا يعمل هذا الحل؟
- ما هي الطرق البديلة الممكنة؟
- ما هي تأثيرات هذا النهج من الناحية الأدائية؟
- هل هناك نقاط يجب الانتباه إليها من الناحية الأمنية؟
- كيف كان يمكنني حل هذه المشكلة بطريقة أخرى؟
المطورون الذين يسعون وراء هذه الأسئلة لا يصبحون أسرع فقط، بل يبنون أيضاً أساساً تقنياً أكثر رسوخاً. لأن التعلم الحقيقي لا يحدث عند الحصول على الإجابة، بل عند فهم المنطق الكامن وراءها.
فهل الذكاء الاصطناعي ميزة أم عيب بالنسبة لمطوري Junior؟
في رأيي، لا تكمن إجابة هذا السؤال في الذكاء الاصطناعي نفسه، بل في الشخص الذي يستخدمه. فبالنسبة للمطور الذي يمتلك أساساً تقنياً كافياً ويستخدم الذكاء الاصطناعي بوعي، يمكن لهذه الأدوات أن تمنحه ميزة كبيرة. أما بالنسبة لمن يترك عملية تعلمه بالكامل للذكاء الاصطناعي، فقد تتحول الأدوات نفسها إلى عائق أمام تطوره.
في عالم بلا ذكاء اصطناعي، ربما كنت أعمل اليوم على عدد أقل من المشاريع، وأتعامل مع مهام أكثر بساطة. وبفضل الدعم الذي يقدمه الذكاء الاصطناعي، أستطيع خوض مجالات مختلفة، واكتساب خبرة من مشاريع أكثر، والإنتاج بسرعة أكبر. لكن السبب الأساسي وراء إمكانية ذلك هو أنني لم أترك السيطرة بالكامل للذكاء الاصطناعي.
أنا لا أخاف من الذكاء الاصطناعي. لأنني لا أراه منافساً، بل زميل عمل. يمكن للذكاء الاصطناعي أن يكون مساعداً ممتازاً، لكنه لا يستطيع بمفرده أن يصبح مطوراً بارعاً. فتطوير البرمجيات ليس مجرد كتابة كود، بل هو حل المشكلات، واتخاذ القرارات، والتحليل، والتواصل، والتعلم المستمر.
ربما يكون السؤال الذي ينبغي على مطوري Junior اليوم طرحه على أنفسهم هو:
"ماذا يستطيع الذكاء الاصطناعي أن يفعل بدلاً مني؟" ليس هذا هو السؤال،
"بل كيف يمكنني استخدام الذكاء الاصطناعي لأصبح مطوراً أفضل؟"

