توقف عن قراءة هذه المدونة وتعلم شيئا

تطوير البرمجيات مجال رائع لكي تكون مبتدئا فيه. ربما أكثر من أي تخصص آخر ، هنالك ثروة من المعلومات المتاحة مجانا علي الويب.

توقف عن قراءة هذه المدونة وتعلم شيئا

” تدوينة اليوم هي ترجمة من الإنجليزية لمقال شيق ومفيد قرأته.

المقال لمبرمج مخضرم يبين فيه رؤيته في أساليب التعلم وإكتساب المهارات البرمجية ويوضح الأخطاء الشائعة في طرق معظم المبتدئين ويقترح نموذجاّ أفضل للتعلم. الكاتب هو مبرمج يدعي "أفدي غريم" وهو من الأعضاء الفاعلين في مجتمع لغة روبي. يمكنك الإطلاع علي التدوينة الأصلية لأفدي علي مدونته هنا. إليكم المقال باللغة العربية وأرجو منكم المعذرة إذا لم أوفق إلي الترجمة الجيدة في بعض الأجزاء.“

تطوير البرمجيات مجال رائع لكي تكون مبتدئا فيه. ربما أكثر من أي تخصص آخر ، هنالك ثروة من المعلومات المتاحة مجانا علي الويب.

أي شئ إبتداء من كورسات أساسيات عاوم الحاسوب، إلي مجموعات مذكرات التعلم ليلة بليلة لإحتراف البرمجة وحتي ملايين الملايين من أسطر الكود مفتوح المصدر المتاح مجانا للقراءة.

للأسف، هذه النعمة يمكن أن تصير نقمة بأن تصبح عائقا مثلما أن تكون خطوة إنطلاق. إذ في نفس الوقت الذي يمكن أن تتعلم الكثير من هذا الدفق الهائل من المعلومات يمكنك أيضا أن تضيع قدرا كبيرا من الوقت بدون مردود ملحوظ. شخصياّ فإنني في الغالب قد أضعت آلاف الساعات علي مر السنين بهذه الطريقة، وفقط مؤخراّ تمكنت من تعريف النمط المسبب لهذه الخسارة في الوقت.

أأمل بكتابتي هذه أن أساعدك في تجنب الأخطاء التي وقعت فيها. يبدو النمط كما يلي:

  • ياإلهي ... إن أدوات البرمجة علي الويب رااائعة ، لابد من أن أتقن أحادها !!! هممم ، دعنا نري ... لكي أتمكن من البرمجة علي الويب يجب أن أتعلم لغة برمجة مناسبة ومخصصة لذلك، لاأريد أن أعلق بلغة سيئة، لذا يجب أن أختار أفضل واحدة بإجراء بحث عام عن كل لغات الويب.

(بذل 3 شهور في القراءة عن: perl, python, ruby and php وربما تجربة كتابة برامج : “hello world”)

  • هممم ... حسناَ ... برنامج “hello world” بلغة “Blub” كان بالتأكيد أفضل من غيره من اللغات، لكن الآن أحتاج أن أختار مجموعة أدوات متكاملة لتنفيذ فكرة التطبيق الرائعة التي خطرت لي ,,, سأشترك في كل المدونات.

(بذل 3 شهور في القراءة المضنية لمقالات مدونات البرمجة علي الويب)

لقد قرأت العديد من المدونات الآن، وفي حين أن معظم المبرمجين يستخدمون “Ruts” ... إلا أنها أصبحت غابرة نوعا ما وبعض المنصات المنافسة تبدو أكثر جاذبية. لقد قرأت كل خفايا تصميمها وعلي الرغم من أني لم أكتب إطلاقا أي برنامج ب “Ruts” ولكني أتفق تماما مع نقدهم لها ... حسنا لن أعلق مع منصة صممت منذ 6 أشهر وعفا عليها الدهر مثل “Ruts” بالتأكيد. يجب علي أيضا أن أتذكر إستخدام "نمط صندوق السلحفاة" الذي يتحدث عنه الجميع في تطبيقي. ولكن مهلاَ !!!! لقد إكتشفوا للتو أن "نمط صندوق السلحفاة" ليس ممتازاَ للتوسع مثل "نمط خرطوم الفيل".

