بدايةً ، أعترف بأنّ هذا المقال سوف لن يحوي على أفكارٍ ” متقولبة ” من كتبٍ أو مقالاتٍ قرأتها ، ببساطة أنا لم أقرأ أبدًا أيّة كتبٍ في هذا الموضوع ، لكنّ تخصصي الأكاديميّ ” هندسة البرمجيّات ” قد يشفع لي التحدّث في موضوعٍ كهذا .
ثمّ إنّي أؤمن بأنّ البرمجة فنّ وفلسفة .. والفنّ لا يمكن تعلّمه بقراءة الكتب وحسب ، إنّه شيءٌ روحيّ وعقليّ ، كلّ إنسانٍ له بصمته وطريقته الخاصّة في ممارسة هذا الفنّ ، لا يمكن تحديد نقاط معيّنة وتقييد الآخرين بها – كما تفعل هندسة البرمجيّات نفسها أحيانًا – لكنّي أعتقد أيضًا أنّ فهم فلسفة البرمجة ودراسة طرقها ومبادئها أهمّ بكثيرٍ من تعلّم الأكواد البرمجيّة !
.كيف أصبح مبرمجًا ؟ من أين أبدأ ؟ ما هي اللغة الَّتي تنصحينني بالبدء بها ؟يجب عليك أن تزيل كلّ الترسّبات الفكريّة الخاطئة الَّتي تخبرك بأنّ إتقان البرمجة هو إتقان كتابة الأوامر بإحدى لغاتها .. هذا خطأ !
البرمجة مثل الشعر ، أن تكون لديك حصيلةٌ لغويّة كبيرة وأن تحفظ عددًا لا يُحصى من المفردات العربيّة قد يساعدك على التبحّر في آدابها ، لكنّه لن يحوّلك إلى شاعر !
هناك فرق كبير بين البرمجة كممارسة ذهنية وعقلية وبين كتابة الأوامر في لغة برمجية ، اللغات البرمجيّة – بالذات الحديثة منها – قريبة جدًا من لغة الإنسان العادية ، ومعرفة أساسيات برمجيّة مع اتقانك للغة الانجليزية واستخدامك لبيئة عمل جيدة ، يكفيك لكتابة تطبيقات وبرامج متوسطة المستوى .. لكنّه لن يصنع منك مبرمجًا !
شخصيتك وصفاتك وقدراتك الذهنيّة ، إنّها أوّل ما يجب صقله وتغييره إذا أردتَ أن تصبح مبرمجًا حقيقيًا ، على سبيل المثال مهما كانت حصيلتك العلميّة مرتفعة في البرمجة ، فإنّك لن تصبح مبرمجًا ناجحًا إذا كنت عديم الصبر أو ملولاً يرهقك التفكير بشكلٍ سريع !
برأيي الشخصي ، المبرمج المتفوّق هوَ /
1 : شخصٌ لا يكتفي بإيجاد الحلول للمشاكل ، لكنّه يختار أفضلها ، ليس على المستوى التقني فقط ، إنّما على جميع المستويات الحياتية .
2 : مدركٌ تمامًا للتسارع التقني المجنون ، لذلك هو لا يتذمّر من التطوّر السريع للغات البرمجيّة والتقنيات التي يتعامل معها ويتقبّل الأمر بتحدّي .
3 : تحليلي ، عميق ، لا يكتفي بالنظر إلى سطح المشكلة او الفكرة بل يدرس تفاصيلها الصغيرة الَّتي قد لا ينتبه لها عامّة النّاس .
4 : يفهم طبيعة عمله والجهد الذهني الَّذي يتطلبه ، لذلك هوَ لا يتذمّر أو يُحبط امام الأخطاء والمشاكل الَّتي تواجهه بل يعتبرها جزءاً بديهيًا ومهمًا من عمله .
5 : لديه قدرة على تحويل أفكار الآخرين ومتطلّباتهم إلى أفكارٍ تقنية مجرّدة ، وربّما تكون هذه مسؤولية ” محلل الأنظمة ” أو ” مهندس البرمجيات ” في الشركات البرمجية الضخمة ، لكن على الواقع العملي وبالذات على مستوى الـ Freelancers ، تصبح هذه ” إحدى ” مسؤوليّات المبرمج .
6 : سريع البديهة ، ولنقل أنّه لاقط معلوماتٍ متحرّك ! إذا أعجبه تطبيقٌ مثلاً ، يدرس الخطوات والطرق البرمجيّة الَّتي سلكها مبرمج التطبيق – سواء أكان التطبيق مغلق المصدر أم مفتوحًا - وبالمناسبة قد يستخفّ بهذا الكثير من الأشخاص او يجدون فيه مبالغة لكنّه من أكثر أساليب التعليم الذاتي نجاحًا .
7 : لديه حسّ عالي تجاه ” المخاطر ” وقدرة على إدارتها منذ المراحل الأولى للمشروع للخروج بأقلّ ما يمكن من الأخطاء والمشاكل .
8 : يهتمّ بالعامل الزمني ويتعامل معه بذكاء ، لا يُكلّف نفسه ما لا يطيق من العمل خلال فترة زمنيّة قصيرة ولا يفعل العكس !
9 : له فلسفته البرمجيّة الخاصّة ولا يتكّئ على أفكار وجهود الآخرين تمامًا ، قد يستفيد منها لكن يظلّ له أسلوبه الخاصّ .
10 : يدرك أنّ المعرفة البرمجيّة ليست هدفًا يسعى إليه إذ أنّها معرفةٌ متوسّعة لا حدود لها ، بل يستمرّ بالدراسة والتحصيل المعرفي والتطوير الذاتي أثناء حياته العمليّة .
.
.
أخيرًا ، ما ذكرتُه يعبّر عن وجهة نظر خاصّة جدًّا قد يخالفها الكثيرون ، لكن أتمنى أن أكون قد قدمتُ الفائدة .










