مع تقدم تقنيات الذكاء الاصطناعي، أصبح السؤال حول مستقبل المبرمجين وكيفية تأثير هذه التقنيات على مهنة البرمجة أمرًا ملحًا.
هل الذكاء الاصطناعي سيؤدي إلى تهميش دور المبرمجين أو ربما إلغاء الحاجة إليهم تمامًا، بينما هو يسهم في تسهيل العديد من المهام وتحسين الكفاءة.
لنأخذ إجابة تفصيلية عن ذلك هنا.
المحاور الرئيسية:
المهام الأساسية التي يقوم بها المبرمجون
يجب فهم المهام الأساسية للمبرمجين، لأن التغيير غالباً سيطال بعض منها ويطور البعض الآخر.
- تحليل المتطلبات: فهم احتياجات العملاء أو المشاريع وتحويلها إلى حلول تقنية.
- تصميم البرمجيات: إنشاء هيكل وتصميم البرمجيات باستخدام اللغات البرمجية المناسبة.
- كتابة الأكواد: كتابة الأكواد البرمجية بشكل صحيح لتحقيق الأهداف المطلوبة.
- اختبار البرمجيات: التأكد من أن البرمجيات تعمل بكفاءة وخالية من الأخطاء.
- الصيانة والتحديث: تحديث البرمجيات وصيانتها بمرور الوقت لتلبية الاحتياجات المتغيرة.
- التوثيق: كتابة وثائق توضح كيفية استخدام البرمجيات وصيانتها.
الوضع الحالي: كيف يتدخّل الذكاء الاصطناعي لدعم المبرمجين؟
في الوقت الحالي، الذكاء الاصطناعي لا يحل محل المبرمجين، ولكنه يدعمهم بطرق متعددة.
بل هو مركّز أكثر على المهام الروتينية وتحسين الكفاءة، مما يسمح للمبرمجين بالتركيز على الأعمال الأكثر إبداعًا واستراتيجية.
لنأخذ أشهر الأمثلة على ذلك:
1- تحليل الأكواد
هذه مهمة كانت موجودة مسبقاً بدون الذكاء الاصطناعي داخل أغلب الـ IDEs الشهيرة، لكن مع الذكاء الاصطناعي أصبحت الأمور متقدمة أكثر.
والسبب أن الذكاء الاصطناعي يتدرب ويتعلم ويتحسن مع الزمن وبالتالي المقترحات تتحسن بشكل مستمر.
2- كتابة الأكواد
بفضل الذكاء الاصطناعي، هناك أدوات يمكنها المساعدة في كتابة الأكواد أو حتى توليدها بالكامل. تعمل هذه الأدوات على تسريع عملية التطوير وتقليل الأخطاء.
خذ مثالاً منتج شركة AWS وهو Amazon Q Developer حيث أنه متوفر لأغلب الـ IDEs الشهيرة أيضاً.
لا ننسى انه بالنظر لمهام المبرمج التي ذكرناها أعلاه, فإن كتابة الأكواد ليست البرمجة بحد ذاتها, فهي مهمة روتينية نوعاً ما.
3- الاختبار والتحليل
الذكاء الاصطناعي يمكن أن يحلل البرمجيات ويحدد الأخطاء بشكل أسرع وأكثر دقة من الاختبارات اليدوية, أو أداوت الاختبار السابقة البرمجية.
يمكن لأدوات الذكاء الاصطناعي أيضًا التنبؤ بالمشكلات المحتملة قبل حدوثها.
مثال على ذلك المساعد الذكي من JetBrains وهو AI Assistant.
وحتى الآن لم يستبدل الذكاء الاصطناعي الموظف المبرمج، بل يساعده على أداء مهامه بشكل أفضل.
3- التوثيق وكتابة الملفات
شرح الأكواد، بناء المخططات وكتابة الملفات الطويلة لم يعد امراً صعباً مع الذكاء الاصطناعي.
رغم أن ذلك كان متاح من خلال أدوات قوية للتوثيق إلا أن الصياغة السليمة والتحليل الموضوعي الذي يشبه إلى حد ما عمل البشر، لم يتحقق إلا مع الذكاء الاصطناعي التوليدي.
أيضاً نفس المثال السابق، المساعد الذكي من JetBrains وهو AI Assistant.
الخلاصة حول الوضع الراهن
من الوضع الراهن نستنتج أن المبرمجين قد تم دعمهم أكثر وأخذ المهام الروتينية منهم لكي يركزوا على قيادة عملية التطوير بدلاً من القيام بكل شيء بيدهم.
وهذا يشكل تهديداً على كل من:
- التقليديّون: المبرمجون التقليديون الذين يتقاعسون عن متابعة الأدوات الجديدة سيكونون في الخلف ويتم الاستغناء عنهم.
- المتظاهرون: الكثير من المبرمجين يتظاهرون بالعمل وصرف الوقت في كتابة الاكواد السخيفة، مع الذكاء الاصطناعي سوف ينكشفون بسرعة.
الأدوات الحالية المدعومة بالذكاء الاصطناعي
هنالك الكثير جداً من الأدوات المتاحة بحسب لغات البرمجة وتطبيقات كتابة الأكواد IDE وعلى كل مبرمج البحث عن الأدوات التي تفيده في عمله.
ونذكر هنا بعض الأدوات المدعومة بالذكاء الاصطناعي التي أصبحت جزءًا لا يتجزأ من حياة المبرمجين اليوم:
1- GitHub Copilot:
الوصف: مساعد برمجي مدعوم من OpenAI يقدم اقتراحات أثناء كتابة الأكواد.
الرابط: https://github.com/features/copilot
الوظيفة: يكمل الأكواد ويوفّر حلولاً برمجية محتملة للمشكلات الشائعة.
2- Amazon Q Developer:
الوصف: مساعد ذكي مدعوم بالذكاء الاصطناعي التوليدي من AWS ويمكن دمجه مع تطبيقات الـ IDEs.
الرابط: https://aws.amazon.com/q/developer
الوظيفة: يمكن لـ Amazon Q الدردشة حول التعليمات البرمجية، الثغرات الأمنية، الترقيات وتحسينات على التعليمات البرمجية.
3- Replit.com
الوصف: منصة تطوير برمجية متكاملة تدعم استخدام الذكاء الاصطناعي لتقديم اقتراحات وتحسينات على الأكواد.
الرابط: https://replit.com
الوظيفة: تسريع عملية البرمجة من خلال بيئة تعاونية على الإنترنت تقدم دعمًا فوريًا للمبرمجين.
المستقبل المنتظر لمهنة البرمجة
لو نظرنا لتصريحات إلون ماسك وإجابة البروفيسور Andrew Ng حول مستقبل المهن مع تطور الذكاء الاصطناعي والوصول للذكاء الاصطناعي العام.
فالإجابة القصيرة هي أن مهنة البرمجة إلى زوال.
والجواب التفصيلي يحتاج وضع الأسس العلمية أولاً:
- الذكاء الاصطناعي العام قادر على القيام بما يقوم به المبرمج إلى حد ما.
- الذكاء الاصطناعي مستقبلا لن يكون فقط للمهام الروتينية، بل سيأخذ معه كل المهام.
- في نهاية المطاف فإن الذكاء الاصطناعي هو بحد ذاته تطبيق برمجي ويحتاج مبرمجين مشرفين.
- يمكن لتطبيق ذكي ان يكون مشرف على تطبيق ذكي آخر، ولكن البشر بطبيعتهم يضعون الإشراف النهائي لهم.
- يمكن للأنظمة الذكية ان تطور نفسها بنفسها عندما تصل لمرحلة الوعي الذاتي والتفوق الذاتي، ولكن ذلك بعيد المنال وخارج عن الدراسة العلمية الحالية.
مما سبق نستنتج أن التغيرات المستقبلية ستلغي دور المبرمجين على جميع أنواع المشاريع البرمجية، ولكنها ستبقيهم ضمن دائرة الإشراف والتطوير على الأنظمة الذكية لضمان أدائها.
وعليه فالأدوار الجديدة للمبرمجين ستكون:
1- أدوار جديدة ومسؤوليات موسّعة:
في المستقبل، قد يتطلب الأمر من المبرمجين اكتساب مهارات جديدة تتعلق بالذكاء الاصطناعي نفسه. المبرمجون قد يصبحون مهندسي ذكاء اصطناعي قادرين على تطوير وصيانة نماذج الذكاء الاصطناعي.
2- البرمجة التعاونية بين الإنسان والآلة:
من المتوقع أن يصبح التعاون بين البشر والذكاء الاصطناعي جزءًا أساسيًا من عملية البرمجة. سيتعاون المبرمجون مع أدوات الذكاء الاصطناعي لتحسين الكفاءة والإنتاجية.
3- التركيز على الإبداع وحل المشكلات:
في بداية الامر ومنذ هذه السنة، مع تولّي الذكاء الاصطناعي المزيد من المهام الروتينية، سيتحرر المبرمجون للتركيز على الجوانب الإبداعية والاستراتيجية من البرمجة، مثل تصميم الأنظمة الكبيرة، وتحليل المتطلبات المعقدة، وتقديم حلول مبتكرة.
وبعدها سيأخذ الذكاء الاصطناعي مكانهم لكي ينتقلوا لمكانة تطويره بحد ذاته والاشراف عليه.
كيفية التجهيز للمستقبل
1- اكتساب مهارات جديدة:
يتعين على المبرمجين اليوم الاستثمار في تعلم مهارات جديدة مرتبطة بالذكاء الاصطناعي مثل تعلم الآلة Machine Learning، تحليل البيانات Data Analytics، وفهم كيفية عمل النماذج التوليدية.
2- تبني التعلم المستمر:
بسبب سرعة تطور التكنولوجيا، يجب على المبرمجين أن يكونوا ملتزمين بالتعلم المستمر لمواكبة التغيرات في الأدوات والتقنيات.
3- التركيز على تطوير التفكير النقدي:
مهارات التفكير النقدي والإبداع ستكون أكثر قيمة من أي وقت مضى، حيث سيحتاج المبرمجون إلى التفكير بشكل استراتيجي في كيفية استخدام الذكاء الاصطناعي لحل المشكلات المعقدة.
الخلاصة
صحيح أن الذكاء الاصطناعي سيغير طريقة عمل المبرمجين على المدى القصير، وسيستبدلهم على المدى المتوسط أو الطويل.
ولكن الشيء الأكيد ان المبرمج المواكب للتطوّرات والمتعلّم المستمر، والذي يمتلك مهارات الذكاء الاصطناعي وتعلم الآلة, سيكون في أمان غالباً من هذه التطورات وسوف يتكيف بسرعة مع التغييرات.