ههه ... ماذا دهاني!! وكيف كنت أفكر بإتباع "نمط صندوق السلحفاة" في حين يوجد حل أفضل مثل "نمط خرطوم الفيل". مهلا مهلا .. يبدو أن "نمط صندوق السلحفاة" يعود مجددا بنسخة محسنة. نعم بالتأكيد هذا هو الحل الأفضل وخصوصا إذا إستعمل بالطريقة الملائمة. ياإلهي !!! ماهذا المجتمع المتذبذب ؟؟ إنهم متقدمون ومحترفون ومن الصعب المواكبة معهم ، متي سأجد وقتا لأكتب برنامجي ؟؟

هممم إن البرمجة لمنصات الهواتف النقال حقا في إذدهار !!!

قد تكون ممن إحترفوا "البرمجة علي الويب" منذ أعوام ولكن إن كنت ماتزال تتعلمها فلابد أنك تتعامل مع إحدي تقنياتها. ربما مثلي أنا مع ال Javascript والبرمجة من جانب المستخدم ، فتكون متأكداّ من أنها تقنية ملائمة لك، وأنت مهتم بالتأكيد بإحترافها وتدرك أنه توجد عدة خيارات يمكنك البدء من أحدها ولكن علي الرغم من الكمية الوافرة من المعلومات المتاحة ... فأنك غير متأكد من أين تبدأ؟؟ بدون مزيد من التسويف إليكم دليلي للبدء في تعلم أي تقنية برمجية جديدة:

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

ضع قائمة بمختلف الخيارات من: اللغات أو المنصات أو المكتبات وماشابه. إختر "الأكثر شعبية منها" ، ويمكنك معرفة ذلك ب:

كثافة وحيوية ال: القوائم البريدية، قنوات ال IRC ، المنتديات المخصصة حصريا لها بحيث عندما يسأل المبتدؤون يجدون من يجيبهم يوجد كتاب واحد علي الأقل ذو سمعة جيدة.

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

توفر مجموعة مستخدمين حيوية تجتمع دورياَ في مكان ليس ببعيد عنك.

توفر مجموعة ولو قليلة من المحترفين والمتقدمين في مجتمع التقنية المعينة.

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

إنضم إلي مجموعة مستخدمين وكن فاعلا، ستحتاج هؤلاء الناس.

إشتر وإقرأ كتابا عن المجال، نعم كتاب حقيقي ولايهم إن كان علي جهاز ال IPAD الخص بك أو كتابا ورقيا. للكتب خصائص عديدة تفتقر إليها الوسائل الأخري غلي الويب: الشمولية، حيث أن السلاسل التعليمية المجانية علي ويب غالبا ماتحوي فراغات من نوع: "يكمل لاحقا" وقد يحدث أن تتوقف فجأة في المنتصف. تركز عادة علي "الأساسيات" ولاتهتم بالأساليب الذكية لإنجاز المهمام، وأنت الآن تحتاج "للأساسيات". لديها هيكل، وأنت الآن بحاجة لهيكل واضح. مؤلفو الكتب عادة مايضعون أمثلة وفي حسبانهم أن القراء سيقومون بتجربتها مما يجعلها مكتملة ومجربة للعمل بفعالية. بها القليل من الروابط مما يعني القليل من التشتت في صفحات وصفحات بعيدا عن هدفك الأساسي.

الآن، قم بإستخدام ماتعلمته في مشروع ولكن رجاءااااا لاتقم بذلك في مشروع تجاري إلا إذا أوضحت لموظفك صراحة أنك لم تجرب هذه التقنية من قبل وأنك غالبا ماستفشل في البدء وتعيد البدء مجددا. وإلا ، قم بإستخدامها في مشروع شخصي، مشروع شخصي صغير.

عندما تواجه مشاكل، ‘سأل وأتشير أولئك الناس في مجموعات المستخدمين والمنتديات، أنت تواظب عليها كما إتفقنا ... أليس كذلك؟؟

تهانينا ... لديك الآن بدايات المعرفة والإحاطة بهذه التقنية. وجميع الحوارت النظرية التي قرأتها مسبقا سواء في نقدها أو الإشادة بها لم تعد نظرية أو أكادمية إليك بل حقيقية ولتجارب مررت بها شخصياّ. بالنظرة الجديدة التي صارت عندك، قم بمراجعة مجموعة الخيارات في (2) أعلاه وأعد التقييم. تفحص مشروعك مجددا، وبتقييمك الأفضل للأدوات تعرف الأنسب لمتطلبات المشروع. يمكنك الآن قراءة المدونات أو التمارين علي الويب أو مابدا لك فلايوجد سبب مانع الآن.

سيكون هذا هو نمطي من الآن فصاعدا وسألتزم به. إذا قررت أن تجربه معي رجاء أطلعني كيف سارت الأمور معك