Ahmed Saber - Channel
5.15K subscribers
53 photos
1 file
364 links
دى قناة بنزل عليها منشوراتى المهمة على لينكدان ، بجانب منشوات مهمة لناس تانية ، و احيانا دردشة فى مواضيع مختلفة مش منشورة على لينكدان
Download Telegram
لو أنا فكرت فى يوم من الأيام ابعت figma ui design (مثلا) لشخص عشان يحوله إلى ويبسايت هكون قلقان من عدة أمور ، ألا وهى

- إن شغله ميكونش شبه الديزاين

- الشغل شبه الديزاين بس مش ريسبونسيف

- الشغل شبه الديزاين بس فيه أرقام كتيرة hardcoded بالتالي لما نعرض داتا بشكل ديناميك الدنيا هتبوظ مننا

- الشغل شبه الديزاين بس واقع منه تفاصيل كتير زى ايقونة نازلة عن منتصف زرار بشوية ، مجموعة نصوص مش على نفس الموازاة مع بعض

- اللوجيك فيه bugs مش معمول حسابها أو مش كامل

النقاط دى كلها هكون قلقان منها و بالتالي كدا كدا هراجع شغل الشخص دا قبل ما يتسلم ل client أو يطلع لايف لليوزرز ، و بالنسبة لى مراجعة ال ui هتكون أصعب و لو فيها مشاكل بيكون صعب نعدلها ، على عكس اللوجيك لو فيه مشكلة ممكن تتصلح بسهولة عن الديزاين

يعنى مثلا لو مفيش validation ممكن نضيفه ، أو فى bug بتحصل فى وقت معين ممكن نوصلنا و نصلحها و الموضوع بيكون predictable و سهل نتوقعه

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

ف أنت كا frontend developer مطلوب منك متنساش الديزاين على حساب اللوجيك ، ولا العكس

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

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

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

طالما دى وجهة نظرى لو حبيت يكون معايا شخص فى تيم معين ، ف هى وجهة نظر عدة أشخاص غيرى

يعنى لو أنت جينيور داخل تيم فيه juniors / mid-level / seniors ، عادي جدا يكون كل شغلك فى ال ui و فى حد يكمل اللوجيك وراك ، بس عيب - فى أغلب الأحيان - ينطلب منك لوجيك بسيط و متعرفش تعمله

الملخص إنك لو بتعمل الديزاين مظبوط ، ممكن البعض يتخلى عن اللوجيك و يجيب حد تاني يعمله لأن بجد مفيش ناس كتير بتعرف تعمل الديزاين مظبوط ، و دا فتح الباب ل job titles مختلفة منها ال web designer و ال ui developer و ممكن يكون frontend developer برضو عادي بس شغال على مشاريع مفيهاش لوجيك تقيل

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

متعودش الناس على أنها لازم تشوف أدلة عشان تصدقك ، لأنك أحيانا مش هيكون معاك دليل أو ممكن معاك بس مينفعش تشاركه مع الناس ، ف وقتها هيقولو أنك كل مرة بتبعت دليل ، المرة دى مبعتش ف بالتالي يستنتجو أنك بتكذب عليهم ، مع أنك صادق بس أنت اللى عودتهم على أنهم مش هيصدقوك غير فى وجود دليل

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

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

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

أعتقد أنك لو وقعت فى حاجة زى كدا هتكون مفكر إن الناس هم اللى غلط ، لكن للأسف أنت اللى غلطت لما عودتهم على كدا
كل عام وانتم بخير وسعادة ، عيد أضحى مُبارَك عليكم وعلى أسركم جميعا ❤️

لا تنسوا أهالي غزة والسودان فى دعائكم وجميع المسلمين فى شتى بقاع الأرض
الاكونتات اللى بتتسرق على لينكدان وراها قصة غريبة ، يعنى مثلا دا اكونت لواحد زميلنا اسمه أحمد بهنسى ، دلوقت بقا موجود مع واحدة اسمها آنيا و شغالة senior data engineer ، صعب تكون شغالة كدا فعلا و بتسرق اكونتات الناس ، فين أقل الأخلاقيات اللى المفروض تكون عندها ، و بعدين مكتوب أنها شغالة فى ديزنى و منزلة بوست عن ديزنى ، بغض النظر عن ميول الشركة لكن هى شركة كبيرة و معروفة و صعب الموظفين بتوعها يعملوا كدا أو هى تسمحلهم بكدا لأن دا هيشوه صورتها

