البرمجة، تعد احد اهم الوظائف المطلوبة في مجال الشركات الناشئة والحديثة ولا غني عنها في الشركات والمؤسسات الكبيرة، وهناك العديد من المصادر لتعلم البرمجة في كافة المسارات المختلفة ولكن هناك بعض النصائح اللتي يجب العمل بها لتصبح مبرمج محترف، وفي هذه التدوينة يحدثنا المهندس / حسام جمال عن كيفية الدخول في عالم البرمجة بشكل سليم وصحيح.
ازاى تأسس نفسك صح فى البرمجة.
- اﻻول هتكلم عن مرحلة التاهيل, وده خاصة لو انت مش متخصص Computer science, وهقسمهم اﻻجابات على كذا سؤال:
- ايه اهم مواد computer science فى حالة انك عاوز تتخصص كا Android developer؟
- لغة برمجة زى Java.
- هياكل بيانات او Data structure.
- خوارزميات او Algorithms.
- قواعد بيانات او Databases.
- ده المواد ال لو درستها كويس وقدرت تطبق عليها, مش هتفرق عن اى حد درس Computer science غير الشهادة, وده من احدى اهم الشروط عشان تقدر تقدم على وظيفة فى Google مثﻻ بجانب عوامل زى الخبرة والمشاريع السابقة.
- ايه ال هبدأ بيه اﻻول وايه اﻻهم ؟
من غير لغة البرمجة مش هتقدر تدرس باقى المواد ﻻنهم معتمدين اعتماد كلى على لغة البرمجة, فا البداية هتكون جافا
-اذاكر منين جافا وايه احسن واحد بيشرح؟
- شخصيا مش بحب السؤال ده, ﻻن ممكن ارشحلك واحد متفهمش منه لكن غير فهم وهكذا, انا عن نفسى ذاكرت جافا من كتب PDF, فا اﻻفضل انك تدور بنفسك على ال Youtube وباقى المنصات التعليمية لحد لما تﻻقى واحد بيفهمك كويس.
-طيب خلاص ذاكرت Java, اعمل ايه تانى ؟
- - متقولش على نفسك انك درست او فهمت Java اﻻ لما تكون عملت بيها مشروع كبير, مادام مشتغلتش مشاريع كل ال دارستة هتنساه مع الوقت, لكن لو طبقت حتى لو سيبت البرمجة فترة ورجعت هتفتكرها بسهوله عن طريق المشاريع الخاصة بيك.
- - اثناء دراستك ل Java هتقابل chapter اسمه OOP , ده اهم حاجة فى مجال ال Programming عموما, ده نفسه البرمجة, مينفعش تنقل من دراستك لل Java ﻻى حاجة تانية اﻻ وانت فاهم كويس جدا ايه OOP.
- - لما هتبدأ تطبيق بمشروع كبير هتحتاج انك يكون عند Database عشان تخزن فيها ال data, وقتها هتضطر غصب عنك انك تدرس اى نوع من انواع ال database زى Mysql او Mongo db, اﻻول Sql والثانى nonsql, ولازم تقراء عن كل واحد فيهم وتفهم الفرق بينهم وتحدد انت عاوز تشتغل بايه.
- - هيفضل عند Data structure وال Algorithms, دول اتقل حاجة ممكن تدرسها فى Computer science وببساطة شديدة لو فهتمهم كويس وقدرت تشتغل بيهم بجانب خبرتك مثﻻ فى ال android فرصتك هتكون كبيرة جدا انك تشتغل فى اكبر الشركات,
- -بنائا عليه ابدأ بال Data structure معى بداية تطبيقك للمشاريع دراسة خفيفة مثﻻ ساعة كل يوم, وﻻزم تطبق كل حاجة بايدك فى الكورس الخاص بيها وتفهما كويس جدا, هيفرق معاك كتير جدا فيما بعد,
- - وبالنسبة لل Algorithms, هى ببساطة شديدة بتخليك ازاى تفكر لحل المشكلة وتجيب افضل حل ليها, وحرفيا بتغير طريقة تفكيرك فى كل حاجة فى حياتك ومش بس فى البرمجة, وهتعمل برضه نفس الموضوع انك هتوفر ليها مثﻻ كل يوم ساعتين او دراسة مكثفة لكان بعد ال java وال Data structure.
- - وخليك فاكر دايما ان ال Algorithms و ال Data structure هى ال بتفرق مطور شاطر عن مطور عادى وبتزود فرصك فى الوظائف بشكل مضاعف ﻻن ال interview اغلبه بيكون عن الموضوع ده.
- نقط توضيحية :
1- مش شرط عشان تقدر تعمل مشروع كبير انك تخلص Algorithms و ال data structure, تقدر عادى تشتغل مشروع من غيرهم لكن بيهم هتقدر تطلع على جودة للمشروع بتاعك.
2- لما تقدر تنهى كل المواضيع ده هتكون مؤهل لدراسة ال Android بجانب انك هتكون متأسس صح وهيسهل عليك بشكل كبير دراستك لل Android.
الملخص
الموضوع محتاج صبر وعزيمة ومش صعب, وخليك فاكر ان حياتك الشخصية والمهنية هتختلف تماما لو قدرت تخلص الكﻻم ده, وهتوفر لنفسك حياة كريمة فيما بعد.