كيف تفكر بعقلية المبرمج ؟
كل شخص في هذا العالم عليه أن يتعلم كيف يبرمج الكمبيوتر، لأنه سيتعلم كيف يفكر .
لستيف جوبز الكثير من الاقتباسات التي ذاع صيتها وانتشرت انتشارًا واسعًا فيتم الاستدلال بها في مواقف عديدة ، ضمن هذه الاقتباسات قوله " على مدار ٣٣ عام ، أقف كل يوم أمام المرآة كل صباح وأسأل نفسي إن كان هذا هو آخر يوم في حياتي فهل أنا أريد بالفعل أن أقوم بما سأفعله اليوم ، ومتى كانت الإجابة بلا لعدة أيام متتالية أعلم أنني أحتاج للتغيير " ، فعلى الرغم من قوة تلك المقولة إلا أن ذلك الاقتباس المتعلق بالبرمجة هو الأكثر شهرة وتداولًا حتى أنني أكاد أتيقن أن عيناك مرت عليه مرورًا سريعًا بلا أي تأنٍ لمعرفتك السابقة به ، لا تفاجؤ في ذلك ، لكن المفاجأة أن قائل هذه المقولة الراحل " ستيف جوبز " الذي هو واحدُ من أعمدة عالم التكنولوجيا لم يكتب أي كود في حياته من قبل ، بل إنه لم يكن مهندسًا أو مصممًا يعمل على تصاميم المنتجات كما ذكر ستيف ووزنيك شريك التأسيس في شركة آبل ، فالنقطة الفارقة أن ستيف جوبز كان لديه عقلية تسويقية مميزة كافية تجعله يغير في ذلك التصميم ويعدل على هيئة هذا ويقترح إضافة خواص للتصاميم الأخرى ، لكن ستيف أدرك جيدًا قيمة البرمجة وتوَّج ذلك باقتباس جميل يعرفه جُلّ العالم !
عندما يتم طرح ذلك الاقتباس فإن الكثير من الناس يعتقد أن الهدف من كلمة " تعلم البرمجة " هو تعلم كيفية كتابة الarray أو الvariables أو الloops هو ما سيجعله مفكرًا أفضل ، لا تفهم قصدي على أن ذلك ليس مهمًا فهذا يجعلني أبدو بمظهر المتفلسف الأحمق ، فبالتأكيد هذه مفاهيم برمجية أساسية على كل مبرمج معرفتها ، لكن لا تجعل التفكير ينحصر ضمن هذا المنظور الضيق فقط ... لأن المعنى المقصود أبعد من ذلك بكثير .
حتى يصل إليك المعنى بوضوح ، اسأل نفسك هذا السؤال : " ما الوظيفة الرئيسية للمطورين ؟ ما وظيفة مهندس البرمجيات ؟ هل تقتصر فقط على كتابة الكود ؟ " باختصار فالإجابة هي " لا " لأن الأكواد أو اللغات هي فقط الأدوات ، والبرمجة تتمحور بشكل رئيسين على محورين هما التفكير بمنطقية وحل المشكلات ، بشكل أو بآخر كل برنامج حولنا تمت برمجته بمنطقية ليعمل على حل مشكلة معينة ( هذا دون الأهداف الخفية من إنشائه ... ) ، فهذا الماسنجر والواتساب يحلون مشكلة التواصل ، والموقع الذي تقرأ سطوره حاليًا يسهل من عرض المحتوى ، وهذا الفوتوشوب يجعل عملية التصميم أيسر وغيرهم ، كل تطبيق أو برنامج حولنا يمكن النظر إليه على أنه صُنع لحل مشكلة معينة ، وكل شخص في هذا العالم لديه مشكلاته الخاصة أيًا كانت حالته ومجتمعه وبيئته ، وكما هي المشكلات في عالمنا بطبيعتها لا تنتهي ، تتخلص من واحدة فتظهر لك الأخرى والإجراء هذا لتمنع مشكلة من الحدوث ، فالبرمجة أيضًا تشبه ذلك العالم ، لأننا إن نظرنا لمنظور واسع لوظيفة المبرمج فهي تكمن في حل عدد لا نهائي من المشكلات التي ستواجهه أثناء التكويد من أجل تنفيذ تطبيق معين .
هذه القدرة ليست هباءً وليدة الصدفة ، إنما هناك سمات معينة تشكل عقلية يتشابه بها المطورون حول العالم على الرغم من اختلاف مجالاتهم والمشاريع التي ينجزونها ، ودوري الآن هنا أن آخذك في رحلة نفتش فيها سويًا داخل عقلية المبرمج ... عقلية المبرمج الناجح الذي يعرف ما يفعله والذي بإمكانه حقًا أن يفكر بطريقة استثنائية .
اقرأ أيضًا : كيف تؤثر البرمجة إيجابيًا على شخصيات المبرمجين ؟
كيف تفكر بعقلية المبرمج ؟ |
كيف يفكر المبرمج تجاه المشكلة ؟
نتفق أن القدرة على حل المشكلات هي محور أساسي من محاور عمل صديقنا المبرمج ، وأظن أنك سمعت من قبل تعبير " فكر كمبرمج " والذي يعني أن ترى المعضلة المطروحة من منظور مختلف ، ثم يكون لديك القدرة لرؤيتها مرة أخرى من منظور آخر مختلف ، وتكون قادرًا لمرة إضافية على تكرار نفس الخطوة بالتفكير تجاه المشكلة من منظور مختلف مرات ومرات حتى يُسدل الستار عن الحل .
والتفكير تجاه المشكلة البرمجية لا يحدث اعتباطيًا بطريقة عشوائية قد تخطئ مرات وتنجح مرة ، فالسيناريو الذي أكاد أجزم أن كلنا نفعله وما زال الكثيرون يفعله عندما تواجهه مشكلة ، هو تجربة أي حل يقع أمامنا فنجد أن ذلك الحل لا يعمل ... فنجرب حلًا ثانيًا لا يعمل ... ثم نجرب ونجرب بعشوائية تامة حتى يبتسم لنا التوفيق وتتلاشى الErrors بعد الRun ، لا أقول أن هذا خاطئ تمامًا لكنه مضيع للوقت والجهد ، فالعشوائية المطلقة قد تؤدي إلى عواقب مستقبلية كأن تواجهك نفس المشكلة مرة أخرى ولا تستطيع حلها وقد لا تذكر أصلًا أنك مررت بها من قبل ؛ لذا فعلينا العمل على استراتيجية للتفكير بأسلوب واضح وبخطوات نفهمها تساعدنا أن نكون مبرمجين أفضل ، وتلك الاستراتيجية نتدرب عليها حتى يقوم عقلنا اللاواعي بالتصرف بوعي تلقائيًا .
عندما أذكر كلمة المشكلة هنا فليست تعني فقط Error ، بل قد تعني أي برنامج تقوم بكتابته كبرنامج بسيط جدًا يحسب الLCM الخاص برقمين ، فأثناء القراءة قد نذكر كلمة مشكلة نقصد بها Error في مرات ومرات أخرى نقصد بها برنامج معين ، فحاول استنباط ذلك من السياق يا صديقي 😊 .
افهم طبيعة المشكلة
خطوتنا الأولى قد تبدو بديهية لوهلة من الزمن لكن أغلب المشكلات أثناء البرمجة تكون صعبة لأنك لا تفهم ما هي المشكلة بالضبط ، فالفشل وتضييع الوقت محتومًا إذا كنت تبحث عن حل لمشكلة لا تعرف أصلًا أين تقع داخل الكود أو في أي جزء بالضبط ، وإن تحديد ماهية المشكلة يجعل عقل صديقنا المبرمج يطرح عددًا من الأسئلة الفضولية كما أسباب المشكلة ؟ ما المواضيع التي يمكن أن أبحث عنها لتساعدني على حلها ؟ لماذا أنا أهتم بهذه المشكلة من الأساس ، هذه الأسئلة الطبيعية تجعلنا نفكر بسيناريوهات مختلفة ، وذلك هو المطلوب من أجل إنارة شعلة التفكير التي ستقودنا إلى المفاتيح المطلوبة لفتح باب المشكلة .
لكن سؤالك يبقى مطروحا " كيف أعرف أنني أفهم المشكلة ؟ " ، ببساطة عندما تكون قادرًا على الحديث عنها كأن تقول إن المشكلة تكمن في كذا وكذا ، وبالتأكيد فأنت تتذكر تلك المرات العديدة التي حلت علينا لحظات نكون عالقين بمشكلة ما وفور ما نبدأ بالحديث عنها تقع أعيننا على الجحر الذي يختبئ فيه مفتاح الباب المغلق ؛ لهذا أول الخطوة أن تفهم طبيعة المشكلة بتحديدها كأن تكتبها على ورقة بقلمك الرصاص الجميل أو أن ترسم مخطط بسيط أو حتى تتحدث عنها لشخص يشاركك إياها ( على حسب حجم المشكلة التي تواجهك أثناء الكود .. فلا أقول أن يواجهك مشكلة في نسيان ال؛ فتتحدث عن ذلك 😂 ) .
وفي هذا السياق : نصائح قيمة للمبتدئين في تعلم البرمجة
التحليل قبل الحل
التفكير التحليلي هو القدرة على معالجة المشكلات المعقدة والكبيرة من خلال جمع المعلومات وتنظيمها ومحاولة اكتشاف نمط معين بين المعطيات الموضوعة للوصول إلى حلول إبداعية ، هي أهم خطوة تقريبًا ، فأنت يا صديقي المبرمج عندما تفهم جيدًا طبيعة المشكلة التي تواجهك فلا تبدأ مباشرة في كتابة أي كود دون أن يكون لديك خطة واضحة في ذهنك بما ستفعله ، لنوضح المقصود أكثر من خلال مثال بسيط ، لنفرض أنك تعمل على تطبيق تعليمي يعرض مقالات مكتوبة وتريد تشجيع الزوار على القراءة من خلال عرض الوقت المقدر لقراءة المقال ، امنح عقلك بعض الوقت ولنتخيل أن هذا الحوار يدور داخل عقلك :
" بما أنني أعمل على تطبيق تعليمي يعرض مقالات مكتوبة وأحتاج لتشجيع الزوار على القراءة من خلال عرض الوقت المقدر لقراءة المقال ( هذه هي المعطيات ) ، كيف أقوم بحساب ذلك الوقت ليعمل بطريقة ديناميكية ( هذا هو المطلوب ) ؟ ما الخطوات التي أحتاجها ؟ "
بديهيًا فالناس لديهم سرعات مختلفة في القراءة ؛ لذلك أولًا نحتاج لمعرفة ذلك المتوسط ( ما بين ٢٠٠ ل٢٥٠ كلمة في الدقيقة ) ، الخطوة التالية هي حساب عدد الكلمات المكتوبة في المقال ، ثم بعد ذلك قسمة عدد كلمات المقال على ذلك المتوسط وعرض النتائج على هيئة رقم معين من الدقائق ، كما ترى فالآن عرفنا ما يتعين علينا فعله بالضبط للوصول إلى النتيجة النهائية ، وبالتالي عملنا منظم .
لحل أي مشكلة فإن التحليل يجعلنا نغوص في بحر التفاصيل الدقيقة ، فهو يجعلنا قادرين على تحويل المعطيات والبيانات المزعجة المبهمة إلى رؤى وتفاصيل محددة قابلة للتنفيذ ، وكما ترى فإذا كانت لديك القدرة على تحليل مشكلة ما بدقة فإنك ستتوصل إلى حل أفضل ، والتحليل لا يساعدك على حل المشكلة المطروحة فقط .. بل يعينك على معالجة بعض المشكلات والأخطاء المحتملة بشكل استباقي وهذه مهمة أساسية ضمن مهام المبرمجين المحترفين .
قسم الحل لأجزاء صغيرة
يقول أحد المبرمجين : " إذا كنت أستطيع تدريس كل مبرمج مبتدئ مهارة واحدة لحل المشكلات ، فإنها ستكون تقنية تقسيم المشكلة . "
فلا تحاول حل المشكلة الرئيسية مباشرة ، لأن ذلك ليس بالفعالية التي تعتقدها ، الأمثل أن تقسم المشكلة لأجزاء أصغر تكون قابلة للمعالجة بسهولة ثم العمل على واحدة تلو الأخرى ، لنسترجع مثالنا السابق ، كما تلاحظ فإن لدينا مشكلتين فرعيتين من أجل تحقيق الهدف الرئيسي من ذلك الكود البسيط :
أولًا : حساب عدد كلمات المقال .
ثانيًا : قسمة عدد كلمات المقال على متوسط سرعة القراءة الطبيعية .
عليك أن تبدأ بأبسط المهام ، والأبسط هنا أقصد بها المهمة الفرعية التي لا يعتمد تنفيذها على مهمة أخرى ، ففي مثالنا ستجد أن حساب عدد كلمات المقال هي المهمة التي يجب علينا إنجازها أولًا ، لأن المهمة الثانية مرتبطة بها ، لهذا سنبدأ بها .
لنذكر مثالًا آخر حتى تتضح الأمور عندك أكثر يا صديقي المبرمج ...
ماذا لو كنت تعمل على برنامج بسيط يطلب من المستخدم خمس أرقام ليعرض له ثاني أقل رقم فيهم ، هذا التطبيق سيبدو صعبًا لو كنت في بداية رحلتك مع الأكواد ، قد لا تستطيع عمل ذلك بسهولة ، حسنًا لا مشكلة ، ما رأيك لو بسطنا المشكلة أكثر وعملنا على برنامج يحدد أقل رقم في الخمس أرقام أو ماذا لو كان لتحديد الرقم الأقل ضمن رقمين فقط ؟ أليس أفضل وأسهل ؟
في الأغلب أنت تقوم بذلك داخل ذهنك دون أي انتباه منك ، فتذكر أن المبرمجون دائما يحاولون جعل الأفكار والحلول المعقدة بسيطة قدر الإمكان .
ما زلت عالقًا ! ماذا تفعل ؟
قد لا يعمل الحل الخاص بك وقد لا تستطيع تحليل أي شيء في الكود وقد لا يكون لديك القدرة حتى على القيام بمشكلة فرعية بسيطة داخل الكود ، اعلم أن هذا طبيعي ضمن دورة حياة المبرمجين ، لكن الفرق بين مبرمجين ومبرمجين آخرين هو مدى فضولهم وكما نقول عندنا في مصر " طول النفس " في التعامل مع هذه الـErrors والBugs ، يذكرني هذا بقول أينشتاين أنه ليس الشخص الذكي جدًا لكنه يمكث مع الأسئلة والمشكلات وقتًا أطول من الأخرين ، أمامك الكثير لتفعله في هذه الحالة !
أولًا، عليك أن تقوم بالdebugging ، ويقول أندرو سنجر أن فن الdebugging هو اكتشاف ما أخبرت برنامجك حقًا أن يفعله بدلًا مما كنت تعتقد أنك طلبت منه القيام به ، فعليك المرور خطوة بخطوة على الكود أو الحل الذي كتبته في محاولة لمعرفة أين قمت بالخطأ .
ثانيًا، ابحث ! البحث هو طريقك للوصول إلى كل شيء ، هو ما سيجعلك تتعلم أكثر وتعرف تفاصيل عميقة في مجالك ، وهذه الErrors والBugs هي معلم ودافع جيد لك من أجل أن تبحث وتستثمر في البحث ، يوجد مصادر عديدة للبحث فعالم الويب لا حدود له !
لكن لا تبحث بطريقة سلبية كأن تكتب المشكلة في جوجل ثم يظهر لك نفسها على Stack Overflow أو Quora ثم تنسخ الكود دون حتى أن تقرأ أي تعليق ، لن تتعلم أي شيء بهذه الطريقة ... قد تحل المشكلة لحظيًا .. لكن أنا متأكد أنها إن واجهتك مرة أخرى فلن تستطيع حلها ، لكن اقرأ تعليقات الأشخاص الآخرين ونقاشاتهم حول المشكلة واقرأ الكود واعرف الخطوة التي قام بها من أجل حل الError ولا تقم بتنفيذه دون أن تدرك ماذا سيفعل داخل برنامجك ، ماذا إن وصلت أنت لحل أكثر فعالية ... لم لا تشارك لكود لتستمع وتستمتع بآراء الأخرين ؟
ثالثًا، اسأل ، إن لم تجد من خلال البحث حلًا لمشكلتك ، ابدأ في سؤال المتخصصين على المواقع التي تضم مجتمعات للمبرمجين كذلك على مجموعات الفيسبوك كElzero Web School مثلًا ، لكن حاول ألا تقم بهذه الخطوة إلا عندما تستنفذ كافة الطرق لديك لكيلا تحرم نفسك متعة التفكير في حلول للمشكلات !
اقرأ أيضًا : مجموعة من الأخطاء الشائعة التي يقع فيها معظم المبرمجين
من كود مكلكع إلى كود نظيف
الآن قد وجدت الحل الخاص للمشكلة والاختبار يظهر أنه لا وجود لأية Errors وقد تأكدت أن الحل يعمل بالفعل ويؤدي المهمة التي كنت ترغبها من الكود ، لكن الكود غير مرتب ... غير نظيف ... صعب القراءة أو كما نطلق على تلك الحالة بالعامية المصرية " مكلكع " ، هنا علينا أن نبدأ في اختصار الكود بإزالة السطور التي لا تؤدي أي وظيفة مثلًا أو استخدام طريقة أفضل وهكذا ، ولكي تحصل على كود نظيف فحاول أن تضع هدفًا بأن يكون من السهل لأي مبرمج آخر أن يمر خلال الكود ويفهم ما نويته من كل سطر مكتوب .
اعلم أيضًا أنه في عالم البرمجة دائما يكون هنالك حل أفضل ومُحسن للكود لديك أو كما يُطلق عليه Optimizing the Code ، قد تحتاج في ظروف وأغراض معينة أن تختصر الكود بطريقة تجعله يعمل أسرع وبفعالية أعلى ، على سبيل المثال فإن سرعة مواقع الويب هي عامل له قدر كبير من الأهمية ضمن عوامل الSEO ، ولكي نجعل سرعة الموقع أعلى فإننا قد نحتاج إلى ضغط ملفات الCSS والجافا سكريبت وتحسينها وجزء من هذا يقع عاتقه على المطور ، لهذا فضع في حسبانك أنك قد تحتاج حلولًا أفضل بمرور الوقت .
أيها القارئ النهم ، أوقفتك قليلًا لأخبرك أنني مسرور بوصولك إلى هذه السطور ، يزين وجهي الآن ابتسامة عريضة معبرة عن سعادتي بك بينما أتلاعب بالحروف والكلمات سعيًا لحصولك على قيمة نافعة ، لكن الرحلة داخل عقلية صديقنا المبرمج لم تنته بعد ، فهنالك سمات أخرى تميز معشر المبرمجين الناجحين لا يليق بي إغفالها .
المبرمج لديه أهداف محددة
المبرمج الجيد لا يهتم فقط بالكيفية ، لكنه يضع اعتبارًا قويًا للسببية ، فهو لا يُقحم نفسه في مسارات دون أن يملك حتى أي أهداف تكون له بمثابة الحافز والمسؤولية ، يملك دائما السبب الذي يدفعه إلى الإمام وقت تراخي الذهن وغياب العزيمة وانقطاع الاستمرارية ، إذا سألته " لماذا تريد تعلم البرمجة ؟ " ، فلن يخبرك أنه يتعلم البرمجة لأنها مجال شائع له صيت بين الناس أو أيًّا من ذلك الهراء ، لكنه يسير في طريق تحقيق أهداف حقيقية ، تلك الأهداف لا يكتفي فقط بأن يتركها تخطر على باله في لحظة حماس عابرة ، بل يجعلها نصب عينيها فيكتبها على ورقة في دفتر ملاحظاته أو يعلقها على الحائط أو يحتفظ بها على حاسوبه ليذكر نفسه بها ولتساعده على التركيز لتحقيقها .
المهم في هذه الأهداف ألا تكون خيالية لدرجة بحتة ، فلا تنوي أن تتعلم الJavaScript كلها في 10 أيام ، لن يكون هذا الضغط حملًا ثقيلًا على ظهرك فقط .. بل إنك لن تتعلمها في 10 أيام أصلًا ، فهدفك يجب أن يكون محددًا .. قابل للتحقيق وللقياس ويرتبط بما تطمح إليه ولا يكون مجرد سطر خفيف هش ليس به أي تفاصيل ، واسأل عددًا من الخبراء ذوي التجربة النافعة إن أمكن لمساعدتك .
على سبيل المثال : " أريد تعلم الHTML & CSS خلال شهرين ، لأنني أريد أن أصبح Front End Developer ، سأوفر ساعة ونصف يوميًا لمشاهدة الدروس الجديدة ، بالإضافة إلى ساعة ونصف أخرى للتطبيق على ما تعلمت وحل التكليفات " .
ما رأيك الآن ؟ هدف محدد بالضبط ، قابل للقياس ، كذلك يمكن تحقيقه إن التزمت به ، يمكنك التفكير بتلك العقلية تجاه تحديد أهدافك سواء كنت تتعلم أو تعمل أو في أي شيء .
المبرمج عنده قابلية عالية للتطوير
إنه لأمر شائع بين المبرمجين أن يكتب أحدهم برنامجًا أو تطبيقًا ثم يأتي بعد فترة ليفتح ذلك الكود مرة أخرى فسأل نفسه متعجبًا لماذا فعلت هذا وهذا ، لماذا استخدمت هذه الطريقة الطويلة .. لماذا هذه هنا وهذه هنا ، إن ذلك مؤشر جيد للغاية ، فهذا دليل واضح على تطور المستوى والتحسن والقدرة على الوصول لنتيجة معينة بطرق مختصرة وفعالة .
القابلية للتحسن هي سمة يتميز بها المبرمج الناجح ، فهو يتعلم الجديد ، وفي نفس الوقت يطبق الكثير ، فيجد عقليته تتجاوب بشكل أسرع وأكثر سلاسة مع الأكواد ، يعرف طرقًا أفضل ويتجنب أخطاء كان يفعلها في السابق ، فلا تجزع من ذلك ولا تقنع نفسك أنك ستستمر على ما تعلمته في مرحلة ما وتظن أن ذلك يكفي لفترات طويلة مستقبلية ، فمتعة البرمجة من الأساس تكمن في وجود الجديد دائمًا .
اقرأ أيضًا : مهارات يجب عليك تعلمها بجانب تعلم البرمجة
المبرمج لا يعرف كل شيء
المبرمجون يدركون جيدًا أنهم لا يعرفون كل شيء ، ذلك المبدأ هو علاج للمبرمجين المصابين بداء المثالية ، ليس المبرمجين فقط بل كافة البشر ، الشعور بالراحة المصاحب لليقين بأنك لا تعرف كل شيء هو ما يسمح لدماغنا بالرغبة في استكشاف هذه الأشياء المجهولة والاستمتاع بالتعرف عليها بل إدراكها وتحويلها في النهاية إلى أشياء مفهومة .
في المرة المقبلة – صديقي المبرمج – عندما تواجه شيئًا لا تعرفه .. فلا تجزع وتحزن وتُحبط وتسمح لتلك المشاعر الحزينة أن تتحكم فيك ، أنت لا تعرف كل شيء .. أنا لا أعرف كل شيء ... صديقك المبرمج لا يعرف كل شيء .. المعلم الذي يشرح لك لا يعرف كل شيء ؛ لذا فكر بعقلية المبرمج وانظر لذلك من منظور مختلف 😉 .
المبرمج يبني عاداته
بناء العادات يصنع النظام ... النظام يصنع الالتزام ( بينما أكتب، أعجبتني فقلت لما لا أضعها في هيئة اقتباس )
العادات هي ما تفعله باستمرار وبانتظام ، لا ترتبط العادات دائما بالسلبية والسوء ، إنما العادات منها الإيجابي الذي يصنع لك نظامًا يساعدك على حياة أفضل ، والنظام يصنع الالتزام الذي يساعدك على التحسن دون دراية منك ، على سبيل المثال فلاعب كرة القدم الذي يريد رفع مستوى إتقانه لمهارة التسديد لا يتدرب يومًا واحدًا وينقطع ، إنما يخصص 20 دقيقة بعد انتهاء التمرين للتسديد على المرمى بوضعيات مختلفة ومن مسافات قريبة وبعيدة حتى يتطور ، بعد شهر سيجد أنه قد أتقن المهارة .
نحن قوم المبرمجين كذلك ، قد تحدد لنفسك 10 دقائق في بداية يومك تقرأ خلالهم مقالًا نافعًا يزيد من ثقافتك ويحسن من وعيك تجاه مجالك وطبيعته ، قد تخصص نشاطًا معينًا تفعله قبل أن تبدأ التكويد كأن تأكل طعامًا صحيًا يزيد من انتباهك أو تمارس رياضة الجري لتصفي ذهنك من الشوائب .
اقرأ أيضًا : عادات يومية بسيطة بإمكانها تغيير حياتك للأفضل
المبرمج يهتم بصحته
لا أخفي عليك .. لكن هنالك نمط شائع بين أغلب الناس بالاعتقاد أن المبرمجين أشخاص لا يهتمون بصحتهم الجسدية والنفسية ، على الرغم من أنها حقيقة أحيانا لكن الاهتمام بالصحة الجسدية والنفسية هو شيء في غاية الأهمية ، لأن صحتك هي رأس مالك وتستحق أن تستثمر فيها بعض المال لشراء أدوات مريحة كمقعد صحي لا يسبب مشاكل للظهر ، العواقب تستحق أن تبذل بعض المجهود في تكوين عادات صحية تحافظ بها على نشاط جسدك وصفاء ذهنك ونفسيتك بإذن الله .
إليك بعض العادات الصحية التي يجب عليك الالتزام بها :
6 عادات صحية بالنسبة للمبرمجين |
المبرمج شخص صبور
الصبر قيِّم ، لا سيما عند المبرمجين فهو سمة رئيسية تميز شخصياتهم ، فلك أن تتخيل صديقي القارئ ( حبذا لو لم تكن من ممارسي المجال ) أن فئة المبرمجين مرهون عملهم بكثير من التحديات ، فبداية يحتاج للصبر من أجل التعلم ، لأن شهوره القليلة الأولى هي الأكثر صعوبة ، وشهوره الحالية يحتاج للصبر فيها لمواصلة تعلم جديد التقنيات والتحسن أكثر وأكثر ، أثناء عمله بينما يكتب برنامجه ويحل تحدياته ومشكلاته لو لم يكن صبورًا فلن يستطع إنهاء أي شيء ، أما أنت – صديقي المبرمج – فاعلم أن اللحظة التي تستعد فيها لرفع راية الاستسلام فهي اللحظة التي تحتاج فيها للاستمرار لأن هذا الوقت هو الذي ستتحسن فيها ، ذلك الوقت الغير مريح إطلاقًا هو هدية نستثمر فيه من أجل نمو شخصياتنا ، فذلك المحترف الذي تحلم بالوصول إلى مستواه يومًا ما قد مر بنفس ما تمر به من لحظات يأس وإحباط وانطفاء لشعلة الشغف بداخله إلا أنه صبر وثابر وقوَّم نفسه وقاوم .
عقلية المبرمج الطموح المنظم المحلل الاستراتيجي النشيط تحتاج كذلك إلى صبر من أجل اكتسابها، بداية ستتدرب وتذكر نفسك بها ثم ستصبح تلك العقلية هي عقليتك تتصرف بها دون وعي منك ، لن يحدث كل هذا بين ليلة وضحاها باستعجال دون صبر ، فاصبر .. إن الصبر هو مفتاح الأبواب المغلقة !