المبرمج أحمد اللواتي: سوق التقنية في سلطنة عُمان يبرز قدرة المبرمج العُماني على المنافسة محليًا ودوليًا
العُمانية: تشكل التقنية في الوقت الراهن منظومة تعيد واقع القراءة لأنماط العمل والحياة في المستقبل، خاصة في ظل التحوّل الرقمي، وما يمكن الأخذ به أو التشارك فيه لمواكبة التسارع الهائل مع تنامي الذكاء الاصطناعي، والاعتماد على التطبيقات الذكية، ما يوجد ضرورة الغوص في أعماق تلك التقنية لتصبح ضرورة مهنية ومعرفية لا خيارًا انتقائيًا، فالرؤية تشير إلى ضرورة القراءة العميقة للأدوات الرقمية لفهم منطقها وفلسفتها.
في هذا الجانب يتحدث التقني والمبرمج العُماني أحمد اللواتي الذي يعمل حاليًا في "ثواني للتقنيات"، ويمتلك خبرة عملية في بناء وصيانة الأنظمة البرمجية، فقد قاد مشاريع مهمة مثل نظام الخصومات (SAMA) ودمج بوابة دفع "ثواني"، كما يتميز بمهارات برمجية في لغات البرمجة المختلفة مثل C++ وPython و#C، مع خبرة متخصصة في إطار مجال قواعد البيانات، وشارك في مسابقات إقليمية ودولية مثل ACPC وGoogle Hash Code.
في هذا اللقاء يجمع "اللواتي" من خلال حديثه بين الرؤية الفكرية والخبرة التقنية والتحديات المستقبلية، وهنا يقف عند عمق التقنية واستشراف المستقبل، مشيرًا إلى أهمية الغوص في عمق التقنية ومعرفة ماهيتها، خصوصًا مع الحضور المتنامي للذكاء الاصطناعي ويقول: نعيش اليوم في عالم أصبح فيه الذكاء الصناعي يحتل موقعة كبيرة في مختلف المجالات و أصبح مجالًا تتنافس فيه الدول و تضخ فيه الكثير من الأموال من أجل تحسين جودة الحياة ورفع كفاءة العمل المنجز، ولكن المشكلة أن المسألة ليست مجرد زر تنجز به المهمة بل هناك نظام كامل يفكر معك بل وربما يقرر عنك أحيانًا و يعيد تشكيل الطريقة التي تعمل بها لذا أصبح لزامًا علينا أن نفهم آلية عمل أدوات الذكاء الصناعي وذلك لعدة أسباب نشير إلى بعض منها، أولًا : التعقيد الخفي الذي لا يظهر للمستخدم، فقد ترى نظامًا جميلًا سهل الاستخدام بُني بواسطة الذكاء الصناعي بالكامل ولكنك قد لا تدرك حجم التعقيد الموجود داخل الأكواد البرمجية التي بني عليها هذا النظام، فهناك سلاسل طويلة من الخدمات والعمليات التي تحصل و لا يشعر بها المستخدم و قد يحصل فشل أحيانًا فيها لأن هذا أمر طبيعي في الخدمات التقنية لذا ينبغي على التقني أو المبرمج أن يفهم جيدًا كيف بني هذا النظام ليسهل عليه اكتشاف الأخطاء و تعقبها وإلا سيصبح النظام كله كأنه شفرة لا يستطيع أحد فكها. أما إذا كان التقني على دراية بكيفية التعامل مع هذه الأدوات وفهم منطقها فإنه لن يسلم زمام الأمور لها بالكامل بل سيحرص على الفهم الدقيق لما يبنيه من أنظمة حتى وإن كانت مصممة بالكامل من قبل الذكاء الصناعي (الذي بلا شك رفع كفاءة المبرمجين وسهل عملهم) ليسهل عليه فهم كيف تدار الأمور وكيف يتصرف في حالة وجود أمور تستدعي التدخل البشري
وأضاف: ثانيًا، التطور المستمر للخدمات التنقية، فمن طبيعة الخدمات التقنية أنها تتطور دائمًا، لنفرض مثلًا أن لدينا نظامًا معينًا يخدم جهة ما، وأرادت هذه الجهة أن تقوم بتحسينه وإضافة ميزات جديدة يستفيد منها المستخدمون، ولنفترض أن هذا النظام تم بناؤه بالاستعانة بالذكاء الاصطناعي بشكل أعمى ولا يوجد من قام بمحاولة فهم كيف تم بناء هذا النظام أو المبدأ الذي اعتمد عليه الذكاء الصناعي في بنائه هنا ستصبح عملية التحسين صعبة جدًا لأن محاولة تعديل نظام تقني تعتمد بشكل أساس على فهم طريقة بنائها منذ البداية.
ويتحدث اللواتي عن المخاطر غير المرئية بها: كالخصوصية والأمن و توافق النظام مع الأنظمة الأخرى، هذه أمور كلها لا تظهر في طريقة الاستعمال بل في طريقة البناء، لذا أصبح لزامًا على التقنيين أن يكونوا ملمين بآلية عمل أدوات الذكاء الصناعي ومنطق عملها ليكون دورهم دورًا فاعلًا في بناء الأنظمة و سرعة التدخل في الحالات الطارئة و سهولة تحسين هذه الخدمات.
وينتقل اللواتي للحديث عن تجربته مع التطبيقات الرقمية المحلية مثل تطبيق "ثواني"، وتقيمه لواقع الحلول التقنية المحلية مقارنة بالعالمية ويقول: يشهد السوق العُماني تناميًا متزايدًا في القطاع التقني يتمثل في زيادة الطلب على الوظائف التقنية كما تشهد الخدمات التقنية العُمانية نموًا مستمرًا سواء في عددها أو في جودة الخدمات التي تقدمها وأرى بإن المبرمج العُماني يمتلك من المهارة والمؤهلات الكافية ما يؤهله للمنافسة وصنع أنظمة شبيهة بالأنظمة العالمية إذا ما توفر له الدعم و الاهتمام و ذلك من خلال إدراج البرمجة كمادة في المدارس والاهتمام بمسابقات البرمجة العالمية و تدريب الطلاب لها منذ مرحلة المدارس .
ويشير "اللواتي" إلى التصاعد المتسارع لتطبيقات الذكاء الاصطناعي، مقيّما التحول في طبيعة العمل البرمجي، وما هو ضروري للتعامل الواعي مع هذه المرحلة، ويؤكد: أسهم الذكاء الصناعي في زيادة كفاءة المبرمجين وتحسين جودة عملهم من خلال القيام بالعديد من المهمات التي اعتادوا القيام بها إلا أن الموضوع سلاح ذو حدين فيجب استخدامه بوعي وحذر حيث أن هدف هذه الأدوات هو تحسين الجودة وتسريع العمل ومساعدة المبرمج لا استبداله وهنا يجب أن نوضح أن هذه ليست دعوى لترك استخدام الذكاء الصناعي بل نقولها بشكل صريح.
وقال: نعيش في عالم أصبح من الضروري للتقني أو المبرمج أن يستخدم هذه الأدوات ليستطيع مواكبة الركب و ليحسن جودة عمله ويسرع إنهاء الأعمال بل و حتى من أجل استيعاب المفاهيم و تعلم ما يجهله لكن غاية الأمر أن التقني يجب أن لا يجعل استخدامه لهذه الأدوات يغنيه عن عملية الفهم الدقيق لما يجري و ما يفعل لأن هذا هو الخطر بعينه بل يجب أن يكون واعيًا لما تفعله هذه الأداة بين يديه ولا مانع إن كانت هذه الإداة تنجز أغلب العمل طالما أن هناك عينًا تراقب وعقلًا يفكر و يحلل ما يجري أمامه إذ إن القرار النهائي يبقى بيد العنصر البشري في النهاية، كما أن الاعتماد السلبي على هذه الأدوات يجعل من الشخص مبرمجاً بلا روح و تسلبه مهارة حل المشكلات و التفكير النقدي و التحليل.
ويذهب اللواتي إلى سياق خبرته في تصميم وصيانة أنظمة خلفية قابلة للتوسع، متحدثًا عن التحديات التي تواجه هذا النوع من الأنظمة مع الوقوف حيث التوازن بين الأداء، والمرونة، والصيانة عند العمل مع قواعد البيانات وبناء منطق خوادم يخدم تطبيقات عالية الكفاءة ويوضح قائلًا: هناك العديد من التحديات التي تواجه هذا النوع من الأنظمة و قد يتصور البعض أن المشكلة الوحيدة هي سرعة النظام في الرد على طلبات المستخدمين ولكن الموضوع أكبر من ذلك بكثير ولنوضح مثلا بعض التحديات، ومن بينها التصميم الخاطئ لقاعدة البيانات، فقواعد البيانات تعتبر حجر الأساس في الأنظمة التقنية وقد يؤدي التصميم الخاطئ لجداول البيانات والعلاقات بينها الى بطء في النظام أو مشاكل أخرى قد لا تظهر في الكود البرمجي نفسه إذ إنه وسيلة للإتصال بقاعدة البيانات و استعلام البيانات منها فإذا كانت المشكلة في قاعدة البيانات بالنفس فإن المشكلة تكون أصعب و أعمق إذ إنه يصعب تغيير تصميم قاعدة البيانات تغييرًا جذريًا بعد إطلاق المشروع على عكس الكود فإن تعديله أكثر شيوعًا عادة. أضف إلى ذلك اعتمادية النظام على أنظمة خارجية، وعلى سبيل المثال لنسهل القول، لنضرب مثالًا عمليًا: تخيل أنك تستخدم تطبيقًا معينًا لدفع فواتيرك المختلفة هل تساءلت يوما كيف استطاع هذا التطبيق تجميع فواتيرك كلها في مكان واحد مع أنها تأتي من شركات مختلفة، الإجابة هي أن هذا النظام في الواقع يقوم بعملية اتصال مع خدمات خارجية من أجل جلب بياناتك وهذا من شأنه أن يبطئ النظام أحيانًا في حالة ما كان مثلًا أحد هذه الخدمات الخارجية معطلًا أو يواجه مشكلة فإن تأثيره بالتالي سيمتد ليشمل النظام الأساسي الذي سيكون بطيئًا بدوره لانتظاره جوابًا من النظام الخارجي وهنا تبرز أهمية التصميم الجيد الذي يحمي النظام من أي عوامل خارجية قد تؤثر على أدائه من خلال وضع أسس معينة للتواصل مع الأنظمة الخارجية بحيث لا تؤثر على النظام الأساسي. ويشير اللواتي: يجب ألا نغفل تعقيد النظام، فقد يبدأ النظام بسيطًا ثم مع مرور الوقت وتطور خدمات النظام تتحول الأكواد البرمجية المكتوبة بعشوائية إلى شيء يصعب التعامل معه وصيانته و تطويره لذا من المهم جدًا للتقنيين تعلم أسس التصميم الجيد للكود البرمجي لبناء نظام مرن يتعامل مع عدد كبير من المستخدمين و في نفس الوقت يكون قابلًا للصيانة و التطوير بسهولة.
ويتطرق اللواتي إلى اهتمامه بالرياضيات والبرمجة التنافسية، الذي شكل جانبًا مهمًا من مساره العلمي والعملي ما أسهم في تشكيل طريقة تفكيره كمبرمج، كما يوضح ضرورة إتقان هياكل البيانات والخوارزميات لحل التحديات التقنية المعقدة ويبّين قائلا: تعد رياضات البرمجة والبرمجة التنافسية من الأمور المهمة لفهم عمق البرمجة وطبيعة عمل الكود البرمجي كما أنها تعطيك الأساس الصلب لعملية التفكير المنطقي ومهارة حل المشكلات وقبل الإجابة على السؤال نريد توضيح معنى البرمجة التنافسية. الفكرة باختصار أنها رياضة ذهنية حيث يتم عمل مسابقات (فردية أو جماعية ) و يتم إعطاء مجموعة من المشاكل التي تتطلب تفكيرًا استراتيجيًا للمتسابقين و المطلوب منهم تصميم حل لهذه المشكلات عن طريقة كتابة برنامج ينفذ الحل ثم يفوز الفريق أو الشخص الذي حل أكبر عدد من المشكلات في وقت زمني معين و يشترط لصحة الحل أيضا أن يكون البرنامج المصمم ذو كفاءة عالية بمعنى أنه يجب أن لا يستغرق هذا البرنامج وقتًا طويلًا في تنفيذ العمليات عندما يبدأ تشغيله و أن لا يتجاوز زمنًا معينًا يتم تحديده في المشكلة و إذا تجاوز البرنامج هذا الوقت فإن الحل لا يحسب صحيحًا حتى و إن أدى المهمة بنجاح و هنا تظهر أهمية هذا النوع من المسابقات الذي يوظف فيه الشخص مهاراته في التفكير المنطقي باستخدام الأدوات المختلفة التي يعرفها كهياكل البيانات المختلفة أو الخوارزميات أولًا ثم تحويل الفكرة إلى برنامج كامل.
وأضاف: ينعكس الاهتمام بهذا النوع من المسابقات جليًا في طريقة التفكير كمبرمج في سوق العمل في جوانب كثيرة فمثلا يكون لدى المبرمج حس قوي بتعقيد الكود الذي يكبته و الوقت المتوقع استغراقه عندما يعمل النظام مما يمكنه من بناء نظام ذو كفاءة عالية وتوقع المشاكل قبل حصولها، كما أنه يميز المبرمج من ناحية تصميم الحلول و كيفية بناء نظام معين لأنه قد تعوّد على حل مشاكل كثيرة في المسابقات وفي نفس الوقت يكون لديه صرامة عالية في التعامل مع الشروط و الحالات النادرة التي قد تحصل في النظام فيكون قد صمم نظامًا يحمي نفسه من هذه الحالات وهذا أيضًا بسبب تعوده على التفكير في مسابقات البرمجة و التي عادة ما تكون المشاكل فيها مصممة لتحدي المتسابق لأقصى حد من خلال وضع مشكلات فيها الكثير من الشروط و الحالات.
