الاثنين، 8 يناير 2018

٧ نصائح للمبرمجين

مساء الخير, ازيكم

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

أولاً قبل ما ابدا, عاوز اشكر الناس اللي تفاعلت مع الفيديو اللي فات, و اكدت على ان الفورمات ده أفضل بالنسبالهم و ان شاء الله ححاول أقدم محتوى أكثر في الفورمات ده في المستقبل

نرجع لموضوعنا

 1. Don't fall in love with your Code
 يعني ايه؟ يعني الكود بتاعك مش جزء منك, ممكن جداً حد ينتقد الكود بتاعك, مش معناه انه بينتقدك انت كشخص, أو قصده انك مش فاهم أو أي حاجة شخصية, الكود في النهاية قابل للنقد و مش حيتحسن غير بالنقد الموضوعي.و أنا شخصياً من رأيي انك لو بصيت على كود كتبته من سنة مثلاً و مالقيتش مشاكل فيه, يبقى غالباً انت مستواك ما تطورش.
 2. استثمر في نفسك
 سواء حتستثمر وقت أو فلوس, خليك دايماً فاكر ان انت رأس مالك الأول, يعني لو أهملته حتتعب و تواجه مشاكل كثير في حياتك, علشان كده استثمر في نفسك سواء بانك تدي نفسك وقت في اليوم سواء علشان تقرا, أو تتعلم حاجة جديدة, أو تلعب رياضة, أو حتى ترتاح و تعمل أي حاجة تانية لنفسك, و برضه ممكن تستثمر جزء من فلوسك في انك تحسن مهارات مثلأً بالكورسات أو الكتب أو الأدوات اللي ممكن تساعدك.
 3. اسمع المشكلة من العميل, مش الحل المقترح
 قبل ما تبدأ تكتب أي سطر كود في أي مشكلة, حاول تفكر في المشكلة من أبعاد كثير, و غالباً أول نظرة بتبقى قاصرة و مش حتحل المشكلة ١٠٠٪, حاول تسأل أكثر بحيث تفهم أبعاد المشكلة كويس قوي, أغلب الناس لما بتيجي تشرح مشكلة بتشرحها عن طريق اقتراح حل مش عن طريق شرح المشكلة, زي لما حد يروح لدكتور يقوله عاوز مضاد حيوي, لو الدكتور سمع كلامه غالباً حيضره أكثر ما ينفعه, لكن خذ وقتك في انك تفهم المشكلة و تفرقها عن الأعراض و تجاهل أي حلول مقترحة في البداية, لما تتأكد من ايه المشكلة بجد, ممكن تشوف ساعتها الحل المناسب اللي حيحل أصل المشكلة مش شوية من أعراضها.
 4. Test Your Code, and Automate it
 أي كود بتكتبه مفيش حاجة تضمن انه يفضل شغال زي ما انت عاوز غير لو فيه Test بيتأكد من الموضوع ده, و ال Test  ده حيبقى زي قلته لو مش بيشتغل بشكل مستمر, استثمر الوقت اللازم في انك تخلي الموضوع ده جزء من روتين شغلك, حيوفر عليك و على فريقك فلوس و وقت رهيب, لو مش عارف ازأي اقرا في Continuous Integration و شوف ايه المناسب للتقنيات اللي بتستخدمها, المبدأ ده مش بس حيحسن جودة الشغل بتاعك, لكن قبل ده كله حيحطك على طريق انك تتعلم ازأي تصمم كود ممكن تعمله Testing  او Testable Design, و ده شي لو تعلمون عظيم.
 5. حاول تحل المشاكل اللي تقابلك قبل ما تدور على مساعدة, و اتعلم ازأي تسأل
 أغلب وقتك في أي يوم بتقابل فيه مشاكل كثير, حاول تفهم المشكلة اللي بتقابلك و تحلها بنفسك قدر المستطاع, طبعاً حتقابلك مشاكل ممكن ما تعرفش تبتدي فيها منين, برضه استمر في المحاولة و البحث, أضعف الايمان حتقدر تسأل سؤال صح, أسوأ شيء بشوفه لما ألاقي حد واخذ Screen Shot للخطأ اللي طلعله و حطه زي ما هو كده على جروب أو فورم أو Stackoverflow و منتظر حد يعمله شغله, و بيبقى الموضوع مؤسف لما تلاقي رسالة الخطأ بتشرح الخطا و الحل, و بتيدك انطباع عن المبرمج اللي حتى ما قراش الخطأ, للأسف ده طريق الفشل, ومع الوقت مش حتتعلم أي حاجة بالعكس حتتعود على أسلوب غلط في الشغل.
 6. خليك مفيد لغيرك, و ما تفتيش, و خليك لطيف
 خليك جزء من مجتمع المبرمجين, و ساعد غيرك اللي محتاج مساعدة, بس تفادى انك تفتي, يعني لو مش عارف بلاش تتوه صاحب السؤال بإجابة انت مش متأكد منها أو غلط, أو لو عارف و حاسس الموضوع تافه بالنسبالك ما تتفهش من صاحب السؤال, لو مش قادر أو مش عاوز تجاهل السؤال.
 7. كل التقنيات حيجيلها يوم و تنتهي, اتعود على كده
 ما تتوقعش ان لغة البرمجة س أو التقنية ص اللي انت بتتعلمها حتعيش للأبد, كل التقنيات ليها دورة حياة, بتبتدي بفكرة كويسة و ناس تتحمس ليها و تنشرها و تطورها بمعدل سريع, و بعدين بتوصل لحالة من الاستقرار النسبي و بعدين بتطلع تقنيات تانية تتلافي عيوبها و تقدم أفكار جديدة بشكل جذري صعب على التقنية دي انها تتغير ليها, فبتبتدي تنحسر, و أغلب الوقت مش بتموت تماماً, و لكن بتأخذ ركن فترة طويلة و استخدأمها بيقل بشكل ملحوظ, و بتفضل مجرد مشاريع قديمة بيتعملها دعم محدود و خلاص, فاتعلم انك ما ترتبطش ارتباط عاطفي زيادة عن اللزوم بأي تقنية, و خليك خفيف.