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

تصوير ماكسويل نيلسون على Unsplash

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

ماذا أعني عندما أقول التعلم الفعال؟

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

الخطوة 1: تعرف على التاريخ

عليك أن تعرف الماضي لفهم الحاضر. ~ كارل ساجان

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

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

  • ما هي المشكلة التي يحلها هذا المنتج / التكنولوجيا؟
  • لماذا نشأت هذه المشكلة في المقام الأول؟
  • عندما ظهرت المشكلة ، ما هي الحلول الأخرى المقترحة؟
  • وأخيرًا ، لماذا تغلبت هذه التقنية / المنتج على الحلول الأخرى.

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

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

الخطوة 2: السيوف والدروع

تصوير بوغدان كوبريتس على Unsplash

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

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

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

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

لا يمكنك تعلم القتال باستخدام السيوف في كلتا اليدين ولا يوجد درع نظرًا لأنك بدأت للتو. آسف للقول ولكن الأمر لا يعمل بهذه الطريقة.

فكيف تختلف هذه الاستراتيجية؟ لذلك في مارس 2019 ، تم تحديي لتعلم وتنفيذ Akka باستخدام Java. وكنت مطورًا C # الذي كان نزلًا لبضعة أشهر فقط مع تعلم الثعبان. الآن لم أكن أعرف جافا ولم أكن أعرف ما هو عكا (سيفان). لذلك اخترت الطريقة التي ناقشناها أعلاه فقط بدأت مع Akka وتاريخها (من الخطوة 1) وسرعان ما كان لدي فهم عميق لما هي بالضبط Akka وما هي المشكلة التي تحلها ولماذا اخترنا Akka لحل المشكلة في في المقام الأول ولكن 0 معرفة كيف يمكنني في الواقع الترميز والحصول على عينة قيد التشغيل. كانت الوثائق مخيفة بدلاً من ذلك ، ما زلت لا أفهم وثائقها ولم يكن لكل برنامج تعليمي شاهدته في جافا أي معنى. إذا ماذا فعلت؟

لقد أجريت تقييم السيوف والدروع ، وكانت دروعي C # ، Python ، المعرفة المكتسبة حديثًا حول Akka. السيوف الخاصة بي: حلول Java و Coding Akka. لذلك بحثت عن تطبيقات Akka في C # و Python ووجدت تطبيقًا يسمى Akka.net لتطبيق Akka باستخدام C #. قضيت عطلة نهاية الأسبوع في العمل على مشروع في C # لتعلم كيفية البرمجة باستخدام Akka في C # وعندما عدت إلى العمل يوم الاثنين ، عرفت ما هو Akka ، ولماذا استخدمه وكيف يمكننا ترميزه (الآن درع ) وبما أنني عرفت ما أردت القيام به ، كان علي فقط البحث عن "كيفية القيام بذلك / ذلك akka java" (جافا هو السيف) وعمل الويب لصالحي هذه المرة.

الخطوة 3: سرقة المنهج ، والمزاح فقط اتبع واحد

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

انتقل إلى Cheat Sheet إلى أي من هذه العضوية المدفوعة واشترك في مواقع الويب فقط واعثر على دورة تدريبية ترغب في اجتيازها. وجدت الكثير؟ (سيفعل المرء أيضًا) مثالي الآن يصنف هذه الدورات إلى 3 مراحل مبتدئ ومتوسط ​​ومتقدم (الكثير من هذه المواقع تم تصنيف محتوياتها بالفعل على هذا النحو). الآن بعد أن تم ترتيب جميع الدورات التدريبية ، اسحب جدول محتوياتها وادمج كل جدول المحتويات في جدول واحد ضمن الفئات الثلاث (مبتدئ ومتوسط ​​ومتقدم) وهناك لديك. لديك منهج من أعلى إلى أسفل للأشياء التي يجب عليك تغطيتها لتكون على مستوى المبتدئين في التكنولوجيا ، ثم سيكون عليك تعلم هذه الموضوعات للانتقال من مستوى المبتدئين إلى المستوى المتوسط ​​في هذه التقنية وما إلى ذلك. الآن بعد أن أصبح لديك القائمة ، قم بإعداد أهداف لمساعدتك في الحفاظ على التحفيز والآن مجرد مواضيع محددة على YouTube في منهجك الجديد اللامع والتعلم بعيدًا. في البداية ، سترى اختلافًا هائلاً في ما تبحث عنه. من "Python للمبتدئين" أو "تعلم Python" ، ستبحث عن "قائمة استيعاب في python". الضوضاء خرجت للتو من النافذة (شخص ما يرجى إيقاف تشغيل إلغاء الضوضاء)

الخطوة 4: اختبر معلوماتك

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

خاتمة

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

قال الفيلسوف الروماني سينيكا "بينما نعلم ، نتعلم"

إذا كانت هذه المشاركة مفيدة ، يرجى النقر على زر التصفيق أدناه عدة مرات لإظهار دعمك! ⬇⬇