Back home

مفاتيح لتسريع مهارات البرمجة لديك

المفتاح لتسريع مهاراتك في البرمجة

مفاتيح لتسريع مهارات البرمجة لديك

مقالة من: http://blog.thefirehoseproject.com/posts/learn-to-code-and-be-self-reliant/

المفتاح لتسريع مهاراتك في البرمجة المفتاح لتسريع مهاراتك في البرمجة

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

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

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

المرحلة التعليمية (3-8 أسابيع من البرمجة الجادة) المرحلة التعليمية (3-8 أسابيع من البرمجة الجادة)

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

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

بالنسبة للطلاب المبتدئين، فإن أهم مهارة يجب اكتسابها هي الاهتمام بالتفاصيل.

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

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

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

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

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

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

**السر الصغير القذر في البرمجة هو…**السر الصغير القذر في البرمجة هو…

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

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

** ستكون جاهزًا للانتقال إلى المرحلة التالية من رحلتك عندما: ** ستكون جاهزًا للانتقال إلى المرحلة التالية من رحلتك عندما:

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

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

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

نقطة التحول (2-4 أسابيع مع العقلية الصحيحة)نقطة التحول (2-4 أسابيع مع العقلية الصحيحة)

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

خلال مرحلة التحويل، ستكون عملية الترميز أبطأ بمقدار 10 إلى 20 مرة عما كانت عليه في المرحلة السابقة.

خلال مرحلة نقطة الانعطاف، سيكون التشفير أبطأ بمقدار 10 إلى 20 مرة من المرحلة السابقة.

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

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

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

لا يدرك معظم الأشخاص أنه لكي تتعلم البرمجة، فإنك تحتاج إلى تعلم المعرفة الخاصة بالمجال والمعرفة الإجرائية. ** لا يدرك معظم الأشخاص أنه لكي تتعلم البرمجة، فإنك تحتاج إلى تعلم المعرفة الخاصة بالمجال والمعرفة الإجرائية.

لبقية حياتك، اخرج من حدودك كل يوم لبقية حياتك، اخرج من حدودك كل يوم

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

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

على حد تعبير أحد طلاب Firehose عند تجاوز نقطة انعطافه:

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

في تطوير الويب، هناك في الواقع نقطتا انعطاف ستجتمعان معًا. في تطوير الويب، هناك في الواقع نقطتان انعطاف.

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

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

  • كتابة خوارزميات الفرز كتابة خوارزميات الفرز
  • تنفيذ وعكس القوائم المرتبطة تنفيذ وعكس القوائم المرتبطة
  • فهم وكتابة البرامج التي تستفيد من المكدسات وقوائم الانتظار والأشجار فهم وكتابة البرامج التي تستفيد من المكدسات وقوائم الانتظار والأشجار
  • كتابة برامج الكمبيوتر باستخدام الحلول العودية أو التكرارية كتابة برامج الكمبيوتر باستخدام الحلول العودية أو التكرارية

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

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

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

سيكون هؤلاء المطورون قادرين على حل التحديات التي تتقاطع مع الاثنين: الخوارزميات المعقدة التي يجب بناؤها في سياق تطبيقات الويب المتقدمة. وهذا هو جوهر ما يفعله مطورو الويب المحترفون كل يوم. سيكون هؤلاء المطورون قادرين على حل التحديات في كلا المجالين: الخوارزميات المعقدة التي يجب بناؤها في سياق تطبيقات الويب المتقدمة. هذا هو جوهر ما يفعله مطورو الويب المحترفون كل يوم.

عواقب نقطة انعطاف عواقب نقطة انعطاف

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

عند تعلم البرمجة، لا تهم المعرفة الخاصة بالمجال في المخطط العام للأشياء. عند تعلم البرمجة، لا تهم المعرفة الخاصة بالمجال في المخطط العام للأشياء.**

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

ما يهم حقًا في النهاية هو: ما يهم حقًا هو:

  • لديك فهم قوي لإطار عمل تطوير الويب لديك فهم قوي لإطار عمل تطوير الويب
  • لديك فهم قوي لكتابة تعليمات برمجية معقدة خوارزميًا بأي لغة برمجة

يريد مديرو التوظيف مطورين يتمتعون بمهارات قوية في تطوير الويب والخوارزميات. يريد مديرو التوظيف مطورين يتمتعون بمهارات قوية في تطوير الويب والخوارزميات.

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

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

هذا لا يعني أنك “تعرف” كل شيء على الفور، ولكن يعني أن كل شيء أصبح الآن “قادرًا على اكتشافه”، لذا في جوهر الأمر، لا يمكن إيقافك. هذا لا يعني أنك “تعرف” كل شيء على الفور، ولكن أن كل شيء “قابل للحل” الآن، لذا في جوهر الأمر، لا يمكن إيقافك.

المهارات التي ستطورها خلال نقطة الانعطاف

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

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

استراتيجيات اجتياز نقطة الانعطاف بأكبر قدر ممكن من الكفاءة استراتيجيات اجتياز نقطة الانعطاف بأكبر قدر ممكن من الكفاءة

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

