هل صحيح أن الذكاء الاصطناعي سيحل محل مهندسي البرمجيات؟ هل يمكن لشخص أن يبدأ في تعلم البرمجة اليوم وما زال يجد وظيفة في المستقبل؟ هذه هي الأسئلة التي يطرحها الجميع اليوم في مجال التكنولوجيا. في هذا المقال، سنتناول هذا الموضوع ونناقش كيف يمكن للمطورين اليوم الاستعداد للمستقبل.
التطور المذهل للذكاء الاصطناعي في البرمجة
من المؤكد أننا شهدنا تحسنًا لا يصدق في قدرة الذكاء الاصطناعي على توليد الشيفرات البرمجية. لقد أصبح استخدام أدوات مثل ChatGPT والنماذج اللغوية الكبيرة الأخرى أمرًا ضروريًا للمطورين، سواء كان ذلك لتعلم تقنية جديدة، أو تصحيح الأخطاء في الشيفرات، أو بناء تطبيق من الصفر. اليوم، يمكن لأي شخص تعلم البرمجة بمساعدة ChatGPT وحده، دون الحاجة إلى الالتحاق بجامعة أو مدرسة متخصصة.
كما أصبح استخدام بيئات التطوير المتكاملة (IDEs) المدعومة بالذكاء الاصطناعي، مثل GitHub Copilot الشهير، هو القاعدة. وفي المستقبل، يمكننا أن نتوقع المزيد من التقدم في مجالات متعددة:
- الأدوات المساعدة: ستظهر أدوات تساعد البشر على التعاون بشكل أكثر فعالية مع الذكاء الاصطناعي.
- الأدوات المؤتمتة: ستساعد هذه الأدوات في صيانة الشيفرات البرمجية، مثل اكتشاف وحل المشكلات الأمنية أو مشكلات إمكانية الوصول.
- وكلاء الذكاء الاصطناعي: أثار ظهور وكلاء برمجيات الذكاء الاصطناعي مثل Devin الخوف من أن يصبح مطورو البرمجيات شيئًا من الماضي. يهدف Devin إلى العمل كوكيل ذكاء اصطناعي قادر على تنفيذ ميزات صغيرة عبر مستودعات الشيفرات المختلفة، وإنشاء طلبات السحب (pull requests)، وإصلاح الأخطاء. على الرغم من أن لديه العديد من القيود اليوم، فمن المؤكد أننا سنرى تقدمًا كبيرًا في هذا المجال في المستقبل.
هل ستختفي الحاجة إلى المطورين؟
أتفق مع الرأي القائل بأن الذكاء الاصطناعي، بشكل عام، لن يحل محل المطورين بالكامل. ومع ذلك، من المؤكد أنه سيحل محل أولئك الذين لا يرغبون في التطور وتحسين مهاراتهم ودمج الذكاء الاصطناعي في سير عملهم.
ما يبرع فيه الذكاء الاصطناعي: الذكاء الاصطناعي يتفوق في مهام البرمجة الموثقة جيدًا، مثل الشيفرات المتكررة (boilerplate code) والمقتطفات التي يمكن إعادة استخدامها في العديد من المشاريع مع تغييرات طفيفة فقط، مثل عمليات CRUD للوصول إلى قواعد البيانات.
ملاحظة: CRUD هي اختصار للعمليات الأساسية في التعامل مع قواعد البيانات: الإنشاء (Create)، القراءة (Read)، التحديث (Update)، والحذف (Delete).
بشكل عام، المهام المماثلة التي لا تتطلب الكثير من الإبداع أو ليست معقدة بشكل خاص يمكن للذكاء الاصطناعي التعامل معها بسهولة.
ما لا يزال الذكاء الاصطناعي يفتقر إليه: من ناحية أخرى، لا يزال الذكاء الاصطناعي غير قادر على التعامل مع تصحيح الأخطاء المعقد، أو مشاكل الهندسة المعمارية للنظم (architecture) أو قابلية التوسع (scalability). عمل المطورين ليس تقنيًا بحتًا؛ بل يتضمن أيضًا:
- الحدس بالمنتج: فهم عميق للمنتج أو الخدمة التي يتم بناؤها.
- فهم احتياجات العملاء: وهو جانب أساسي لا يمكن للآلة استيعابه بالكامل.
- التعاون والتفاوض: داخل الشركة الواحدة، يمكن أن يكون هناك العديد من الفرق المترابطة، مما يتطلب التنسيق والتفاوض، وهي أمور لا يزال الذكاء الاصطناعي غير قادر على القيام بها.
- المعرفة المتخصصة بالمجال: على سبيل المثال، الشخص الذي يعمل في شركة إيرباص سيواجه قيودًا مختلفة عن شخص يعمل في التجارة الإلكترونية أو التمويل. هذا النوع من الخبرة يصعب على الذكاء الاصطناعي استبداله.
كيف نستعد كمطورين للمستقبل؟
السؤال المهم الذي يجب أن نجيب عليه هو: كيف يمكننا كمطورين أن نجهز أنفسنا للمستقبل؟ ما هي المهارات التي يجب أن نبدأ في تعلمها من الآن؟
-
استخدام أدوات الذكاء الاصطناعي: إذا كنت مطورًا ولم تستكشف أبدًا أدوات الذكاء الاصطناعي المتاحة، فابدأ الآن. تعلم كيفية تحسين إنتاجيتك باستخدام بيئات التطوير المتكاملة مع الذكاء الاصطناعي مثل GitHub Copilot وغيرها الكثير. المهم هو أن تكون لديك عقلية تسعى دائمًا لتحسين عملك باستخدام الذكاء الاصطناعي.
-
هندسة الأوامر (Prompt Engineering): ستصبح هذه المهارة مهمة حقًا. تعني تعلم كيفية إعطاء التعليمات الصحيحة للذكاء الاصطناعي للحصول على المخرجات التي تريدها. يمكنك أن تسميها “التواصل مع الذكاء الاصطناعي”.
-
كن متعدد المعارف (Generalist): أصبح اكتساب المعرفة أسهل من أي وقت مضى. لم يعد التخصص في مجال واحد فقط بنفس الأهمية، خاصة في مجال التكنولوجيا، لأن الذكاء الاصطناعي يمكن أن يساعدك على البدء بسهولة في أي مجال. هذا يعني أن أصحاب المعرفة العامة سيصبحون أكثر قيمة من المتخصصين في إطار عمل أو لغة واحدة. لهذا السبب يجب عليك تطوير القدرة على التعلم والرغبة في اكتساب معرفة عامة في تطوير وهندسة البرمجيات، وتعلم تصميم النظم (System Design).
-
التركيز على الاحتياجات البشرية والمنتج: كما ذكرنا سابقًا، البشر فقط لديهم القدرة على فهم الاحتياجات البشرية واحتياجات المنتج بوضوح. أنظمة الذكاء الاصطناعي الحالية لن تمتلك هذه القدرة أبدًا، ما لم نصل إلى ذكاء عام حقيقي، وهو ما زلنا بعيدين عنه.
-
المهارات الشخصية (Soft Skills): القدرة على العمل في فرق، والإدارة، والتفاوض، والتواصل ستصبح أكثر أهمية.
خاتمة
في السنتين إلى الخمس سنوات القادمة، ستكون هناك فرص كبيرة. إنها فرصة للمضي قدمًا إذا أعددت نفسك جيدًا. نعم، ستختفي بعض الوظائف، ولكن بالنسبة للمطورين، ستظل هناك وظائف، لكن المهام هي التي ستتغير. ما نحتاج إلى القيام به الآن هو الاستثمار في مهاراتنا وقدراتنا.
نقطة أخيرة: لا تنتظر شركتك لتقدم لك التدريب أو الدعم. وإذا كنت تدرس حاليًا علوم الحاسوب، فلا تنتظر الجامعة لتعلمك ما تحتاجه بالفعل للنجاح. غالبًا ما يكون التعليم الرسمي متأخرًا عما يحتاجه السوق حقًا. لذا، تقع على عاتقنا مسؤولية تعلم ما نحتاجه لتحقيق النجاح.