هل من الصعب تعلم البرمجة

كل ما يحتاجه المبتدئ على الاطلاق فى رحلته القادمة

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

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

المرحلة الأولى: شهرالعسل المدعوم

من الصعب إلقاء اللوم على أي شخص لدخوله مجال البرمجة بتوقعات صارخة.

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

من جهة أخرى، قامت حركة "تعلم كيف تكتب كود" بعمل رائع لكسر الحواجز وأظهرت للناس أن الكود في الواقع غير ضار تمامًا. أدوات مثل Codecademy و Treehouse و Code School  تتواصل بلمسات أكثر لطفًا لتؤكد لك أنك أيضًا (وأي شخص!) لا يمكن فقط أن تتعلم كتابة الأكواد البرمجية بل أيضًا أن تصبح مطورًا متكاملًا.

فجأة انتهت مشكلة الخوف، مع وفرة من الآمال والتوقعات العالية.

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

رسم الطريق إلى الأمام

قبل الغوص في المرحلة الثانية ، دعونا ننظر إلى الصورة الأكبر.

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

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

سننظر في التحديات الفريدة للمراحل الثلاث المتبقية بعد قليل، ولكن هذا ما ينطوي عليه كل منها بشكل أساسي:

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

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

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

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

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

لنعد إلى المرحلة الثانية ...

المرحلة الثانية:  منحدر الارتباك:


أنت في المرحلة الأولى - "شهر العسل المدعوم" - يمكنك التحقق من الشارات وإكمال تحديات كتابة الأكواد بينما تنمو ثقتك وقدراتك. هذا ليس سيئا للغاية ... ما كل هذا العناء؟ لقد وصلت إلى "حالة من الحماسة المتصاعدة" ...

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

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

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


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

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

العاملان الرئيسيان في اللعبة

إذن ، ما الذي يميز الفرق بين المرحلة والتي تليها؟ لماذا كانت المرحلة الثانية (جرف الارتباك) سيئة للغاية مقارنة بالمرحلة الأولى (شهر العسل المدعوم)؟ سيساعدك فهم هذا على إدراك أنه ليس خطأك على الإطلاق إذا كانت رحلتك تبدو كما وصفناها للتو.
في الأساس ، هناك قوتان رئيسيتان للعمل في كل مرحلة – كثافة الموارد ونطاق المعرفة- دعونا نرى ما هما قبل استكشاف كيفية تحديد المرحلة الثالثة.

العامل الأول: كثافة الموارد

كما قلت أعلاه ، عندما تبدأ في البداية، يبدو أن هناك مليون مورد في الخارج تحاول أن تدعمك وتجذبك إلى البرمجة. هذا ما تفعله!

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


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

في ما يلي الشكل الذي تبدو به كثافة الموارد في كل مرحلة (تشير كثافة الخط الكبير إلى المزيد من الموارد):


العامل الثاني: نطاق المعرفة

الآن دعونا نتحدث عن قضية ذات صلة - نطاق المعرفة- وهذا يمثل إجمالي عدد المواضيع الجديدة التي تحتاج إلى تعلمها في كل مرحلة.
 وهذا ما تبدو عليه:


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

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

عندما تتقدم إلى المرحلة الثالثة، فإن نطاق بالونات المعرفة يتوسع. تحتاج الآن إلى فهم الأدوات التي يجب استخدامها، وما هي اللغات التي يجب تعلمها، وتعلم أساسيات CS، وكيفية كتابة التعليمات البرمجية النمطية، وتوجيه الكائنات، والأسلوب الجيد في كتابة الأكواد، وكيفية طلب المساعدة (على سبيل المثال لا الحصر). تأخذك كل رحلة إلى جوجل أو أخبار الهاكرز إلى أسفل مجموعة أخرى من جحور الأرانب والتي تطغى عليك بأشياء أكثر لا تعرفها ولكنك تشعر بها كما ينبغي.

بالطبع أنت لا تعرف ما لا تعرفه.

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


المرحلة الثالثة: صحراء اليأس:


بعد فهمك للعاملين السابقين، بإمكانك إدراك أنّ منحدر الارتباك ما هو إلّا نقطة فاصلة في رحلتك، ما شعرت به من الألم هو ناتج عن خليط من الزيادة المتسارعة في كم المعرفة المطلوب منك استيعابها، وقلة المصادر المتاحة، ما سبَب ما نسميه هنا صحراء اليأس.




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

ربما تسجل في بعض المساقات المتاحة الموجودة على coursera ،Udacity أو Edx، تريد أن تصل لمكان لم يصل إليه أحد من قبل. لكن الحقيقة أنّك لا تستطيع تعلم هذه الأشياء في أسبوع، أو شهر، أو حتى فصل دراسي مهما حدث، لذلك لا تقع في هذه المغالطة.

