كثير ما اسمع ان البرمجة سهلة و لا تحتاج الى ذكاء و ان كل هذا الانطباع من صنع الافلام بتصويرهم للمبرمجين كاناس خارقين(و انا اقر بوجود مبالغات بالاعلام)

بالبداية برمجة امور بسيطة قد يكون هذا الكلام صحيح اي انها ليست صعبة و لا تحتاج الى ذكاء

و لكن البرمجة الاحترافية ليست سهلة و تتطلب قدر من الذكاء

البرمجة ليست مجرد معرفة كيفية كتابة البرنامج و نسخ بعض الاكواد من هنا و هناك

البرمجة الاحترافية بحاجة لعقل لديه القدرة على التخيل و التحليل(جيد بالرياضيات) بدون هذه القدرة لن يكون الشخص قادر على تمثيل المشاكل المعقدة, كيف سينشيء حلول برمجية و هو غير قادر فهم المشكلة بالشكل الصحيح!

ثانيا البرمجة الاحترافية تتطلب دراية كبيرة بالتعامل مع الهاردوير و مع انظمة التشغيل اي هناك حاجة لدراسة معمارية الحاسوب و دراسة انظمة التشغيل, بالاضافة لوجود دراية كبيرة بشبكات الحاسوب لو كان البرنامج يستخدم الشبكات

ثالثا البرمجة الاحترافية تتطلب معرفة نظرية في كتابة الكود باحترافية(مجال هندسة البرمجيات) اي كتابة الكود بحيث يتطلب اقل موارد ممكنة و كتابته بطريقة تضمن تتبع الاخطاء و امكانية كتابة الكود لتجعله سهلا للترقية و التطوير و اصلاح الاخطاء.