نشر لأول مرة على موقع لقاءات.
عرفنا بنفسك أخ / واثق الشويطر؟
مرحبًا، أنا واثق الشويطر، مبرمج ويب من اليمن. خريج تخصص تقنية المعلومات. أدوّن من حين لآخر، وقد ترجمت بعض المقالات التقنية. أحب البرمجة والتقنية والثقافة العامة والأدب وكرة القدم. أخشى دائمًا من سؤال التعريف بالنفس فالتعاريف قيود وفيها من الاختزال الشيء الكثير.
درست البرمجة في الجامعة وتخصص في تقنية المعلومات ، حدثنا بدايتك في البرمجة
تعلّمي للبرمجة كان عاديًا جدًا وليس فيه أي قصّة ملهمة. تعلّمتها في الجامعة ضمن المواد الدراسية المخصصة لها، مع كثير من المصادر عبر الإنترنت، ومخيّم برمجي (Bootcamp) جاء بعد الجامعة..
أي شخص عندما يبدأ في البحث عن مجال يعشقه أو يرغب فيه يواجه الكثير من الصعاب و محاولات الإحباط له من المحيط الخارجي له، كيف أثر فيك ذلك و ما الدافع الذي جعلك تواصل و تواكب؟
كنت محظوظًا كما أسلفتُ أنني درست بالطريقة التقليدية في الجامعة، وكنت محظوظًا كذلك عندما حظيت بفرصة الدخول في المخيّم البرمجي. إلى جانب ما سبق فقد كان التنافس بيني وزملائي عاملًا مهما في التحفيز. كما أنني كنت أحيط نفسي بالمبرمجين في المجتمعات التقنية أينما حلّت، وكان في هذا أبلغ الأثر في تحفيزي المستمر. إدراكي المبكّر أن البرمجة صعبة وتحتاج جهدا ووقتا كبيرين ساعدني في عدم المفاجأة من الوقت والجهد اللازمين للتقدم فيها.
عندي أن التحفيز يدور في مجموعة أمور:
1- الشغف.
2- المصلحة أو الحاجة، ويندرج تحته الحاجة للمال والوظيفة والخوف من الفقر والعطالة.
3- التعوّد، فعند تخصيص وقت يومي أو شبه يومي لعمل معيّن يصبح جزءا من طبيعة الفرد وليس عليه أي مشقة.
4- الإصرار أو الهمة، وقد تسمى في بعض المرات: قوة الإرادة. وهي القوة التي تدفعك لتحقيق الأهداف رغم الصعاب والمعوقات.
5- حب الخير؛ فلأجله يعمل الإنسان بما قد يخالف هواه وقد يبذل في سبيله الغالي والنفيس.
6- البيئة الحاضنة، وهي قد تشجّع المرء أو تثبّطه ولذا الحرص أن تكون البيئة الواقعية أو الإلكترونية مشجّعة وتدفع للأمام.
7- النجاح، أو إتقان العمل الذي تقوم به؛ فهذا يدفعك للاستمرار ولكنه يأتي بعد مدة.
كل ما سبق من محفّزات من الصعب أن تجتمع كلها في إنسان، لكن حاول ما استطعت أن تجمع أكبر قدر منها.
كيف أتعلم البرمجة، ومن أين أبدأ؟ سؤال يراود الجميع.
في طرفة قالها أحد المبرمجين السابقين في شركة جوجل أن أهم ميزة يجب أن يتحلّى بها من يريد تعلّم البرمجة هي القدرة على الجلوس أمام الحاسوب لساعات! وحقًا فمعظم الناس لديهم ما يؤهلهم لتعلم البرمجة، وهناك مسارات لا حصر لها للتعلم قد تشتت المبتدئ. المهم أن تبدأ وتستمر وتركز على مجال واحد في بداية تعلمك..وهكذا حتى تقف على قدميك..
كنت قد كتبت طريقة لتعلم البرمجة وسأعيدها كما هي لأنني لا أرى فائدة من كتابة واحدة جديدة.
إذا كنت من التخصصات الحاسوبية فأنصحك أن تجتهد في دروسك ولا تتجاهل أيًا منها لأنها قد تفيدك حتى لو لم تعرف فائدتها المباشرة، وأنصحك كثيرًا بهذه الدورة الرائعة من الدكتور مصطفى سعد إبراهيم: إما دورة ++C أو دورة Python. اختر واحدة منها فقط وأنا أنصح بدورة ++C لأنها ستعرفك على اللغات الشبيهة بC وهي أشهر اللغات، وبعدها يمكنك تعلم Python بسرعة من أي مصدر.. أنصحك بدورة الأستاذ مصطفى سعد لأنها دورة مليئة بالتحدي والأسئلة وتشمل اللغة البرمجية بحيث لن تجد هذا الشمول في أي دورة أخرى، فهي بذلك تنمي مهارتك في حل المشكلات وبناء المشاريع وتجعل انتقالك إلى دروس الخوارزميات وهياكل البيانات في غاية السلاسة.
ثم أنصحك بالانتقال لأن تتحدى نفسك في المشكلات البرمجية في جدول البيانات هذا، أو هذا. الجدولان أعدهما الدكتور مصطفى سعد، فأما الجدول الأول فهو خاص بالمسابقات البرمجية (Competitive Programming)، وأما الثاني فهو خاص بأسئلة المقابلات (Interviews) وهي أسهل نوعًا ما. اختر أيًا منها وتحدّ نفسك ولا تبتئس بصعوبتها أو تجد أنها بلا فائدة، بل إن مهارة حل المشكلات (Problem Solving) ستجعل منك مبرمجًا حقيقيًا مهما كانت التقنيات ولغات البرمجة التي تتعامل معها.
أما إذا تعلمت التقنيات والبرامج دون مهارة حل المشكلات فستصبح عاجزًا عن تطويع هذه التقنيات لبناء المشاريع التي تريدها. بالمناسبة، هذه طريقة لتنمية مهارة حل المشكلات وليست الوحيدة لكنها الأشهر. اجعلها عادة يومية لك بحل هذه المسائل مع قيامك بالتزاماتك الدراسية والتعليمية الأخرى، وبجانب تعلّمك للتقنيات والبرمجيات التي تحتاجها.. ثم انتقل بعد تلك الدورة لدورة هياكل البيانات (Data Structures) التي أعدها الدكتور مصطفى سعد وهذا رابطها.
بعد ذلك، تعلّم مادة الخوارزميات والتي على الأرجح أنها ستدّرس في الجامعة ولكن لو أعد الدكتور مصطفى سعد دورة في المستقبل للخوارزميات فأنصحك بها منذ الآن.
قبل أن أنسى، يقدم الدكتور مصطفى سعد كوبونات مجانية لكل دوراته المدفوعة للطلاب العرب من خلال هذا النموذج.
كل هذا وأنت تقوم بحل المشكلات البرمجية بحسب الجدول المذكور آنفًا.
ثم بعد ذلك يمكنك الانطلاق في تعلم التقنيات عن طريق هذا الرابط ففيه خارطة طريق لمطور الواجهات (Frontend) ومطور النظم الخلفية (Backend) وغيرها.. أو هذه المسارات التعليمية من موقع أكاديمية الزيرو، والجميل فيها أنها خارطة طريق مع دروس فيديو مميزة (وعربية) من المهندس الرائع أسامة محمد (الزيرو). تعلّم هذه المفاهيم الموجودة في هذه المسارات بطريقتك الخاصة، عن طريق دروس نصية أو كتب أو فيديوهات أو دورات فيديو.. لا يوجد مسار واحد للتعلم وستجد أنّك تفهم بطريقة مختلفة عن صديقك فلا بأس.. واسأل الأكثر خبرة منك وسيدلّونك، وستشق طريقك بنفسك..
اجعل محرك البحث صديقك الدائم وابحث عن أي مشكلة تواجهك.. وانضم لمجموعات التعليم في مواقع التواصل الاجتماعي واحتكّ بمن هم أكثر خبرة منك للاستفادة منهم..
أما إذا كنت لم تدخل أي تخصص حاسوبي لأي سبب كان فأنصحك أن تبدأ في خارطة الطريق مباشرة لأنك ستملّ من دورات التفكير البرمجي المجردة لكن هذه المسارات التعليمية ستعطيك مردودًا (Feedback) مشاهدًا لعملك، وهذا سيمنحك الطاقة للمواصلة.. ولكن بعد أن تقف على قدميك لا تنس ما نصحت به الطالب الجامعي حتى تقوي مهارة حل المشكلات عندك.
عليك ببناء المشاريع الجانبية، وعدم التهيّب من اللعب والعبث ببعض المشاريع مفتوحة المصدر والمشاركة فيها، والمشاركة في المسابقات والتحديات، ومساعدة الآخرين وطلب المساعدة منهم في المجتمعات التقنية، وقراءة الكتب، ومطالعة الدروس، ومشاهدة الفيديوهات التعليمية، وحضور المساقات التعليمية وسماع البودكاستات وغيرها.. مزيج من كلّ ما سبق سيبني شخصيتك البرمجية وسيرفع مستواك.
لماذا أخترت العمل الحر بدلا من العمل العادي، و هل تعتقد بأنه يمكن أن يكون مصدر دخل يعتمد عليه؟
الحقيقة أنني لم أختر العمل الحر على العمل العادي! صحيح أنني عملت بعض الأعمال المستقلة أو الحرة، لكن عملي الرئيسي عمل عادي تقليدي.. لست ضد أي من العمل الحر أو التقليدي أو العمل عن بعد، لكل واحد منها مزاياه وعيوبه، وهو يناسب بعض الناس دون بعضهم. أظن أن طرق الأعمال الثالثة المذكورة آنفًا ستستمر في الانتشار جنبًا إلى جنب وهذا أمر صحي جدًا وسيدفع الناس للحصول على أعمال أفضل وفرص أكثر.
في الآونة الأخيرة أصبح متوسط رواتب المبرمجين الأعلى في العالم!
تعليقي على الأمر أنه جميل ومضلل أحيانًا لأن الرواتب لها ارتباطات بالحالة الاقتصادية للبلد ومدى تميّز المبرمج وخبرته. هذه الإحصائيات تتحدث غالبًا عن الولايات المتحدة وأوروبا.. أما غيرها من البلدان فالوضع مختلف.. على سبيل المثال فرواتب المبرمجين في بلدي سيئة جدًا. على من يقرأ هذه الإحصائيات معرفة سياق هذه الأرقام وألا يغتر بها حتى لا ينصدم بالواقع. لكن إذا كنت جيدًا في البرمجة فستحصل على الكثير، إن لم يكن من العمل التقليدي فسيكون بالعمل الحر أو العمل عن بعد.
ما هي مجالات العمل الحر للمبرمجين؟
مجالات تطوير المواقع أو التطبيقات أو إصلاحها وغيرها الكثير. يمكن تصفحها من مواقع العمل الحر والتي قد ذكرتها في تدوينتي هذه، وعند تصفّح هذه المواقع ستعرف المجالات المطلوبة وشدة التنافس عليها، ومتوسط الأسعار المقدمة فيها.. الأمور تتغير بسرعة لذلك لا يوجد خير من البحث عنها من المصدر.
صناعة المحتوي في الويب العربي في الآونة الأخيرة أصبحت أكثر ازدهارا، ما رأيك بذلك؟
شيء جميل ويدعو للفرح بالتأكيد، لكن هناك نقص حاد في المجتمعات التقنية خارج مواقع التواصل الاجتماعي الكبيرة خاصة بعد انقراض المنتديات، وهذا أمر يجب حلّه لأن البقاء تحت رحمة هذه المواقع سيسبب مشاكلًا عديدة نشهدها دائمًا..
ما هي أعظم إنجازات لك على مر السنوات السابقة؟
حقيقة، ليس لدى إنجاز أستطيع عدّه أعظم إنجاز. ربما مدونتي مما أفخر به، والأمور العظيمة التي أفخر بها حقًا لم تأتِ بعد. نأمل من الله أن يعينني عليها.
شخصيات ملهمة بالنسبة لك و تريد أن تقرأ لهم لقاء يحكون لنا فيها عن تجربتهم الخاصة ، من ترشح لنا؟
الأستاذ عبدالهادي جعفر وأرشّحه للقاء معكم.
في الختام، كلمة وداع
بالتوفيق للجميع. وأنصحك بقراءة الكتب التقنية فهي تعطيك ما لا تعطيك الدورات والدروس.