وصف المشروع
1) الهدف والسياق
نبحث عن Senior Backend Lead يستلم قيادة مشروع قائم بالكامل مبني على ASP.NET Core (.NET 9) Web API + SQL Server + Dapper. المطلوب: تحسين أداء قوي، هيكلة نظيفة قابلة للتوسع، موثوقية عالية، وإدارة إصدارات منضبطة—مع تسليم وثائق وتشغيل مستدام.
2) المسؤوليات (Takeover & Ownership)
•استلام المنظومة: تشغيل البيئة محليًا/Stage، جرد التبعيات والأسرار، خريطة الخدمات والـ DB.
•Architecture & Code Health: تنظيم الطبقات (Controllers → Services → Repositories (Dapper))، اعتماد async I/O، توحيد DTOs وProblemDetails وcorrelation IDs.
•Release Management: feature flags, canary/blue-green, خطة rollback، وسياسة إصدار ثابتة.
•حَوكمة الجودة: معايير كود، PR reviews، رفع test coverage.
•تطوير وتحسين مستمر: قيادة backlog (bugs/tech-debt/features) حسب impact × effort مع تقارير أسبوعية بالأرقام.
3) نطاق العمل الفني
•ASP.NET Core (.NET 9): تبسيط middleware pipeline، تقليل overhead، Minimal APIs عند الحاجة، Output caching, Response compression, System.Text.Json source-gen.
•SQL Server: تحليل Actual Execution Plans وQuery Store، علاج parameter sniffing، ضمان SARGability، تصميم indexing (covering/filtered) وقد يلزم partitioning، تفعيل RCSI ومراقبة version store، تحسين الكتابات (SqlBulkCopy/TVPs/batching).
•Dapper: إزالة N+1، multi-mapping مع splitOn الصحيح، Dictionary de-dup لمنع Cartesian explosion، اتصالات قصيرة العمر وtimeouts منضبطة وbounded concurrency.
•Caching & Resiliency: Memory (hot keys) + Redis، cache-aside, versioned keys, ETag/If-None-Match, soft TTL + background refresh (منع thundering herd). Rate limiting, circuit breaker (Polly)، retries, backpressure.
•Security: JWT قصير العمر + JWKS cache، key rotation بـ kid، HSTS/TLS، صلاحيات واضحة بدون ضرب DB في كل طلب.
•Observability: OpenTelemetry (traces/metrics/logs)، لوحات P95/P99, error rate, request rate, DB timings, pool usage, cache hit/miss.
4) المخرجات المتوقعة (Expected Outcomes)
•P95 ≤ 150ms لأهم الـ endpoints (بعد الكاش)، وP99 ≤ 300ms حيث مناسب.
•إزالة N+1 من المسارات الحرجة وتقليل زمن أسوأ الاستعلامات ≥ 40–60%.
•Resiliency فعّالة (rate limiting / timeouts / circuit breaker) بدون pool exhaustion.
•Dashboards وتنبيهات حيّة، وRunbook/Playbooks للأعطال، وDocs معمارية قصيرة.
5) المعالم والدفع (Milestones • Escrow)
1.Kickoff & Access (≤ 48h): تشغيل البيئة وإضافة قياسات أولية.
2.Audit & Takeover Plan (3–5 أيام): تقرير مخاطر/أولويات وخارطة طريق بأرقام.
3.Stabilization & Quick Wins (1–2 أسبوع): N+1، فهارس أساسية، ضبط pooling/timeouts، كاش سريع.
4.Deep Optimization & Resilience (2–4 أسابيع): Partitioning/TVPs/Bulk، refactor لمسارات حرجة، تفعيل الحماية.
5.Handover (3–5 أيام): Load tests نهائية، الوثائق والتسليم.
معايير قبول كل معلم: أرقام Before/After (P95/P99, QPS, CPU/GC, pool usage, Execution Plan diff) + اختبارات تحميل ناجحة.
6) بيئة العمل
Git + PR policy، بيئة Staging/DB، مشاركة أسرار آمنة، NDA، تواصل يومي مختصر + تقرير أسبوعي.
7) المهارات المطلوبة
ASP.NET Core (.NET 9), Web API, Dapper, SQL Server, Query Store, Indexing/Partitioning,
RCSI/Snapshot, Caching (Redis/Memory), Polly, OpenTelemetry, k6/Locust, CI/CD, BenchmarkDotNet.
8) ماذا نطلب مع عرضك
•أمثلة إنتاج بأرقام قبل/بعد + روابط PR/Code إن أمكن.
•خطة Takeover لأوّل أسبوع (Audit, Quick Wins, قياسات).
•توفّر أسبوعي وساعات الاستجابة للأعطال (On-call/SLA).
مع حضرتك محمود خبره 6 سنين بال dot net stack كما ان لدي خبره باداره التيم تيكنيكال و تواصل واداره المشروع وتقسيمه الي sprints وتوزيع الtasks و اعطاء estmition ل...
أدرك تماما أن تحسين هيكلية المشروع (Architecture) وتنظيم قاعدة البيانات أمر أساسي لتحقيق أعلى مستويات السرعة والكفاءة. بخبرتي في تطوير الأنظمة عالية الأداء باست...
دوت نت كور الإصدار التاسع يختلف تماما عن الإصدارات السابقة فهو يعتبر ثورة تقنية فى مجال الدوت نت و يحتاج وقت طويل و جهد كبير لإ جادة أستخدامة فى تنفيذ مشاريع ذا...