ف بدأت أحس أنهم ناس عاديين خالص بيعملوا login عادي خالص بيلاقوا اكونت تاني خالص فتح معاهم ، بس ليه و ازاى ؟ معنديش فكرة للأسف

أخيرا هى عدلت بعض بيانات البروفايل بس سابت البورتفوليو بتاع أحمد و مشاريعه و للأسف هو مش حاطط وسيلة تواصل عشان نقدر نبلغه بالموضوع

و لو هى مش شخصية حقيقية و لكن هاكر بيتقمص شخصية خيالية أو حتى موجودة و بيقول أنه شغال فى ديزنى ف المفروض فى عواقب للأمر دا و صعب يعمله in public بالشكل دا

اخيرا ، مينفعش البورتفوليو بتاعك اللى هو معرض أعمالك ميكونش فيه مجموعة من وسائل التواصل زى الواتس أو تليجرام أو فيسبوك أو لينكدان أو الايميل
الترافيك على ويبسايت Intern2Grow خلال ال ٨ ساعات الأخيرة أكبر من الترافيك اللى حصل خلال ال ٢٩ يوم و ١٦ ساعة اللى قبل ال ٨ ساعات دول ، يعنى بيمثل اكتر من ٥٠٪ من الترافيك اللى الويبسايت مر بيه خلال اخر ٣٠ يوم

كدا لو فى مشكلة طلعت لل production مع ال release الأخير هنبقى فى موقف صعب جدا ، صح ؟

لأنها كانت هتظهر ل آلاف أو عشرات الآلاف من المستخدمين و تديهم انطباع سئ عن الويبسايت و ممكن ميجوش هنا تاني بل ممكن يحذروا الناس من أنهم ييجوا هنا و يستخدموا الويبسايت

حاليا القمة بتاعة الترافيك اللى بتحصل وقت ال announcement تعتبر خلصت و الترافيك هيستمر بالنقصان مجددا بشكل تدريجي ، و محدش قابل مشاكل فى الويبسايت الحمد لله

ازاى بقا بنحاول بقدر الإمكان نقلل من الايرورز أو ال bugs اللى ممكن تطلع production و تتصدر للمستخدمين بالأخص فى اللحظات اللى زى دى ؟

- بالنسبة لل testing ، لازم تعمل testing لل features الجديدة اللى ضيفتها ، على الأقل manual testing ، لكن لو ال cases كتيرة هيفضل أنك تعمل automation testing لأن الموضوع هياخد منك وقت طويل و هتسقط بعض ال cases غصب عنك

- بالنسبة لل version control ، مينفعش طبعا تشتغل على ال production branch ب اى شكل من الأشكال إلا لو fix سريعة ضرورية ، ف لازم يكون عندك branch مختلف لكل feature و بعدها تعمل لهم merge سوا ، و تبقى تطلعهم production لما تتأكد ٱن كل feature لواحدها تمام و كلهم سوا تمام

- بالنسبة للكود ، بقدر الإمكان قلل اعتمادية الأجزاء المختلفة فى الكود على بعضها ، مينفعش تبقى بتعدل على feature فى الشرق ، تلاقى feature فى الغرب باظت منك ، ف حاول تعمل refactor بشكل مستمر

- محتاج staging branch بيعكس ال production بأكبر قدر ممكن و تعمله deploy و تخلى بعض الناس تجرب السوفتوير بتاعك قبل ما يطلع للكل و تاخد منهم فيدباك

- لما تطلع بال release الجديد ، يفضل أنك متعملش announcement على السوشيال مباشرة ، أو أنك ماتظهرش ال features الجديدة عند كل اليوزرز فى نفس اللحظة ، و لكن خد الأمر بشكل تدريجي لغاية ما يوصل لليوزرز كلهم ، بحيث لو قابلنا مشكلة فى البداية مش هتكون اتعرضت لناس كتير لسا ف هنقدر نعالجها ، و غالبا المشاكل اللى هتبدأ تظهر متأخر لما عدد اليوزرز بقا كتير هى مشاكل فى حاجات فرعية لدرجة إن المستخدمين اللى قبلهم تجاهلوها أو مش واخدين بالهم منها اصلا

