كيف تفكر كالمبرمج (الجزء الاول).


مهارات حل المشكلات
الصورة awpnetwork.com

إذا كنت مهتما بالبرمجة فربما رأيت هذا الاقتباس من قبل.

"على الجميع أن يتعلموا البرمجة, لأنها تعلمك كيف تفكر" 
-ستيف جوبز
وربما تساءلت, ماذا يعنى التفكير كمبرمج؟ وكيف أفعل هذا؟

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

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

لماذا هي(مهارات حل المشكلات) مهمة؟؟

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

إلا إذا كانت لديك طريقة لحل هذه المشكلات, والتي ربما تكون(وهذه كانت طريقتي عندما بدأت البرمجة):
  1. جرب حلا.
  2. إذا لم يعمل جرب آخر.
  3. إذا لم يعمل كرر الخطوة 2 حتى تصيب.
حسنا... أحيانا تنجح هذه الطريقة, ولكنها أسواء الطرق لحل المشكلات، فهي مضيعة كبيرة للوقت.

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

يجب أن يكون لديك إطار عمل.

لكى أجد إطار العمل المناسب لي أتبعت نصيحة تيم فيرس في كتابة عن التعلم "the 4-hour chef", وهذا جعلني أسأل اثنان من أروع المبرمجين:

  • "C. jodan ball" (وهو مصنف على رأس قائمة مكونة من أكثر من 65000 مستخدم لموقع coder byte) .
  • "V. anton spraul" (وهو مؤلف كتاب "think like a programmer: an introduction to creative problem solving") 
لقد سألتهم نفس الأسئلة وكانت إجاباتهم متشابهة جدا, وقريبا جدا ستعرفهم.
"أكبر خطاء يرتكبه المبرمجون المبتدئون أنهم يركزون على تعلم طريفة بناء الجمل أكثر من تركيزهم على تعلم طرق حل المشكلات" 
-V. anton spraul

إذا ماذا تفعل إذا واجهت مشكلة؟ وما الخطوات التي يجب أن تتبعها لتخل المشكلة بطريقة فعالة؟

حسنا هذا ما سنعرفه معا في الجزء الثاني.


إلى اللقاء





تعليقات

المشاركات الشائعة من هذه المدونة

30 شيء تمنيت لو عرفتها عندما بدأت في البرمجة(الجزء الأول).

ما هي مبادئ SOLID؟ ولما يجب أن يعرفها كل مطور؟

كيف تصبح مطور ويب وتحصل على وظيفة في أسرع وقت؟ (الجزء الثاني)