يوجد الكثير لتعلمه ربما أكثر من المتوقع، حتى بعد إنهائِك لبعض التطبيقات التي تعمل، من الصعب ألّا تشعر بالتيه في طريقك لتكون محترفًا. من الصعب أن تقيس تقدمك، كيف تعرف ما تحتاج أن تتعلمه، أو حتى ما هو الشيء المقبل الواعد لتعلمه؟

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

من المؤكد أنه كان من الصعب حتى الآن، ولكن في النهاية ربما هذه الأشياء على شبكة الإنترنت ليست سيئة للغاية ...

المرحلة الرابعة: التحسن الرائع:


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




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

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

أنت تعتقد أنّه يجب أن تعمل كمطور بالفعل، وما أبعد من المسافة بين ما تكتبه من كود، وبيئة العمل الاحترافية.

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

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




كيف يبدو كل هذا؟
إذن فقد عرفت مراحل الرحلة كلها الآن، ولماذا هي صعبة، عندما تضم جميع المراحل التي ناقشناها مع العوامل المؤثرة بها فإنّها ستبدو كما الشكل التالي:



إنّ معرفة الطريق شيء، واتباعه شيءٌ آخر … لذا دعنا نساعدك …

كيف تنجح في عبور المراحل الأربعة

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


كيف تعبر مرحلة "شهر العسل المدعوم"

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

  • ابدأ بالتعلم من أكثر من مصدر: لتتعرف على أفضل طريقة للتعلم، ما هي أكثر المواضيع التي تبدو شيقة بالنسبة لك، ربما تتعلم من خان أكاديمي عبر التحديات المتتالية، أو عبر تمارين كود أكاديمي المهيئة بالمتصفح، أو كتاب كريس باين تعلم البرمجة… كن منفتحًا في البداية وانس كل ما يتعلق بـ “ما يجب تعلمه” فكل الأكواد هي ذاتها في هذه المرحلة. 
  • استقر على مصدر واحد: واستمر معه لنهاية المرحلة الأولى طالما وجدته الأنسب، قم بحل جميع التمارين والتي ستمدك بالمعرفة الأساسية لكتابة بعض التطبيقات والبرامج البسيطة، ثم استعد لبناء تطبيقات خاصة بك. 

كيف تعبر مرحلة "منحدر الارتباك"

تقريبًا الكل سيختبر هذه المرحلة؛ لأنّ الطريقة الوحيدة لتصبح مطوًرا هي أن “تطوّر”، ربما تتظاهر ببناء شيئًا ما عبر اتباعك بعض الدروس، لكنك حقيقةً تقوم بتتبع خطوات معدة مسبقًا، الدروس طريقة جيدة لتبدأ بتطبيق المعرفة النظرية، لكنك ستحتاج لشحذ نفسك أكثر لمواجهة الواقع. ثلاث نصائح حتى تبدأ ببناء مشاريعك الخاصة …

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

كيف تعبر مرحلة "صحراء اليأس"

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


كيف تعبر مرحلة "التحسن الرائع"

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

  • تعلم واتبع أفضل الممارسات البرمجية، ستحتاج لأن تفهم الفرق بين إيجاد حل وإيجاد أفضل الحلول، الممارسات الجيدة هي الفاصل الكبير بين كتابة كود خاص بك يؤدي الغرض، وما بين بناء برامج ذات جودة في وظيفة حقيقية. 
  • راجع خبراتك، أغلب الأمر أنّك تخطيت بعض الأمور الهامة أثناء مسيرتك، والتي ربما لا تعرف أنّك تخطيتها حتى الآن، تحتاج أن تراجع هذه الأمور وتقوم بإعادة دراستها. 
  • تعلم المهارات المملة، والتي نادرًا ما قد تتعرض لها أثناء رحلتك، مثل الاختبار ونمذجة البيانات والانشاءات والنشر. لكن من السهل استيعابها في هذه المرحلة، وتعتبر أساسية لأي عملية تطوير برمجية. 
إنّ المفتاح الرئيسي لاتباع النصائح السابقة هي أن تجد من يقيمك، من يتعلم بمفرده ربما يكون منتجًا أكثر من غيره. لكنه نادرًا ما يكتب كود منظم أو مهيكل بطريقة جيدة؛ ﻷنّ لا أحد يخبره بذلك، وهو نفسه لا يدرك المشكلة. الحقيقة أنّك ستحتاج العمل مع أشخاصٍ آخرين أكثر خبرة منك. لتسألهم وتحصل منهم على تقييم … بعض مواقع الأسئلة كذلك ربما يساعد.

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

رابط المقال الأصلي باللغة الانجليزية

https://www.thinkful.com/blog/why-learning-to-code-is-so-damn-hard/

تعليقات

المشاركات الشائعة