أمور تمنيت معرفتها قبل دخولي عالم البرمجة

معلومات عامة  -  بواسطة:   اخر تحديث:  2020/10/24
أمور تمنيت معرفتها قبل دخولي عالم البرمجة

تريد تعلم أساسيات البرمجة ومتحمس كثيراً؟ ماذا ستفعل كخطوة أولية؟ من أين تبدأ؟ ما الاختصاص الوظيفي الذي تريده؟ اسئلة كثيرة بدون إجابة…


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


اختيار اللغة البرمجية أمر مهم


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


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


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


كل اللغات لها وثائق مخصصة على موقعها الرسمي


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


  • Python.org

  • RubyonRails.org

  • Reactjs.org

غوغل صديق لا غنى عنه


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


البرمجة ليست سحراً يمكنك تعلمها بكل تأكيد


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


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


مقدمة في التعلم العميق Deep learning… ما هو التعلم العميق وما هي أهم استخداماته؟


لن تتعلم كل شيء


لن تتعلم كل شيء في أي لغة، لأن هناك ببساطة الكثير مما يجب معرفته، بجانب أن ما يجب معرفته يتغير دائماً.


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


الثابت الوحيد في هندسة البرمجيات هو أنها دائماً ما تتغير وتتطور، وعليك أن تكون مرتاحاً لهذه الحقيقة.


Github المساعد الممتاز


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


تكمن أهميته أنه بإمكانك الاحتفاط بعملك على الإنترنت ومشاركته مع الآخرين واطلاع على أعمال الآخرين أيضاً.


HackerRank و LeetCode و Codewars هي مواقع مهمة أيضاً


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


إليكم أكثر 10 دورات تسجيلًا على منصة كورسيرا Coursera قاهر التعليم المُعقد


الممارسة ثم الممارسة ثم الممارسة


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


هندسة البرمجيات هي أكثر بكثير من مجرد إنشاء أسطر برمجيّة


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