خُذْ نَفَساً عميقاً وركّز جيداً، نملك ساعة واحدة فقط وعلينا استغلالها بحكمة.
3 – 30 دقيقة من الكتابة على لوحة المفاتيح:
إذا كنت قادرًا على كتابة أقل من ثمانين كلمة في الدقيقة، عليك بالتدرّب على الكتابة لمدة نصف ساعة، وإلا فخصّص لها الدقائق الخمس الأولى. إذا كان جهازك mac ستجد برنامج TypeFu للتدرّب. ابدأ بهذا الروتين سيساعدك على تركيز ذهنك في العمل وسيعطيك دافعًا لاستغلال وقتك بشكل أفضل.
دقيقتان للتمرّن على محرر النصوص البرمجية (editor)
خصّص دقيقتين للتدرب عل محرّر النصوص (أي محرر النصوص البرمجية الموجود ضمن بيئة التطوير المتكاملة لديك)، ستجد مثالًا هنا.
ضعْ قائمة بما يمكن لمحرّر النصوص لديك أن يحتوي من ميزات واختصارات تستطيع فهمها، يمكن أن تمضي اليوم الأول في كتابتها. تملك ساعة واحدة فقط، فلا تبددها في أشياء لست قادرًا على فهمها، ابدأ بأمور بسيطة وواضحة مثل؛ الانتقال إلى بداية المستند أو إلى أخره والانتقال بين المقاطع أو الكلمات. تمرّن على 5 – 10 أوامر في كل مرة. وعندما تتقنها جيداً، ابدأ بأوامر جديدة من القائمة، ستزداد قدراتك في التعامل مع المحرّر مع الزمن.
انتبه أيضًا، حاول أن تستبدل الأمور التي تستخدم فيها الفأرة وابحث عن ميزات للمحرر تمكنك من تجنب استخدامها. يستخدم المبرمجون مميزات الحاسوب بذكاء لذا تعلّم جيداً ميزات المحرّر لديك. يمكن لاستخدام الفأرة أثناء كتابة الكود أن يؤخرّك، لذا فإنّ استخدامها يشير إلى ضعف في قدراتك. استغلّ هذا الوقت في بناء خبرة للتعامل مع المحرّر وتقوية مهاراتك في استخدامه.
في الحقيقة، إنّ النقطة الأساسية في البرمجة ليست في التلاعب بالنصوص البرمجية؛ بل تكمن في الطريقة التي ستتفاعل بها مع الأوامر. طريقة كتابتك ستؤثر بشكل كبير على أي شيء ستقوم به، لذا ابدأ كل يوم بدقائق تتمرن فيها على الكتابة وتثبيت هذا في ذهنك. سيكون الأمر صعباً في البداية، لكن ستعتاد أصابعك على العمل بدون التفكير بالأمر بعد فترة قصيرة.
الوقت المتبقي من الساعة : kata
اقضِ الوقت المتبقي في تنفيذ تمارين كاراتيه برمجيّة. إليك مثالًا على تنفيذ هذه التمارين. كما يمكنك أن تجد هنا تمارين إضافة حتى تصبح مُعتادًا على استخدام shell (إن كنت من مستخدمي mac أو linux). ستجد أنه يتطلب أكثر من ساعة لكن بعد التدريب وخاصة عندما يتحسن تعاملك مع المحرر وكتابتك والتفكير في المشكلة ستتمكن من إنهائها خلال 20 دقيقة.
إذا كنت تعمل على لغة Ruby هنا ستجد بعض التمارين: 1، 2، 3
أمّا إذا كنت لا تستخدم لغة Ruby بإمكانك ابتكار تمارين كاتا خاصة بك:
- ابحث عن دروس tutorial حول أمور تريد تعلمّها وتابع المنهجية الموجودة بها.
- في البداية سيتطلب الأمر أكثر من ساعة، قم بأقصى ما يمكنك في اليوم ثم في اليوم التالي اعد الكرّة وتابع بعدها. هذا سيساعدك على تذكر التمرين وفهمك له لذا ستتابع برؤية أوضح.
- ستتقدم كل يوم في الحل، لا تراجع إذا لم يحدث هذا بل عُدْ أقوى في اليوم التالي. ستبدأ بتذكر عمل كل جزء والفهم بشكل أكبر وستتطلب وقت أقل وأخيراً ستنتهي منها.
- الخطوة التالية، بعد الانتهاء سيكون عليك القيام بها لوحدك: أن تتمكن من إعادة كل المثال بدون الرجوع إلى الخطوات التعليمية، في كل مرة تحتاج إلى الرجوع إليها ابدأ من الجزء الأول مجدداً حتى تصل إلى المكان الذي وقفت عنده وقم به دون النظر إلى التعليمات وكرّر العملية إلى أن تتمكن من إنجازها بسلاسة.
- هذا سيجعلك تتذكر الأجزاء المترابطة وتتعلم عن الأخطاء والنواقص في معرفتك.
- عندما تتمكن من العمل بدون الرجوع إلى التعليمات تدرّب على العمل بأقل ما يمكن من الأخطاء هل يمكنك القيام بذلك بدون أي خطأ؟
- ثم تمرن على العمل بأسرع ما يمكن، ماهي الخطوة التي تستهلك وقت أطول؟ هل يوجد شيء من القائمة التي قمت بإعدادها سابقًا لميزات المحرر يمكن أن يساعدك؟ ربما تخصص قضاء وقت بناء مهاراتك في التعامل مع المحرر في اليوم التالي للبحث عن أشياء يمكنك فعلها لتجعل فعالية عملك أكبر.
- ثم تدرب على فعل كل هذا بسرعة وبدون أخطاء.
تمارين كاتا ستساعدك على بناء عدّة مهارات تكون أساسًا ثابتًا تبني عليه المزيد من المعلومات. يمكنك القول أن هذه المهارات “hard skills” هي مهارة تقنية قمت بالتدرب عليها. أيضًا يوجد مهارات “soft skills” تكون أقرب للحدسية وتعتمد على الفهم. بما أننا نملك ساعة واحدة فقط لنركز على بناء مهارات تقنيّة لأنها ستمكنك من فهم المهارات الحدسية soft skills. يبدأ الكثير من الناس في المهارات الحدسية دون معرفة تامة، إذ أنه من السهل قراءة مدوّنة أو كتاب لتظن أنك تعلم الكثير عن البرمجة لكن من الأفضل أن تمضِ هذا الوقت في البرمجة فعليًا. لأي مهارة حدسية يجب عليك التعلّم أولاً لذا ابدأ من تمارين كاتا لتصقل هذه المهارات. هذا سيكون الأساس لفهمك، فمثلاً لا تمضِ وقتك بالقراءة عن الاختبارات أو البرمجة كائنية التوجّه OOP أو Redux أو أي شيء آخر. إذا كنت تريد تعلم هذه الأمور عليك بتحويلها إلى تمرين كاتا، أتقن الخطوات التعليمية ثم انتقل إلى التالي ستجد الكثير من التداخل بين المهارات التي تعلمتها في أحد تمارين كاتا مع التمارين الأُخرى وستصبح أسهل مع الزمن.
قمْ بالرجوع إلى تمارين كاتا بشكل دوري، ستجد أنك لن تحلها بالسهولة التي تتوقعها لكن هذا الأمر عادي ابذل جهدك فإنّك ستعيد إتقانها من جديد. سيكون الجهد المبذول أقل بكثير وربما ستكتشف أفكارًا لم تألفها من قبل، كلّما عدت إلى نفس التمرين سيأخذ منك وقت أقل. هذا ما يعرف “بالتكرار المتباعد” وبعد فترة ستتمكن من العودة وحلها بدون توقف.
اجعل تمرين كاتا القادم مبني على الأمور التي تريد تعلمها أو الأمثلة التعليمة التي تجدها مثيرة للاهتمام.
تعديل الستة أشهر
بعد أن تقوم بهذا لمدة ستة أشهر، ستكون قد حصلت على كمية جيدة من المهارات التقنية لكنك ستفتقد العديد من المهارات الحدسية المهمة لذا:
- في هذه المرحلة اجعل زمن تمرين كاتا 20 دقيقة فقط مما يوفِّر عليك 30 دقيقة في اليوم.
- قم بتمارين كاتا التي أتممتها من قبل لا تقم بتمرين جديد (أو إذا فعلت خذ الساعة كاملة لتتدرب على هذه الكاتا).
- في الـ 30 دقيقة المتبقية جرب البدء بمشروع صغير جديد.
أي مشروع؟ اختر أي فكرة تثير اهتمامك أو تضيف معرفة أو تبدو مشابهة لما تعلمته من خلال تمارين كاتا التي قمت بها حتى الآن. لا تختر شيء تعرف خطوات عمله من البداية، لكن يجب أن تكون عندك فكرة عن طريقة الحل. هذه هي “المنطقة الحلوة” لأن الحل أبعد قليلًا عن معرفتك لذا سيكون عليك التفكير والتعلّم وذلك يعني التقدّم. ولن تقوم بأشياء لا تمتلك فكرة مسبقة عنها حيث لا تعلم ما الذي تفعله أو لمَ؛ لأن الكثير من المهارات ستكون قد تعلمتها من تمارين كاتا، وهذا سيساعدك على تدريب مهاراتك الحدسية، حيث ستكتشف طرق للحل بفضل المهارات التي تعلمتها من تمارينكاتا بطرق جديدة ولتحقيق أهداف جديدة. ابقِ هذه المشاريع صغيرةً، فحسب الجدول الزمني المخصص لديك 30 دقيقة يومياً لإنجازه، وأنت تريد تجريب العديد من الأفكار الجديدة لذا لا يجب أن يتطلب المشروع أكثر من أسبوع. إذا استغرق أحدها هذه المدة ولم تحرز أي تقدم لمدة يومين ضعه جانباً وابدأ بمشروع جديد أو تمرين كاتا جديد. ثم عد إليه لاحقاً عندما تكون مهاراتك قد اتّسعت أكثر.
تأثيرات
إذا أعجبك الجدول المقترح فهو متأثر بالعديد من الأشياء:
- لقد تعلّمت عن تمارين الكاتا من خلال العمل كمستشار في 8 th Light ابدأ هنا اذا اردت مستشارين مختصين.
- بعض المواد التي اقترحتُ روابطها وُضِعَت خلال تدريسي في Turing School. رأيت مئات المتعلمين يدخلون عالم البرمجة من خلالها. شاهدت الطلاب يتقدمون، ثم إنّي عملت معهم بعد ذلك.
- كما وُضِعَت بعض المواد التي اقترحت روابطها خلال تدريسي في Code Platoon.
تلخّص رينالدو كاتبة المقال تجربتّها، في قولها:
” يمكنني تخصيص ساعة واحدة فقط للتعلّم في المساء بعد نوم ابنتي، هذا هو وقت فراغي حتى تكبر وتبدأ بالذهاب إلى الروضة. أرى أنّني أتعلّم ببطء مقارنةً مع غيري من الذين يتعلّمون بشكل ذاتي.. لا بأس، سيكون من الجيد أن أجرّب روتين شخص آخر وأجد طريقةً تناسبني.”
- ترجمة: شهد مكانسي.
- مراجعة: نور عبدو.
So impressive article. Many thanks.