كيف أستعيد شغفي بالبرمجة؟

2021-07-27 12:17:39

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

و حين لامسك النضج، بدأت حقا بتعلم البرمجة، فأخبروك بأن تبدأ بتقنيات مثل الـ C و الـ HTML سابقاً ثم وجدت على المواقع بأن تبدأ بتعلم python أو C++ و ربما شاهدت الصراع الأعمى الشبيه بالتفرقة العنصرية بين مؤيد بلغة Java و Kotlin في مجال الأندرويد و ربما نصحك أحدهم بضرورة فهم الخوارزميات، فتوجهت صوب اليوتيوب وجوجل و بحثت يمنةً و يسرى حتى بدأت تتعلم و تستكشف القليل بالقليل، ثم القليل في الكثير، ثم الكثير في الكثير.

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

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

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

جرب شيئاً جديداً في مجال البرمجة

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

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

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

الجديد قد يكون متعباً للكثيرين لكن عليك أن تتحمل، عليك ان تُخضع نفسك لتدريب صارم لاستكمال فهم ذلك المجال، وتطوير أول برمجية لك في هذا المجال الجديد، فبادر الآن بالتغيير، و لست وحدك من يشعر بالتعب من ذلك، و هناك من طبق ذلك و وجد نفسه يتعلم أشياء جديدة أنعشت رغبته كثيراً و ربما أضاف أشياء أخرى، فنجد مثلا أحدهم يتعلم مهارات جديدة لها علاقة بـ Data analysis و تطبيق لغات عدة عليها مثل C# و Python و هناك من تعلم إلى جانب ذلك العملات الرقمية و أيضا هناك من المصممين اكتشف طرقاً مختلفة للتصميم فمثلاً كان يلجأ كثيراً لـ SVG غير أنه وقع بين يديه على يوتيوب طريقة بديلة بـ CSS فقط و هناك من تعلم مهارات جديدة لها علاقة بلغات Python أو Java أو ربما مر عليه إطارات جديدة، بل هناك من وصل به الحال إلى تعلم أشياء أخرى و قراءة المزيد مثلا في الرياضيات بعد أن ازداد شغفه و بدأ يتعلم المزيد من أجل فكرة ما في رأسه... كل هذا كفيل بإنعاش الرغبة و قد يوقظ بك الرغبة بالقراءة و مشاهدة كل شيء جديد و تعلمه و فهمه أكثر و خصوصاً أيها القارئ إذا كنت مسلماً، اعلم إننا شعب يجب أن يقرأ تماما حين نزل الوحي بأول سورة إلى رسول الله صلى الله عليه و سلم و قال (اقرأ).

أنت لا ترى نتائج أعمالك

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

السبب الحقيقي يرجح إلى كونك تطمح لأشياء كبيرة لتطويرها من خلال التقنيات التي تعلمتها، أنت لا تريد برمجة تطبيق تنفيذ المهام (TODO مثلاً) – الكثير استخف بها و لكن انظر إلى الانترنت كيف السوق يعتمد عليها و تطورت - لأنه في نظرك بسيط للغاية ومبتذل بشكل كبير، وأنت لا تريد تطوير صفحة ويب عبارة عن Landing Page لأنها في نظرك لا ترتقي لمستواك، ما تريد برمجته أنت هو شيء ضخم جدا، ربما تطبيق أو موقع ينافس فيسبوك و يوتيوب و تويتر!

حسنا قبل أن نكمل، إذا كنت ترى أن عمل تطبيق أو موقع أو أداة بسيطة TODO أو Task manager أمرٌ مبتذل حقاً، افتح متصفحاً – أي متصفح تفضل – و اكتب و ابحث عن هذه المشاريع التي تراها مبتذلة و ابحث عن الأفضل بينها و عن نسبة الطلبات عليها و ستندهش حقاً، بل و ستصدم بأنك كنت مخطئاً إنك استخففت بمثل هذه المشاريع.

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

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

تتفاخر بما تقوم بإنجازه

لديك حسابات على منصات التواصل الاجتماعي صحيح؟ فما رأيك أن تشارك فيها الأشياء التي تقوم ببرمجتها؟ ليس لديك شيء لمشاركته؟ ما رأيك أن تبدأ الآن ببرمجة شيء ما من الصفر ومشاركته في الأخير على منصات التواصل الاجتماعي؟

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

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

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

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

جدولة أعمالك ومشاريعك البرمجية مضطربة

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

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

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

الحصول على مشاريع حقيقية

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

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

إذا كنت تشعر لا ترغب بذلك بحجة إنك تعتقد أن مهارتك ليست كافية فهناك حلول متنوعة لذلك، يمكنك أن تلجأ لمبرمج خبير مستعد أن يقدم يد المساعدة لك و تقديم النصائح. تذكر! 80% من نجاح المبرمج تكمن في علاقاته الاجتماعية.

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

بيئة العمل ضعيفة أو غير مشجعة

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

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

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

و ختاماً

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