وعليكم السلام، دي مش skill واحدة باسم واحد، هي خليط بين software design و software architecture و refactoring. وعلى المستوى العملي انت بتتعلم: ازاي تقسّم المسؤوليات، ازاي تنظم الملفات والطبقات، و ازاي تخلي الكود سهل يتفهم ويتعدل. كونك…
عموما دول تراكين مختلفين، يعني ال Architect عموما بيبقى IC Individual Contractor يعني مش مدير، في حين التراك التاني ده Management. فالمقارنة مش Apples to Apples يعني. غير ان ال Architect هو في النهاية Role مش درجة وظيفية في حد ذاتها، يعني…
هو في رأيي framing السؤال نفسه محتاج يتعدل شوية: مفيش backend technology بعينها هي اللي "بتخليك تحتك بالمشاكل الكبيرة". المشاكل الكبيرة غالباً بتيجي من ظروف السيستم: low latency، traffic عالي، throughput، consistency، حجم data، failure…
هو آه، في جزء كبير من ملاحظتك صحيح، بس مش كقاعدة مطلقة. أحياناً لما ال language أو ال paradigm يقلل عدد ال tools الجاهزة ويفرض عليك كام فكرة أساسية بس، ده بيخليك تفكر في الmodel بتاع المشكلة نفسها بدل ما تفضل تلف بين features كتير. في ال…
و عليكم السلام، انت ليه محسسني انك عجوز 😄 ٩ سنين خبرة ده انت لسة في البرايم. هو الـPivot من C++ Desktop لـ Backend وارد جداً و مش متأخر خالص، بس محتاج تبقى واضح مع نفسك: انت مش هتبدأ من صفر، و في نفس الوقت مش هتدخل Backend Senior لمجرد…
فيه كتب عمدة في المجال زي ما بيقولوا, محتاج تعدي عليها و تقراها على الأقل مرة إذا ما كانش أكثر زي. Designing Data Intensive Application System Design Interviews - An Insider Guide System Design Interviews Volume 2 ابتدي بدول, و بعدين دور…
Hopefully not 😅, but it is definitely changing the roles, now that coding is much faster and easier I find myself spending way more time producing code than before, I can get a lot done myself rather than making plans and convincing…
هو عموماً مؤهلات ال Software Architect فيها جزء دراسة, و ده حتلاقيه في الكتب المختلفة و فيه كتب كثير ممتازة بالاضافة لخبرات حقيقية في تطبيقات الافكار النظرية دي, و فيه جزء برضه ليه علاقة بال domain اللي انت بتتخصص فيه سواء business domain…
هو SaaS قبل ما يبقى تكنولوجيا معينة هو في الأساس تغيير في فلسفة السوفتوير من أنه منتج بتشتريه زي ما بتشتري مثلاً نسخة اوفيس او فوتوشوب لانه يتحول لخدمة باشتراك شهري زي Office 365 و Adobe Creative Suite و ده بيادي لتحديات تكنولوجيا كتير من…
فيه الفرق اللي الناس كلها عارفاه، اللي هو ال interface ما فيهوش implementation لكن ال abstract class ممكن يبقى فيها implementation، و ان اي class ممكن تعمل implement لأكتر من interface لكن ال class ما تقدرش تعمل inherit لأكتر من base…
ال API's نفس المعنى في أي حتة، الفكرة كلها ان أي نظام لما بيسمح لأطراف تانية غير المطورين الأساسيين للنظام انهم يبنوا فوق النظام ده لازم يقدم خدمات ليهم علشان يقدروا يبنوا فوقه، الخدمات و العمليات دي بيبقى اسمها API's فمثلاً لما بتعمل…
When designing a web API, there are two major dimensions you need to take care of, The first dimension is common for any API (whether it is a Web or not) The API needs to do One thing ONLY. Backward compatibility is vital. Don't add too…