النقطة السادسة انا اعتبرها من اهم النقاط
وهي اللي ترفع مهاراتك البرمجية وتطورها
نقاط حقيقية وواقعية
شكراً إحسان
لن تصبح مبرمجًا ناجحًا إذا كنت عديم الصبر أو ملولاً يرهقك التفكير بشكلٍ سريع !
جملة مهمة
والمقال كله رائع وعن جد اختصرتي كلام كثير في 10 نقاط
أحس بعد ما قرأته ارتفعت معنوياتي لأني ناوية أبرمج برنامج صغير عشان
استرجع اللي درسته ومقالك حمسني أبدأ
ما شاء الله مبدعة كعادتكـ
شكرا لك اخي وانا اوافقك الرأي رغم معرفتي البسيطة الا انني وجدت في كلامك ما اقنعني .
جزاك الله خيرا
“على سبيل المثال مهما كانت حصيلتك العلميّة مرتفعة في البرمجة ، فإنّك لن تصبح مبرمجًا ناجحًا إذا كنت عديم الصبر أو ملولاً يرهقك التفكير بشكلٍ سريع !”
كلام جميل وصحيح مئه بالمئه ..
جزاك الله خير علي هذا المقال
السلام عليكم
مقااااال راااائع تشكر عليه
واضح انه ناتج عن خبرة واسعه
أهم شيء في المبرمج أجادة اللغة والقدرة على حل المشكلات وهي مهارة تتطور مع التدريب أما الأخريات فهي مكتسبة من عملة كمبرمج
أأيدك في نقاطك كلها .. وخصوصاً إيجاد أفضل حل من جميع النواحي.. فهذا ما يميز مبرمج عن آخر
دمت بود !
شكرا أخ إحسان
))
معلش في الصفحة الرئيسية لعالم التقنية…….يظهر الأخ سعود هو الكاتب
مقال رائع جدا ً جدا ً جدا ً
اختي احسان اهنئك على انك فعلا ً مبرمجة ناجحه لو كان هذا تفكيرك في البرمجة
كل الي ذكرتيه ممكن نختصره في كلمة ” logic ”
الشخص لو فهم فكرة البرمجة العامة خلاص يعتبر هو مبرمج
كتابه الاكواد ما هي الا عبارة عن ” تنصيص ” للخطوات الي بناها الشخص في ذهنه ,, وهذا يجيب عن السؤال الي دائما ً يسئله المبتدئون في البرمجة ,,
ماهي افضل لغة برمجة ؟
لا يوجد هناك افضل لغة برمجة لكن ماذا انت تريد وماهي الفكرة التي في ذهنك
وتريد تطبيقها ثم تختار اللغة الانسب لتنفيذ فكرتك
^_^
كلامك عام و حقيقة ً لم استفد منه كطالب في تخصص هندسة حاسب و هذه النصائح نستطيع نقولها للمعلم و الجندي و الطباخ واي شخص يجب أن يكون فيه هذا الخصائص .
المقاله عامه جدا و وليست تقنية.
ما هي اللغة الَّتي تنصحينني بالبدء بها ؟
الباين إنكم ماركزتو عليها ” تنصحينني ” يعني إنثى .
…………………………………………………………………………………….
بارك الله فيك ياأختي على المقالة الأكتر من رائعة .
انا طالب في السمسترات الاولى من الـIT ولي الشرف أن أعمل بهده الخطوات
أوفقك الرأي كثيراً لكنني أضيف حسب تجربتي..
أن المبرمج يجب أن يكون على مستوى عالي من المعرفة.. فيجب أن يمارس التصميم ويعرف متطلبات المستخدمين وأيضاً يجب أن تكون لديه معرفة واسعة في مجال قابلية الإستخدام.. والشركة التقنية الناجحة هي من يكون مديرها يحوي على جميع هذه الصفات.. أي بإختصار يجب ان يكون مدير الموقع مبرمجاً ولديه خبرة في مجال قابلية الإستخدام
مقال مميز و جيد جداً ,
شكرا على المجهود
شكرا على النقاط الرائعة التي ذكرتها ولكن ..
هل تؤيد كتابة البرنامج و عمل مسودة على ورقة قبل كتابته باحدى لغات البرمجة ؟
او البدء مباشرة في كتابة البرنامج ثم التعديل و المراجعة اثناء او بعد انتهاء الكتابة ؟
مقالة جميلة فيها نقاط مفيدة ممكن يستفيد منها المبرمج وغير المبرمج ..
لكن يا اخي كيف تكون حصيلته البرمجية عالية ويكون انسان ملول او عديم الصبر (( اعتقد والله اعلم هذا لا يكون إلا ما رحم ربي )) ..
لانه لم يحصل هذا الكم الهائل من المعرفة إلا وانه صبور بدرجة كبيرة جداَ جدا ..
واشكرك على المقالة الرائعة .
جزاكم الله خيرا على النصايح الغالية و ان دلت على شئ فهي دالة على ذكاء صاحبها و انه فاهم برمجة مش حافظ برمجة زي ناس كتير
مجهود رااااااااااااااائع
gwad
فلسفة برمجية موفقة
صدقتِ عزيزتي إحسان ^_^
أؤكد كل ما قلته، خاصة النقطة السادسة
اشكر كاتب التدوينه الرئعة
فعلا نقاط يجب لكل مبرمج ان يهتم بها
نقاط في غاية الاهمية وفكر واع ومستنير