مسار مهني مسار وظيفي

كيف تفكر كمبرمج عند حل المشكلات

كيف تفكر كمبرمج عند حل المشكلات



We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

هل تريد أن تتعلم حل المشكلات مثل مبرمج الكمبيوتر؟ ثم لقد اتيتم الى المكان الصحيح.

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

على الأقل من الناحية النظرية.

ذات صلة: 9 من أفخم برامج MEMES الآن

ما هو حل المشكلات في البرمجة؟

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

وفقًا لكلية الحوسبة بجامعة يوتا ، غالبًا ما يتم تعريفها على أنها:

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

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

انتظر ضيق ...

كيف تفكر مثل المبرمج؟

قال ستيف جوبز الشهير إن "كل شخص في هذا البلد يجب أن يتعلم برمجة الكمبيوتر لأنه يعلمك التفكير". هذه رسالة قوية جدًا ولا تعني بالضرورة أنك بحاجة إلى أن تصبح Ada Lovelace أو Steve Wozniak أو Bill Gates.

إن تطوير "المهارات الناعمة" أو "المهارات الفوقية" مثل تعلم كيفية التفكير بوضوح ونقدي سيؤتي ثماره في العديد من جوانب حياتك.

خاصة في حياتك المهنية ، أيًا كان المسار الذي اخترته ، سواء كان مهندسًا أم لا.

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

"تعتبر مهارات حل المشكلات بالإجماع تقريبًا أهم المؤهلات التي يبحث عنها أصحاب العمل ... أكثر من إتقان لغات البرمجة وتصحيح الأخطاء وتصميم النظام.

إن إظهار التفكير الحسابي أو القدرة على حل المشكلات الكبيرة والمعقدة له نفس القيمة (إن لم يكن أكثر من ذلك) من المهارات التقنية الأساسية المطلوبة للوظيفة ". - رتبة هاكر.

فكيف يمكنك تطوير مثل هذه المهارة؟ حسنًا ، إحدى الطرق هي محاولة التفكير كمبرمج.

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

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

1. محاولة حل.

2. إذا لم ينجح الأمر ، فجرب واحدة أخرى.

3. إذا فشل ذلك أيضًا ، اشطف وكرر الخطوة 2 حتى تجد شيئًا يعمل (ربما من خلال الحظ).

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

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

1. وجود نهج إطار لمعالجة مشكلة.

2. تدرب وتعلم من الأخطاء وراجعها وقم بتحسينها حتى تتقنها.

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

كيف يمكنني تحسين مهارات حل المشكلات في البرمجة وتطوير عقلية المبرمج؟

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

توجد مكتبة ضخمة حول هذا الموضوع فقط ، ولكن في جوهرها ، سيكون لإطار عمل حل المشكلات بعض ، إن لم يكن كل ، المكونات الرئيسية التالية:

1. قم بتفصيل فهم المشكلة المطروحة

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

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

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

قم بتدوين المشكلة ، ولديك مشكلة في رسمها (ربما باستخدام خريطة ذهنية) ، وحاول شرحها لشخص آخر.

2. الفشل في التخطيط ، التخطيط للفشل (ضع خطة وقسم مشكلة كبيرة إلى مشاكل أصغر)

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

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

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

هذه هي عقلية المبرمج.

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

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

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

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

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

لكننا نستطرد.

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

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

اختصر المشكلة إلى الحد الذي تعرف فيه كيفية حلها واكتب الحل. ثم وسّع المشكلة قليلاً وأعد كتابة الحل ليطابق ، واستمر في ذلك حتى تعود من حيث بدأت. "- V. Anton Spraul.

3. "ابق على الهدف" ، يمكنك وستتعثر في بعض الأحيان

وكما قال روبرت بيرنز: "غالبًا ما تنحرف أفضل الخطط الموضوعة للفئران والرجال". لا تقلق ، فهذا أمر متوقع ، وغالبًا ما يتم قبوله.

ولكن ، ماذا تفعل عندما لا تستطيع حل مشكلة ، خاصة عند البرمجة؟

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

ناهيك عن التصميم على إصلاحها.

عندما ينشأون ، سيبدأ المبرمجون عادةً في عملية ، وظيفة عقلية إذا صح التعبير ، مما يلي:

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

4. الممارسة تجعل من الكمال

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

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

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

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

و هذا ملف. طريقك إلى حل المشكلات كمبرمج في انتظارك!

مسافر حظ سعيد.


شاهد الفيديو: تجربتي في تعلم البرمجة خلال شهور فقط بعمر سنة وحصولي على وظيفة باكبر الشركات البريطانية (أغسطس 2022).