الرئيسية      عني      أعمالي      السيرة      صوري      اتصل بي

20 نصيحة في البرمجة

البرمجة هي إما قصة عشقٍ أو كابوسٌ مرعب, وذلك لأسبابٍ معدودة فمنها أن لا يميل لها البعض من نواحي نفسية وهذا أمر مفروغٌ منه, ولكن بشكلٍ عام يأتي ذلك نتيجة ما يتم جمعه من أفكار ومعلومات للمرة الأولى فتكون إما صحيحة وسهل التعامل معها فتحفز وتشجع وتحبب أو معلومات خاطئة يصعب فهمها فتشتت وتحبط وتخوِف, فيجب أن نحرص على ادخال المعلومات الصحيحة وقرائتها بصورة سليمة, وهنا أحببت أن اطرح 20 نصيحة مفيدة فيما يتعلق بالبرمجة بشكل عام جمعتها في فترات برمجتي عندما لاحظتها وتعلمت منها بعد خبرة دامت أكثر من 10 سنوات ولله الحمد أترككم مع النصائح السريعة :-

  1. لا تحتاج إلى تعقيدات

    من مزايا البرمجة انك لا تحتاج إلى أن تاخذ شهادة أو أن تذهب إلى مقر عمل أو حتى إلى أي معدات إضافية فكل ما تحتاجه هو جهاز حاسب شخصي.

  2. حب الصنعة

    لابد أن تجد اهتواء وشغف للبرمجة لأنك ستحتاج أن تجلس أوقات طويلة تتعلم وتطبق لتكتسب الخبرة والمهارات اللازمة فإذا كان الأمر مجرد عمل تنجزه من دون أن تشعر بالاستمتاع ستواجه مشاكل في اكتساب المهارات والخبرة المطلوبة لتنفيذ المشاريع الكبيرة , بعكس عندما تحب ما تعمل ستشعر أنك تلعب وتستمع , كما يقال إذا كنت تعمل على شيء تحبه فستعمل 24/7 بلا كلل ولا ملل.

  3. اختر أي لغة برمجة تناسب توجهك

    البعض قد يقرأ في البداية كثير من النقاشات التي ترجح لغة ما عن لغة أخرى ولا يدري من أين يبدأ فأقول له كل لغات البرمجة المشهورة ممتازة ومفيدة فلا تشغل نفسك كثيراً بما هي اللغة الأفضل بل اختر اللغة التي تريد ان تتقنها وتريد ان تعمل عليها وستنجح بإذن الله تقنياً ومهنياً.
    أنصحك أن لا تهتم في كلام الغير عن صعوبة أي لغة بعض اللغات قد تكون أصعب من الأخرى ولكن ليس المهم صعوبتها بل المهم هل هي ستفيدك أم لا, لأن صعوبة الشيء سيكون كشرب كأس من الماء اذا تعلمته ومارسته.
    ولا يعني التخصص في تعلم لغة ما أن لا تتعلم لغة غيرها بل إن كنت تستطيع فتعلم لغة إضافية خصوصاً إذا كنت ترى أنك تحتاجها وستفيدك في توجهك الحالي أو الجديد ولكن حاول أن لا تأخذ من كل بحر قطرة بل حاول أن تتقن عملك, وهنا أمثلة على لغات برمجة مشهورة لأرشدك بشكل واضح وحيث من خلالها تستطيع فهم ما يجب عليك اختياره سواء لغة برمجة واحدة أو أكثر :

    لغات برمجة تعمل في (جهة الخادم) للمواقع وتطبيقات الويب (Server-Side) :

    –  PHP و C# و Python و Ruby و JSP  و Visual Basic … ألخ

    لغة برمجة تعمل بجانب العميل (Client-Side) :

    – JavaScript

    لغات تصميم صفحات الويب (ليست لغة برمجية) لكنها لغة أخرى والوصف مع الاسم :

    – HTML (لغة التوصيف)

    – CSS (لغة الأنماط)

    لغات برمجة تطبيقات الأجهزة الذكية (Smart Phone & Tablet Applications Programming) :

    – للأندرويد : Java

    – للأيفون : Objective-C و Swift

    – للويندوز فون : C# أو Visual Basic

    – يمكن عمل تطبيقات للأجهزة الذكية من خلال JavaScript ولغات التصميم وأحد لغات برمجة الخادم لتطبيقات الويب السابق ذكرها وذلك من خلال إطر عمل مثل إطار عمل PhoneGap ومن مزايا هذه الطريقة هي البرمجة مرة واحدة للتطبيق ليعمل على أكثر من نظام تشغيل يسمى Cross Platform وعند تنفيذ التطبيق سيمكنك نشره على متاجر الأجهزة الذكية للأندرويد Google Play وللأيفون App Store وحتى متجر الويندوز فون وكذلك لمتجر أجهزة البلاك بيري.

    لغات برمجة سطح المكتب (Desktop Applications Programming)

    وهي اللغات التي من شأنها عمل برامج في أجهزة الحاسب الكبيرة مثل الجهاز الشخصي والجهاز المحمول بأنواع أنظمة تشغيلها (ويندوز , لينكس , ماك )

    – Java, C/C++, C#, Visual Basic, Objective-C / Cocoa

    وهناك مقاييس لمعرفة ترتيب أفضل اللغات ومن ضمن هذه المقاييس (أشهر لغة يتكلم عنها ويستخدمها الناس, ومعدل الراتب لكل لغة, …) وهناك مقاييس أخرى كثيرة كمثال أفضل لغة مناسبة للعمل في شركة بالسعودية وهذا الأمر يختلف لأن الإنترنت عالمي فالمقياس قد يناسب دول أخرى وبينما في دولة ما المطلوب لغة أخرى, وهذه مواقع تطلعك على ترتيب اللغات : Programming Language Popularity, Boot Camps, Life Hacker, Stack Overflow,Wiki PediaIEEE Spectrum أخيراً لا تعتمد اعتماد كلي عليها ولا تشغل بالك مثل ما ذكرنا انطلق في تعلم اللغة التي ترى انها مناسبة لك وستنجح نجاحاً كبيراً في كل الأحوال بإذن الله إذا اتقنتها وتكفي هذه المعلومات أن تطلعنا على أشهر لغات البرمجة لنطلع على مزايا كل لغة ونختار منها.

  4. تعلم بنفسك

    عندما تريد أن تبدأ في تعلم لغة برمجة لا تحتاج أن تبحث عن معاهد تقدم دورات أو تبحث عن أشخاص لتسألهم بل كل ما عليك هو فقط أن تفتح جوجل وتكتب (دروس “اسم لغة البرمجة”) … مثلاً (دروس PHP) أو (دروس Java) أو أي لغة … وستجد الخطوات الواضحة لتعلمها والأمثلة البسيطة عليها وكذلك في جميع فترات برمجتك حتى عندما تكون مبرمجاً محترفاً فمهارات البحث وإيجاد المعلومات مهمة لتكون مبرمجاً ناجحاً.

  5. الإنجليزية لغة العالم

    عندما تريد أن تكون مبرمجاً “متقدماً” فعليك أن تتعلم اللغة الإنجليزية لأن كثير من الدروس المتقدمة والحلول للمشاكل تجدها بهذه اللغة الأشهر التي يكتب بها جميع الجنسيات ودول العالم, وأنصحك باستخدام مترجم جوجل وأن تجعله مفتوحاً دائما في احد صفحات متصفحك.

  6. الممارسة هي الخبرة

    يعتمد تطورك وخبرتك على ممارستك المستمرة ومتابعة ما يطرح من جديد في اللغة التي تعمل عليها فالتقنية واللغات البرمجية يطرأ عليها تحديثات وتطورات سريعة ويجب عليك ان تؤمن بهذا الشيء وتواكب هذا التطور ويمكنك استخدام خدمة Feedly وإضافة المواقع التي تطرح المواضيع الجديدة في مجالك لتتابعها باستمرار وتذكّر المقولة “No Speed Limit” أي لا يوجد حدود لسرعتك فبإمكانك أن تتعلم الكثير في وقت قصير وهذا يعتمد على سرعتك وجلوسك لوقت أطول لتتعلم وتطبق فتكتسب الخبرة.

  7. اكتسب مزاج عالي

    يشعر المبتدئين عادة بالضيق والإكتئاب عند مواجهة رسالة خطأ واللون الأحمر المخيف لكن في عالم البرمجة ستواجه مشاكل وصعوبات كثيرة فإن كنت شديد التوتر عند حدوث ذلك فستتعب وتفقد تركيزك وقد تقف عن المواصلة, والسر في النجاح هو بالاستمرار والمحاولة من خلال التعلم والتنفيذ مراراً وتكراراً إلى أن تصل إلى النتيجة المطلوبة, ولا تستعجل النتائج فالمشكلة قد تأخذ منك أيام لحلها فلا تيأس وتقف بل استمر حتى تنجح.

  8. المشكلة ليست مشكلة

    حاول أن تفهم بأن المشاكل اللي تواجهك تكسبك الخبرة وتتعلم منها الكثير فحتى لو لم تصل للنتيجة التي تريدها فسوف تستفيد من محاولاتك اكتساب الخبرة, ولا بأس أن تأخذ وقت طويل بالساعات والأيام وأنت تحاول فأنت تتعلم الكثير لأن الطرق التي فشلت فيها هي معلومات ترصد في خبرتك, فكل محاولة فاشلة هي ليست خسارة كما قال مخترع الكهرباء لم أفشل 1000 مرة بل تعلمت 1000 طريقة لا تؤدي إلى النتيجة الصحيحة.

  9. حاول أن تبتكر

    فكر بالحلول والأفكار البرمجية الجديدة وابتكر بنفسك فلديك أدوات وأنت عليك أن تعرف كيف تستفيد منها لتخلق شيء جديداً مفيداً للعالم.

  10. انطلق سريعاً

    لا تتأخر من أجل ان تظهر أفضل نتيجة لبرنامجك منذ البداية بل انتجه بالقدر الكافي المناسب وانشر البرنامج لتصدر منه نسخة أولية (1.0 Version) ولتطور منه إصدارات عديدة في الفترات القادمة حتى يصبح مثالي.

  11. أكل العنب حبة حبة

    في البداية استعرض واختبر كل خطوة برمجية بسيطة إلى أن تتقن البرمجة بشكل أفضل لتستطيع أن تبرمج وتكتب أكواد طويلة دون الحاجة لاختبارها , لأنه قد تواجهك أخطاء كثيرة يصعب عليك معرفة المشكلة إذا لم تختبر كل جزء لوحده في بداية تعلمك.

  12. النظرة الشاملة

    حاول ان تكون لديك رؤية شاملة للبرنامج في مراحل تنفيذه لتوفر حلول تطويرية للمشروع في الفترات القادمة ولكي تمنع المشاكل والثغرات المستقبلية.

  13. التركيز

    اذا كنت تعمل على مهمة ما حاول أن تركز عليها ولا تشتت نفسك بالعمل على شيء آخر قبل أن تنهيها, وعود نفسك على تأجيل ما تود عمله إلى فترة لاحقة وذلك بعد الانتهاء من مهامك الأساسية , كمثالِ بسيط أحياناً وأنت تبحث عن حلول عبر متصفح الإنترنت تظهر لك روابط أو تغريدة مغرية لعمل شيء آخر فتتجه له ويعطلك عن المهمة الأساسية.

  14. المبنى الشاهق عبارة عن أجزاء صغيرة

    جزّء العمل إلى مهام صغيرة حتى لا تتشتت وأنت تعمل على مهمة ما, فعندما تنشأ مهمة صغيرة ستتمكن من انهائها في فترة بسيطة بتركيز عالي, وإن أبتعدت عن جهازك في منتصف المهمة البرمجية وعدت لإكمالها ستحتاج وقتاً وجهداً لتعيد لملمة أفكارك ونصوصك البرمجية التي وصلت إليها بعكس لو عملت على مهمة صغيرة وأنهيتها قبل أن تبتعد عن جهازك , فعندما ترجع لجهازك ستبدأ لعمل مهمة جديدة من الصفر بعقل صافي.

  15. بيئتك تساعدك

    بيئة العمل تساعد على الإنتاج فعندما يكون المكتب ومقعد الكرسي مريحاً وجميلاً, وجهازك الحاسب بمواصفات عالية, وإنارة وتكييف الغرفة مناسبة, سيسهم ذلك في زيادة تركيزك ومضاعفة إنتاجيتك, وهنا مقالة خاصة بما يتعلق ببيئة العمل كتبتها سابقاً أرجو أن تكون مفيدة لك (مكاتب عمل للعمل).

  16. الجُود بالموجود

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

  17. كن مدرساً

    علم غيرك سواءً كان ذلك بطرح دروس أو فوائد برمجية من خلال نشرها بأحد المواقع الإلكترونية (وإن كانت مشهورة أفضل) أو من خلال طرح دورات تعليمية سواءً كانت دورة افتراضية عن بعد أو دورة حية وسواء كانت مجانية أو بتكلفة مادية , وحاول أن تقوم بعمل كتاباً , أو حتى تشرح جزئية ما لأي شخص, لأن ذلك يُرسّخ لك المفاهيم ويكسبك الخبرة المتقدمة, كذلك هناك إضافة مهمة أنت لست معصوم من الخطأ فقد تكون تنشر معلومات ويصحح لك أحداً ما أو يذكر لك طريقة أفضل فتكون قد تعلمت شيءً مهماً لم تكن لتتعلمه لو لم تطرحه على آخرين, وكما أن المعلومات التي لديك لم تكتسبها من الفراغ بل تعلمتها من مبرمج آخر فلذلك حاول أن تعطي ولو بالقليل في نشر العلم, وخصوصاً بالمشاركة التطوعية ونشر الفائدة من أجل كسب دعوات صادقة وأجراً عظيماً في مساعدتك للغير.

  18. كن معهم

    صاحب المبرمجين وانضم للمجتمعات التقنية واشترك مع المتميزين, فكل ما كنت قريباً منهم كل ما تعلمت واستفدت منهم واستمتعت معهم وذلك بسبب مصاحبتك لأشخاص يهتمون في نفس مجالك واهتماماتك ويفكرون بمثل تفكيرك.

  19. لا تحكر نفسك في البرمجة فقط

    تعلم مهارات في كل من الأمور التي تساعدك في حياتك ومهنتك مثل :

    – إدارة المشاريع

    – العمل الجماعي

    – إدارة العمل

    – إدارة المهام

    – تطوير الذات

    – إدارة الوقت

    – تنظيم حياتك

    – ترتيب أولوياتك

    – التعامل الراقي

    – الإلقاء المحترف

    – الكتابة المميزة

    – الرسائل الاحترافية

    – تحسين العلاقات الاجتماعية

    – ريادة الأعمال

    … ألخ

    وأي مهارات إضافية مفيدة ستساعدك بلا شك في النجاح أكثر.

  20. خصص أوقات للاستمتاع

    اجعل لك أوقات كافية للاستمتاع مع الأسرة والأصدقاء وخصص أوقاتاً مناسبة للأنشطة الرياضية وذلك لأن الإدمان على العمل له آثاراً سلبية في حياتك النفسية والصحية والاجتماعية, وذلك لتعود إلى عملك بنشاط وحماس وتركيز أكبر, فلذلك حاول أن تمارس أنشطة ممتعة ومسلية بأوقات مختلفة في الأسبوع , وحتى في العمل سواءً مع فريق العمل أو في إجتماعك مع عميل حاول أن تكون أكثر مرحاً , وحتى يساعدك ذلك في الجوانب التي ذكرناها آنِفاً, وكما سيساعدك ذلك بإعجاب الفريق والعملاء بك ويؤثر في نظرة الآخرين لشخصيتك بشكل إيجابي.

أخيراً أرحب بأي اسئلة

وإذا كانت لديك إضافة ونصيحة أخرى حبذا لوتشاركنا بها …

  تاريخ النشر   28/11/2014    
  مرات المشاهدة   58,763