هذا السؤال كثيرا ما يتساءله البعض ، هل هذا الشخص حقا مهندس حاسوب ، وهل هذا الشخص مبرمج أو مطور حقيقي، وهنالك في الحياة العديد من الأمثلة تحتاج إلى إجابة.
من خلال تعاملي مع شريحة واسعة من مستخدمي وخبراء تكنولوجيا المعلومات ، وجدت العجب العجاب ، فقد شاهدت مهندسي حاسوب ومن الأوائل على دفعاتهم، لا يعرفون كيف يستخدمون برنامج الرسام ، أو يعتقدون أن متصفح الإنترنت إكسبلورر هو الإنترنت ! ، بل ولا يفقهون في الإنترنت إلا اسمه ، وهنالك أشياء عجيبة وغريبة كنت أستغربها من مهندسين حاسوب كانوا يعتبرون النخبة في جامعاتهم.
وفي المقابل ، تعرفت على العديد من غير دارسي الحاسوب في الجامعات ( الهواة كم يسمونهم الدارسون ) ، وقد كانوا من أمهر من تعرفت عليهم ، ولا تعرف أنهم ( هواة ) إلا إذا شخص ما أخبرك بهذا.
السؤال هنا ما الذي يجعل هذا مهندس حاسوب ، وهذا ليس مهندس حاسوب ؟
هل هي الشهادة ؟
ففي سورة الكهف أرسل الله سيدنا موسى إلى الخضر ، وسيدنا موسى عند الله من أولي العزم من الرسل وهو أعلى درجة ومرتبة ، وأرسله الله ليتعلم من سيدنا الخضر فقد كان سيدنا الخضر لا يحمل شهادة النبوة ولكن الله فتح عليه بعلم لا يعلمه سيدنا موسى.
هل إذا أردت التعامل مع شخص مثلا ليقوم ببرمجة برنامج أو موقع ، هل تذهب للشخص ذا الخبرة ولو لم يكن ذا شهادة ، أم تذهب لمهندس ذا شهادة ولو لم يكن يفقه في برمجة الموقع أو البرنامج ؟.
السؤال هنا واضح والهدف منه حث المهندسين على العمل وعدم النوم والإعتماد كليا على الدراسة الجامعية.، بل والتصديق بأن بواسطة الشهادة الجامعية والعلم الجامعي القليل أمسوا لا أحد يلحق بهم.
ولكن كيف تعرف نفسك أنك مهندس أو مبرمج ؟.
لا أريد أن يكون رأي ساذج من وجهة نظركم ، ولكنني بعد ملاحظات عديدة عرفت من هو المهندس، والأمر يعتمد على تطبيق منطق الهندسة في الحياة العملية ، فاستعدوا للمفاجأة
مهندس الحاسوب هو الشخص الذي يضغط الملفات !!!!!!!!!!.
نعم هو الشخص الذي عندما يرسل لك ملف عبر البريد حجمه 4 ميغا ، يقوم بضغطه وإرساله ليصبح حجمه 200 كيلو.
هو الشخص الذي يرسل 10 آلاف ملف على ذاكرة الفلاش ويعمل لها ضغط تخزين ، ولا يرسلها كما هي حتى لا يبقى ينسخ بها ساعات.
المقصد هو أن مهندس الحاسوب يعرف هذه الأولويات والبديهيات، مثلا كأن تقول لي مهندس حاسوب لا يعرف برامج الضغط أو برامج الحاسوب ، هو مهندس فقط يفهم في تصميم الدوائر الكهربائية في وحدة الحساب والمنطق في وحدة المعالجة المركزية ( على مين هالفيلم هذا ، ما تحسسني إنك مصدقه ) .
مرة أخرى ما أقصده هو أن مهندس الحاسوب الذي لا يعرف كيف يستخدم الحاسوب ليس بمهندس حاسوب، ولا تقل لي أنا محترف برمجة على الدوس، أو مهندس متفهم جدا في أمن وحماية المعلومات عبر الإنترنت وأنت لم تفتح إنترنت طوال حياتك، أو تخبر الناس بأنك قد حصلت في مادة الذكاء الصناعي أو قواعد البيانات على درجة 99 % وأنت لم تفتح في حياتك قاعدة بيانات ولا تعرف لماذا تستخدم.
ولكن ماذا عن المبرمج الحقيقي أو المطور الحقيقي ، فنفس الإجابة ، لا تخبرني أنك عرفت كودين برمجيين فأصبحت ملك المبرمجين، وهذا ما يحدث في كثير من المواقف.
تجد المهندس أو الهاوي أخذ مادة جامعية برمجية أو دورة برمجية ، فأصبح يملك الدنيا في هذه اللغة وأصبح يبحث عن الوظيفة في هذه اللغة ، والحقيقة أنه لا يعرف أن يفعل أي شيء في بها والأمثلة في حياتي كثيرة ، ومن الأمثلة ما يجعل مرارة الإنسان ( تفقع ) من سذاجة البعض.
إذا أردت أن تحكم على نفسك بأنك مبرمج ، لا تقس بكثرة حفظك للأكواد البرمجية ، ولكن قسها على مدى قدرتك من إيجاد حلول في تلك اللغة البرمجية ، فمثلا أنت لديك مشكلة معينة في حذف ملفات معينة ذات إمتداد معين ، فعندها سيقوم عقلك الفذ بالتفكير وكتابة كود فني وسريع يحل لك المشكلة، ولا داعي لأن تضيع ساعات وأنت تحذف في هذه الملفات.
مثلا لديك مشكلة في إضافة بادئة نصية على مجموعة من السطور او البنود يزيد عددها عن الألف ، فلو بدأت يدويا في إضافة البادئة ستستغرق وقتا طويلا ، ولكن لو فكرت في حل برمجي، فستجد أنه سهل
مصفوفة تقوم بتقسيم النص الأساسي إلى عناصر حسب الفاصل بين البنود الأساسية ( مثلا سطر جديد )
تقوم بعمل تكرار على المصفوفة
تقوم بإضافة البادئة على كل عنصر من المصفوفة
تقوم بربط عناصر المصفوفة مرة أخرى بواسة سطر جديد وتخرجه في نص ، أو في الخطوة السابقة تخزن المخرجات في متغير نصي وليس في عناصر المصفوفة
العملية لم تستغرق 5 دقائق ، ولكنك استخدمت علمك في حل مشكلتك، إذا فعلت هذا مرة في حياتك فأنت – في نظري – مبرمج من الدرجة الأولى في لغتك.
وهذا يدعو إلى نوع من التواضع ، فلا تقل أبدأ أنني قد ختمت العلم ، أو وصلت لدرجة الاحتراف أو التي لا يلحقني أحد بها ، فدائما في مجالك البرمجي أو الهندسي عليك أن تطور نفسك وتحدثها، وألا تعتبر غيرك أنهم دونك.