*خلال مرحلة البرنامج التعليمي، خذ فترات راحة من مراجعة المواد المنظمة وامنح نفسك مشكلات التحدي على طول الطريق.

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

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

  • التركيز على الأساسيات واستخدام التكرار. تعرف على كيفية القيام بأشياء شائعة مثل تشغيل تطبيق من البداية، ودفع تطبيق جديد إلى GitHub وHeroku، وإنشاء ترحيل قاعدة البيانات في وقت مبكر. تعرف على كيفية القيام بأشياء شائعة مثل إنشاء تطبيق من البداية، ودفع التطبيقات الجديدة إلى GitHub وHeroku، وإنشاء عمليات ترحيل قاعدة البيانات مبكرًا.

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

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

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

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

كيف تعرف أنك تجاوزت نقطة الانعطاف

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

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

ماذا تقصد بوجود نقطتي انعطاف؟ أليست نقطة انعطاف حيث يصبح كل شيء منطقيًا؟ إذا أصبح جزء واحد من التطوير منطقيًا، فلماذا تسميه نقطة انعطاف؟ ألا توجد طريقة لتوحيد “نقاط الانعطاف” هذه في شيء أكثر واقعية؟ ماذا تقصد بوجود نقطتي انعطاف؟ أليست هناك نقطة تحول حيث يصبح كل شيء منطقيًا؟ إذا أصبح جزء معين من التطوير منطقيًا، فلماذا نسميه نقطة انعطاف؟ أليس هناك طريقة لتوحيد “نقاط الانعطاف” هذه في شيء أكثر واقعية؟

سؤال عظيم! في الأساس، هناك مفتاحان لكونك مطور ويب قويًا: سؤال عظيم! هناك أساسًا مفتاحان لتصبح مطور ويب موثوقًا به:

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

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

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

لا يبدو أنني تجاوزت أبدًا مرحلة المعرفة الإجرائية والمحددة بالمجال. لماذا؟ لا يبدو أنني تجاوزت أبدًا مراحل المعرفة الخاصة بالمجال والمعرفة الإجرائية. لماذا؟

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

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

استمر في البرمجة يا كريس! 🙂

لا أعرف حقًا ماذا أقول عن هذه المقالة أو هذه المقالة “كيف ستعرف أنك جاهز لبدء العمل كمطور ويب” لا أعرف حقًا ماذا أقول عن هذه المقالة أو “كيف تعرف أنك مستعد لبدء العمل كمطور ويب” ذهبت مباشرة إلى ذهني كما لو كنت أثناء القراءة أشاهد نفسي في المرآة. لقد دخل الأمر مباشرة إلى ذهني، وكان الأمر كما لو كنت أنظر إلى نفسي في المرآة أثناء القراءة. يا له من مقال ممتاز ورائع. ربما يمكنك تسمية هذا بعلم النفس للمطورين. يا لها من مقالة رائعة. يمكنك تسمية هذه العقلية بالمطور. ما زلت أشعر بالغرابة بعد قراءة هذا (بطريقة جيدة). لماذا ؟ بعد قراءة هذا ما زلت أشعر بالغرابة. لماذا؟ أنا حاليًا عالم كيمياء حيوية ولدي بضع سنوات في هذا المجال. نعم، أنا أدرس الحمض النووي، والبيولوجيا الجزيئية للحمض النووي الريبوزي (RNA)، وهو أمر ممتع وكل شيء ولكنه… لا يدفع جيدًا. (حاليًا أقل من 40000) أنا حاليًا عالم كيمياء حيوية وأعمل في هذا المجال منذ عدة سنوات. نعم، أنا أعمل في علم الأحياء الجزيئي للحمض النووي والحمض النووي الريبوزي (RNA)، وهو أمر مثير للاهتمام للغاية، لكن… الراتب ليس مرتفعًا. (حاليا حوالي 40.000 شخص) قررت هذا العام تغيير شركة الاتصالات الخاصة بي تمامًا من ذلك إلى المطور الذي أحبه حقًا. في 11-12 شهرًا (لقد بدأت جديًا بالفعل في يناير وفبراير 2015) بدأت من 0، (صفر، لا شيء) وتعلمت HTML وcss وJS وبعض jQuery وبعض C# وبعض android. أعرف الآن كيفية إنشاء موقع ويب (سريع الاستجابة بالطبع) وأقوم بتطوير تطبيق الويب الخاص بي ASP.Net MVC. قررت هذا العام تغيير المتجه الخاص بي تمامًا وأن أصبح مطورًا أستمتع به بالفعل. في غضون 11 إلى 12 شهرًا (في الواقع بدأت جديًا في يناير وفبراير 2015)، تعلمت HTML وcss وJS وjQuery وc# وandroid من الصفر. الآن بعد أن عرفت كيفية إنشاء موقع ويب (سريع الاستجابة بالطبع)، أقوم بتطوير ASP الخاص بي. تطبيق ويب Net MVC.

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

تصف هذه المقالة حقًا بعض النقاط التي أشعر بها الآن أو الإحساس بأنني لست مستعدًا عندما أكون مستعدًا بالفعل شكرا على هذا

هذه المقالة تصف بالفعل بعض المشاعر التي أشعر بها الآن، أو ربما أنا مستعد، لكنني لست مستعدًا بعد شكرا

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