كيف أتعلم اللغات البرمجية وأبدا في الربح منها ؟

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

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

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


صورة لمقال تعلم البرمجة


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

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



نقطة البداية التي يجب الإرتكاز عليها لإحتراف البرمجة

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

من الأسئلة الأكثر شيوعًا الآن " ما هي أفضل لغة برمجية لسنة 2018 ؟ " أو حتى مع دخول عام 2019 فاللغة بشكل عام لا تحدد بالسنوات ولا توجد لغة أفضل من لغة أخرى بل كل واحدة منها تستخدم في تخصص ما لذا قمت بتصميم صورة الموضحة أدناه لفهم آلية كيف تختار لغتك البرمجية الأفضل بالنسبة لك انت.




أنواع التخصصات البرمجية وأيهما أفضل؟

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

  • تطوير تطبيقات والعاب الموبايل

مع ظهور آليات وتكنولوجيات جديدة أصبحت البرمجة تتفرع إلى تفرعات حيثُ كل تفرع يملك لغات برمجية ومكتبات خاصة به، فعلى سبيل المثال إذا أردت أن تطوير تطبيقات الأندرويد فسيتطلب عليك تعلم لغة جافا " Java " أو كوتلين " Kotlin " أولاً إضافة إلى لغة XML التي تعمل مع برنامج أندرويد ستوديو والتعرف على إحدى مكتبتي الـ Swing أو JavaFx وهكذا.

إذن كيف أختار؟ كما ذكرنا سابقًا يجب عليك تحديد الهدف أولاً، فإذا كنت أود أحقق مبلغ مالي أكبر فسأتوجه إلى تطبيقات أندرويد أو آي او آس " iOS " لأن أغلب مطوري تطبيقات الموبايل الآن يحققون آلاف الدولارات يوميًا.

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


  • تطوير المواقع الويب وواجهات المستخدم


ما عليك  تعلمه كأساسيات لبدء مشوارك في هذا المجال يجب أن تُتقن كلا من الـ JavaScript وHTML و CSS ومعرفة بعض المكتبات كالـ Jquery وحتى الـ Bootsrap وهذا فقط لتصميم واجهة المستخدم للموقع او بما يسمى بـ Front end أي مظهر الموقع ولتصميم موقع كامل متكامل يجب أيضًا إكمال Back end.

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

غالبًا نجدهم ينقسمان الى مصمم وهو الذي يصمم واجهة الموقع فقط ومطور والذي يتحكم في الـBack-End وهناك من المبرمجين من نجده يصمم الموقع بكالمه أي هو المصمم والمطور في آن واحد.

  • مهندس البرمجيات (تخصص جامعي)

مثالاً آخر إذا كنت تريد إلتحاق بشركة ما ففي غالب الأحيان ستجد هاته الشركات تطلب منك السيرة الذاتية " CV " أو شهادة جامعية في تخصص هندسة البرمجيات "Software Engineering " في معظم الأحيان هذا الأخير يحقق أيضًا مبالغ خيالية ففي أمريكا يصل متوسط الدخل لديهم إلى 100 ألف دولار أمريكي في الشهر ولكن عندما نتحدث عن المبرمجين في أمريكا بالطبع يملكون خبرات جد عالية في هذا المجال.

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

وأنا ابحث في محرك البحث بصدد أن اجد لكم شركة تحتاج إلى مبرمجين لتوظيفهم فقط لأضرب لكم بها مثالاً وجدت موقع Moz الشهير يعرض صفحة للتوظيف حيثُ صادفت أن 80% من هذه الصفحة تحتاج لمهندسي برمجيات وإليكم الصورة التي توضح لكم ذلك.



كيف أتعلم لغة برمجية واحترف فيها ؟

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

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

إذا قابلت أي خبير أو مدرس لغة أجنبية أي كان وسألته كيف أتعلم اللغة الإنجليزية؟

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

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

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

انضم للمنتديات والمجموعات المهتمة في تخصصك البرمجي وأنصحكم بموقع Stack Overflow فهو بالنسبة لي بمثابة القاموس البرمجي فأي شيء يخطر ببالك ستجده فيه كما ستجدون ايضًا جميع الحلول للمشاكل والأخطاء التي تحدث اثناء تشغيل البرامج كما ستجدون فيه شرح لمعظم التساؤلات المتعلقة بالبرمجة، التعامل مع الموقع جد سهل فقط أكتب في مربع البحث الشيء الذي تود الإستفسار عنه وستظهر لك آلاف الإجابات من أعضاء المنتدى.
وهناك العديد من المواقع المشابهة له التي يمكنك الإستعانة بها لتطوير مهاراتك كـ " GitHub"، "Bitbucket" ، و Codeplex.

رابط الموقع: Stack OverFlow



الآن قد تتسائل كم الوقت اللازم لتعلم لغة برمجية ؟ ليست هناك إجابة محددة لهذا السؤال لأنها تحدد بعدة عوامل منها: عدد الساعات التي تقضيها معها في اليوم، نوع اللغة..إلخ، فعلى سبيل مثال قضاء ساعة أو ساعتين في اليوم مع لغة سي شارب C# سيمتد ذلك لإكتمالها 5 أشهر كحد اقصى ولكن لبلوغ درجة الإحتراف فيها سيتخطى السنة كاملة، ونجد ذلك مخالفًا تمامًا حيثُ تعلمك لـ JavaScript حيثُ أغلب دوراتها لا تتعدى 40 ساعة فإكمالها لن يتعدى شهرين كأقصى تقدير.




كيف أربح من ما تعلمته من لغات برمجية ؟

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


كتابة الاكواد البرمجية  للمواقع وإصلاح مشاكلها

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

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

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

المسابقات البرمجية 

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


بناء التطبيقات بأقل خبرة

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

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

نفس الشيء مع نظام iOS ولكن يجب عليك تعلم شيئًا من لغة الـ Swift والـ Objective C لأنها كلاهما تعتبران أساسيان في عملية إنشاء والتعديل في التطبيقات والألعاب.

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