وصف المشروع
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).
أدرك تماما أن تحسين هيكلية المشروع (Architecture) وتنظيم قاعدة البيانات أمر أساسي لتحقيق أعلى مستويات السرعة والكفاءة. بخبرتي في تطوير الأنظمة عالية الأداء باست...
مع حضرتك محمود خبره 6 سنين بال dot net stack كما ان لدي خبره باداره التيم تيكنيكال و تواصل واداره المشروع وتقسيمه الي sprints وتوزيع الtasks و اعطاء estmition ل...