- محتاج تعمل monitoring لبعض الأجزاء من السوفتوير بتاعك عشان تتأكد إن كل حاجة ماشية حسب المتوقع و مفيش حد بيقابل مشاكل لأن اليوزر ممكن يقابل مشكلة و ميفهمش أنها مشكلة أو يفهم بس ميقولكش

- محتاج يبقى عندك خطة عن ازاى ترجع لأقرب version مستقر لو ظهرت مشكلة غير متوقعة فى ال production و حلها محتاج وقت

دى كانت الخطوات اللى بمشى عليها قبل أى release لأى سوفتوير شغال عليه و مطروح بالفعل للمستخدمين فى الوقت دا

لكن طبعا لو ال first release و السوفتوير محدش بيستخدمه لسا ولا يعرفه ، ف فى أمور ممكن تتغير زى مثلا مفيش خطة rollback أو أنك ترجع لإصدار سابق ، و ممكن عدد ال branches يكون أقل ، لكن بقيت النقاط هتحتاجها فى أغلب الأحيان
بترفض الفرص اللى بتتعرض عليك ازاى ؟
- مش برد خالص
- بقول انى مش مهتم
- بقول انى مهتم و بعدها مش بدخل الانترفيو

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

اومال المفروض أرفض ازاى ؟
- توضح أنك مش مناسب لل position أو إن ال position مش مناسب ليك
- توضح السبب لو أمكن
- توضح أنك مهتم بالشغل معاهم و لكن السبب دا منعك
- تعرفهم أنك مهتم بالفرص المستقبلية و أنكم تفضلوا على تواصل مع بعض بحيث لو فى فرص جديدة أو أنت ظروفك اتغيرت و بقيت متاح (أو مناسب للفرصة)

ممكن ناخد مثال بسيط على شخص داخل يعرض عليك فرصة frontend developer بخبرة ٣ أعوام ، بس أنت عندك خبرة عام واحد فقط ، ف بالنسبة لى الرد التالي ممتاز جدا فى الموقف دا

"انا سعيد جدا بتواصلكم معايا و انكم شايفين انى مناسب للوظيفة دى ، و لكن الوظيفة بتطلب ٣ أعوام من الخبرة و أنا عندى عام واحد فقط من الخبرة ، فهل متاح وظيفة مناسبة ليا حاليا ؟ و لو مش متاح حاليا ، انا مهتم بالشغل معاكم فى المستقبل إن شاء الله ، و اتمنى أننا نكون على تواصل بشكل دائم لو فى فرص مناسبة أننا نشتغل مع بعض إن شاء الله ، و بالتوفيق ليكم." ، غيرها بما يناسبك ، دى مش تمبليت ثابتة تاخدها copy & paste و لكن مثال لإيضاح الفكرة

طيب لو مفيش حد بيعرض عليك فرص اصلا ؟
- دا معناه أنك مش بتظهر قدام الناس اللى عندها فرص شايفه أنها مناسبة ليك ، أو أنك بتظهر بس مقدرتش تثبت لهم أنك مناسب ، أو بتظهر و الناس بتبعت لك connection عشان يكلموك بس انت كاريزما بتعلق ال connections

ف الحل أنك تحاول تظهر قدام الناس بمشاريعك و انجازاتك البسيطة
- عملت مشروع جديد (حتى لو صغير)
- قرأت مقال عجبك
- شوفت فيديو استفدت منه
- خلصت كورس معين أو بلاى ليست أو دبلومة أو اختبار أو شهادة
- و هكذا

تعرض بياناتك بشكل كويس فى البروفايل بتاعك و بالتفصيل
- ضيف مشاريعك
- ضيف تعليمك و خبراتك بالتواريخ
- ضيف الشهادات و المهارات
- ضيف شوية كلام عن نفسك و انجازاتك
- حدد مسمى وظيفي واضح لنفسك

اتعرف على الناس و كبر شبكة علاقاتك
- سيب كومنت على بوست بتوضح فيه رأيك
- سيب كومنت عند زميلك عشان تشجعه على إنجاز بيشاركه
- أو تشارك فيه معلومة بتكمل بوست معين حتى لو بسيطة
- أو تجاوب على سؤال مطروح فى بوست معين

