رسالة الموقع

10 نصائح إذا كنت مقبل على تعلم مسار الفول ستاك [ 2021 ]

10 نصائح إذا كنت مقبل على تعلم مسار الفول ستاك [ 2021 ]
أن تكون مبرمج Full Stack هي مهمة صعبة حقا , خصوصا أنك يجب أن تكون على دراية عامة بكل نواحي العمل , و تتابع المستجدات في مجال تطوير المواقع أولا بأول , و مش هقولك كل يوم في جديد .. ﻷ كل ساعة في جديد سعادتك 😂 , و دول 10 نصائح أو نقاط حاول تضعها في اعتبارك من بداية الطريق و إن شاء الله هتلاقي فيهم إفادة كبيرة.

1- الفرونت إند أولا

ادرس الفرونت إند Front End في البداية و اديله حقه و وقته , و أهم ميزة لدراسة الفرونت إند في بداية طريق تعلم برمجة و تصميم المواقع إنك بتشوف بسرعة نتايج اللي بتدرسه و تتعلمه على الشاشة قصادك , بعكس دراسة البرمجة و الباك إند اللي هتحتاج إنك توصل لمستوى معين عشان تقدر تنفذ حاجات تشوفها بعينك كنتائج عملية .. فكرة إنك بتطبق و تشوف نتايج اللي بتتعلمه بسرعة هتخليك متحفز دايما لتعلم المزيد و مش هتحس بالملل بسرعة 😤😤.

2- اﻷساسيات قبل المكتبات و إطارات العمل

صحيح إن المكتبات و إطارات العمل بتسهل تنفيذ عمليات كتيرة و بتساعدك على تنظيم كودك بشكل أفضل ( خصوصا إطارات العمل ) لكن من الضروري جدا جدا دراسة أساسيات كل لغة هتشتغل بيها و كذلك دراسة اﻷساسيات و الفلسفة اللي اتبنى عليها إطار العمل نفسه .
و بصفة عامة في أي interview عمل , لو اتسألت في اﻷساسيات و ما عرفتش تجاوب هتكون دي نقطة سلبية جدا جدا , بعكس الأسئلة في الأمور اﻷكثر تعقيدا اللي ممكن جدا التغاضي عنها إذا كنت فاهم اﻷسياسيات عن ظهر قلب , ﻹن تعلم اﻷمور المعقدة وقتها مش هيحتاج منك غير شوية وقت 😎.


3- الجافا سكربت ثم الجافا سكربت

10 نصائح إذا كنت مقبل على تعلم مسار الفول ستاك [ 2021 ]
عشان تبدأ تدرس و تفهم الجافا سكربت ممكن تحتاج 5 أيام و تلاقي نفسك قادر تنفذ تاسكات و تعديلات بسيطة , لكن فعليا عشان تتمكن من الجافا سكربت و تنفذ المهمات الضخمة ممكن تحتاج لشهور طويلة من الممارسة و التدريب. و الجافا سكربت فعليا تستحق إنك تستثمر فيها جزء كبير من وقتك خصوصا إن مجالات التطبيق العملي ليها متعددة جدا و حاليا أصبحت واحدة من اللغات اللي بيتم تنفيذ الباك إند بيها ( و إن كانت مازالت غير منتشرة كلغة للـ Back End )

4- تعلم أساسيات الحماية

10 نصائح إذا كنت مقبل على تعلم مسار الفول ستاك [ 2021 ]
تأمين الكود البرمجي ضد الثغرات اﻷمنية , خصوصا المنتشرة و المشهورة , هو شيء أساسي و منتظر إنك تكون عارفه كويس لو كنت ناوي تشتغل كـ Full Stack Developer , بغض النظر عن حجم الموقع أو التطبيق اللي بتبنيه لازم تكون ملتزم بكتابة كود نظيف و آمن. اعرف أساسيات التشفير cryptography و إزاي الـ VPN و الـ Firewalls بتشتغل , و أيه أهمية العمل على بروتوكول الـ HTTPS , وهكذا.


5- تعلم أفضل الممارسات Best Practices

