أصبح وجود المبرمج المحترف الذى يصلح أن يطلق عليه هذا اللقب نادرا جدا
خاصة فى تلك الأوقات وذلك لسعى الجميع وراء المكاسب الماديه وعدم سعيهم الى
الاحتراف .
فأصبح من يقوم بتعلم لغة ما برمجيه يطلق على نفسه مبرمجا محترفا متجاهلا
المعايير التى يجب أن يأخد بها لكى يطلق على نفسه مبرمجا محترفا .
يستحضرنى موقف ضحكت عليه كثيرا وهو شخص أطلق على نفسه مبرمجا عندما قام
ببرمجه قطعتان من الماكرو .فهو أطلق على نفسه مبرمجا لمجرد كتابته لقطعتان
من الماكرو وعندما سألته هل تنوى ان تتعلم لغات أخرى رد على بثقه شديده
وقال : " لقد وصلت الى البرمجه الى هذا بدرجة الاحتراف ولا أريد درجه اعلى
منها ".
يجب العلم أن مجال العمل الخاص بك كمبرمج لن يتيح العمل لك باللقب الذى
تخصصه أنت ولكن باللقب الذى سيعطيه لك صاحب العمل فهم على الأقل يعلمون من
يريدون .
فاطلاقك على نفسك لقب مبرمجا محترفا يجب عليك أن تحتفظ به لذاتك فقط ودع
الآخرون يقيمون عملك ويقدرونك اذا كنت مبرمجا محترفا أم تحتاج الى المزيد
لكى تكون محترفا .
اذا قمنا بتحديد السمات الأساسيه للمبرمج المحترف سنجدها كما يلى :
1- يستخدم أسلوب حل المشاكل لحل أى مشكله برمجيه تقف امامه ويتتبع أقصر
الطرق لكتابة الكود البرمجى الذى يريده فلا يوجد أى داعى لتعقيد الأسطر
البرمجيه الخاصه بك فهى فى البدايه والنهايه لك فجعلها بسيطه يسهل عليك
عملية تديلها واضافة المزيد من الخواص لها .
2- لا يقتصر علمه على لغه واحده فقط فطالما هو مبرمج هو يتعلم لغات أكثر
وأكثر فهو على على ودرايه تامه أن الانتقال من لغة برمجه الى لغة أخرى هو
أمر فى غاية السهوله ولا يحتاج الى وقت كبير مقارنه بتعلم لغة برمجه من
البدايه .
3- يعلم ما هى لغة الآله وما هى اللغه الأصل للغه التى يستخدمها فهو على
علم ودرايه أنه لن يستخدم لغة الآله فى عمله ولكنها تعمل على توسيع مداركه
وفهمه لطبيعة عمله كمبرمج فمثلا اذا كنت مبرمجا بلغة الكوبول أو لغة
الفيجوال بيسك فدرايتك بلغة الآله هو أمر ثانوى بالنسبه لك ولكنه سيعنى
كثيرا من التغيرات بالنسبه بينك وبالنسبه لأى مبرمج آخر . واذا كنت مبرمجا
بلغة php فالمصدر الأصلى لها مكتوب بلغة السى والسى ++ ودرايتك وعلمك بتلك
اللغتان يعنى بعض التغيرات بينك وبين المبرمج التى لا يعلمهم . فأنت بذلك
تقوم بتوسيع مداركك كمبرمج وتوسيع دائرة تفكيرك فى طرق حل المشاكل وتعطى لك
الاحساس بما يحث داخل الآله عند تنفيذ برنامجك .
4- يتعامل المبرمج المحترف بشكل مألوف مع عدد من الأدوات والطرق البرمجيه
وعلى قدرة تامه لاختيار أفضل الأدوات لكل وظيفه يريد أن يطبقها وعلى
استعداد تام لتعلم الجديد من الأدوات والطرق اذا استدعى أمره لذلك .
5- "كافة الطرق تؤدى الى روما" كما قلنا أن المبرمج المحترف يتبع أقصر
الطرق فلا يوجد أى مانع من استخدام الأكواد الجاهزه فى تطبيقاته فهى تقوم
بانجاز العمليه المطلوبه فى وقت قصير وكفائه عاليه فلا مانع من استخدام
الكلاسس الجاهزه أو استخدام الأدوات الجاهزه المنتشره بكثره . فالمبرمج
المحترف لا يتعب نفسه بكتابة الكود البرمجى كاملا من الألف الى الياء ولكنه
كما قلنا يتبع أقصر الطرق .
6- كمبرمج محترف تعلم لغة برمجه جديده أو تعلم أداه جديده أو طريقة جديده
من طرق البرمجه لشئ معين يجب أن يكون عادة يوميه أو عادة متكرره بشكل
متتابع لا ينقطع ويجب عليك أيضا كمبرمج محترف ان تقوم باسترجاع ما قمت
بتعلمه قبل ذلك بصفه دوريه واتخاذ بعض النقاط الخاصه بك للرجوع لها مره
أخرى وعملها كملاحظات فى دفتر يختص بك يمكنك الرجوع اليها عند احتياجك لها
أثناء عملك .
7- " العلم بالشئ أفضل من الجهل به " كثيرا من مبرمجى ميكروسوفت لا يملكون
أى أدنى معلومات عن أنظمة اللينكس وأيضا كثيرا من مبرمجى البى اتش بى لا
يملكون أدنى معلومات عن لغة asp او asp.net وكذلك كثيرا من مبرمجى php لا
يعلمون Object Oriented Scripting وكيف هى بدرجه عاليه من السهوله وقادره
أن تختصر الوصت بدرجه عاليه .
8- مبرمجى لغات المصدر المفتوح هم أكثر تفتحا من مبرمجى لغات المصدر
المدفوع ففى لغات المصدر المفتوح كل شئ هو واضح ومفتوح وكثير من المبرمجين
يفضلون هذا النوع عن غيره .
9- أعلم دائما أن الله مطلع عليك وأن ما توفيق لك الا بيد الله فأطع الله
وحافظ أن تكون علاقتك به بشئ من الاتصال الدائم بدون انقطاع وراع وجه الله
فى عملك ولا تعمل أى شئ يغضبه
أرجو أن أكون قد أوضحت صفات المبرمج المحترف