اقبل ال connections من الناس اللى فى نفس مجالك ، و ابعت connection للناس اللى بتتكلم عن و بتشارك أمور تهمك
متصفح chrome من فترة طويلة شوية بقا بيوفر APIs ل جافاسكريبت تقدر من خلالها تعمل face detection فى المتصفح منغير ما تستخدم مكتبة ولا تعمل machine learning model بنفسك ، و من قريب بقا بيوفر APIs أكتر للرد على الأسئلة و الترجمة و تصحيح ال grammar و غيرهم

طيب هل دا معناه أنك لو بتبنى ويبسايت تقدر تعتمد على ال APIs دى بشكل أساسي ؟
- لا للأسف ، لأن مش كل المستخدمين عندهم أحدث إصدارات chrome ولا كلهم بيستخدموا chrome حتى ، ف هتلاقى ال feature شغالة عند يوزر لكن مش شغالة عند غيره

ممكن تلجأ أنك تعمل fallback لل feature دى على المتصفحات اللى مش بتدعم ال APIs بشكل افتراضي زى firefox و safari و opera و edge و غيرهم ، و تستخدم مكتبة أو machine learning model خاص بيك على المتصفحات دى ، لكن على chrome تستخدم المتاح ، دا ممكن يحسن شوية من تجربة المستخدمين على chrome

بس أدرس جوانب الموضوع كويس

لو تقدر تلزم جميع المستخدمين باستخدام إصدار معين من chrome ممكن تستخدم ال APIs دى بكل أريحية ، الموضوع دا ممكن يحصل - مثلا - لو بتبنى desktop application ب electron.js لأنها بتنزل chromium engine بداخل البروجيكت بتاعك و تستضيف البروجيكت عليه كما لو كان صفحة بس فى صورة تطبيق ديسكتوب

دا بيخلى تطبيقات الديسكتوب المصنوعة ب electron.js تقيلة شوية فى الأداء و الحجم - زى vs code حبيبنا و github desktop - بس سهل جدا تعمل تطبيق ديسكتوب بمعرفة بسيطة ل html & css & js منغير ما تعطى اى اعتبار لل browser compatibility لأن كدا كدا البروجيكت بتاعك بيتفتح من خلال chrome بإصدار معين
التكبر ، الخجل ، التسرع ! صاحبهم إن أردت الفشل

لو عاوز تفشل بسرعة ف الخطوات سهلة جدا ، و هنتكلم عنها النهارده

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

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

أما الخطوة التالتة و الأخيرة هى التسرع ، لما تيجى تتعلم حاجة شوف أقصر كورس ممكن و أنجز نفسك بسرعة مش لازم تطبق ممكن تسمع و خلاص و بعدها طبق اى مشروع بسرعة و سيبه ب أخطاءه مفيش وقت للتفسير و اتعلم باك اند و انت لسا مزنوق فى الفرونت اند عشان تلحق تشتغل full stack ، و لو جالك تاسك خلصه بسرعة مش لازم يكون سليم المهم شبه المطلوب وخلاص

تخلَّص من تلك الصفات قبل ما تخلص عليك ، لو لقيت نفسك بتعمل اى حاجة منهم حاول تبطلها لأنها معوقات قوية جدا تعوقك عن النجاح !
تخفيف أحمال !

ويبسايت Intern2Grow أقترب من الوصول لل limits بتاعة ال free plan الخاصة ب Vercel بعد ما عملوا تعديلات مفاجأة فى ال limits و أضافو limit جديد و هو 100,000 invocations لل serverless functions

و لو وصلنا لل limit دا ، الويبسايت هيتوقف عن العمل و بقيت الويبسايتس الموجودة على الاكونت كذلك

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

الويبسايت هيرجع يشتغل عند كل الناس بشكل طبيعي من أول الشهر إن شاء الله

و جاري إيجاد حل للمشكلة دى بحيث متتكررش ، لكنها لازالت حركة غدر وحشة أوى من Vercel

هشارك معاكم كل جديد و نستفيد من التجربة اللطيفة دى
كل عام وانتم بخير ، عام هجري مليء بالبركات إن شاء الله ❤️