المقصود بأفضل الممارسات best practices هي أفضل الطرق لكتابة الكود و تنظيمه , لاحظ إن في جملة منتشرة جدا في مجال البرمجة و هي إن مافيش طريقة واحدة لتنفيذ التاسك دايما توجد أكثر من طريقة , وده كلام حقيقي جدا , لكن مش دايما كل الطرق دي بتكون على نفس القدر من الجودة 👊👊 ممكن طريقة تكون أفضل من حيث سرعة تنفيذ الكود أو استهلاك الكود لموارد أقل من موارد السيرفر أو إن الكود بالطريقة دي يكون أسهل في قراءته ( بشريا ) و التعديل عليه , وهكذا

فحاول دايما تتعلم أفضل الممارسات دي و على قد ما تقدر التزم بيها , ممكن الموضوع يكون " رخم " شوية في البداية لكن بعد وقت بسيط هتلاقي الموضوع اتحول لعادة عندك.

6- اعرف أكتر عن محركات قواعد البيانات

10 نصائح إذا كنت مقبل على تعلم مسار الفول ستاك [ 2021 ]
بالنسبة لقواعد البيانات مافيش حاجة اسمها أفضل محرك لقواعد البيانات هو كذا , أو مثلا إن قواعد البيانات الغير علائقية NoSQL أفضل من قواعد البيانات العلائقية SQL.
كل نظام من أنظمة إدارة قواعد البيانات بيكون متميز في نقط معينة و عنده ( بالضرورة ) نقط ضعف غيرها , و كل مشروع project بيكون ليه نظام أفضل ﻹدارته من أنظمة / محركات قواعد البيانات .. الأفضلية بتكون على أساس احتياجات كل مشروع , حجم قاعدة البيانات , عدد الاستعلامات لحظيا , نوعية الاستعلامات دي بسيطة و ألا معقدة و بتيجي من مجموعة جداول مرتبطين ببعض .... إلخ

يمكن النقطة دي سابقة ﻷوانها شوية ﻹنك في البداية هتلاقي نفسك بتتعامل مع نوع واحد فقط من محركات قواعد البيانات حسب لغة الباك إند اللي هتشتغل بيها , لكن ده ما يمنعش إنك تكون عارف مبدأيا كدا إن كل محرك من محركات قواعد البيانات ( بما فيهم اللي هتشتغل بيه ) ليه نقط قوة بيتميز عن الباقيين فيها , و برضوا ليه نقط ضعف .. فاعرفها عشان تقدر تستفيد من نقط قوته و تتجنب نقاط ضعفه قدر اﻹمكان.

7- العلم على السيرفر مش في الدفتر 😆

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

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

8- قلنا العلم على السيرفر مش في الدفتر

ﻷ أنا مش بخم و أكرر الكلام عشان اكملهم 10 نصايح و خلاص 😅
دي نقطة تانية بس واخدة نفس التايتل 😂 المقصود منها إن مشاريعك الخاصة Side Projects اللي هتنفذها دي لازم ترفعها على الانترنت و تخليها متاحة للناس تشوفها و تحكم عليها , لكن إنك تكتفي بتنفيذ المشاريع دي على جهازك الشخصي يبقى ولا كإنك عملتها 😓

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

9- خد فكرة عن اللينكس و الكلاود

لو هتشتغل بلغة الـ PHP كلغة باك إند يبقى أساسي هتتعامل مع سيرفرات على نظام تشغيل لينكس 🐧 حاول تشتغل عليه و تفهم فلسفته العامة , و بالرغم من إن دي مهمة مسئول السيرفرات بالمقام اﻷول بس أنت فول استاك يبقى لازم تكون عندك خلفية عن اﻷساسيات.

أما بقى أنظمة التخزين السحابي Cloud ☁☁ و التقنيات الحديثة زي Docker فدي أساسي تعرفها بغض النظر عن لغة الباك إند اللي هتشتغل بيها 👌.

10- يموت المعلم و لم يتعلم

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

ختاما , و تذكير باللي المفروض تبدأ بيه و يكون رقمه 0 في ترتيب جدولك هو تذكير بحديث رسول الله صلى الله عليه وسلم : " احرص على ما ينفعك ، واستعن بالله ولا تعجز. "

المشاركات اﻷكثر تفاعلا