انتقل إلى المحتوى
HA_

مهندس أنظمة خلفية أول · الأنظمة الموزعة والبنية متعددة المستأجرين

حسن أبرار

أنظمة تصمد تحت الضغط.

أصمّم وأشغّل أنظمة خلفية قائمة على الأحداث ومتعددة المستأجرين باستخدام Java/Spring Boot وNode.js/TypeScript، من أنظمة الرواتب لكبرى المنشآت السعودية إلى صدّ الاحتيال الإعلاني في الوقت الفعلي.

متاح للعمل عن بُعد · بتداخل مع ساعات عمل أوروبا وشرق الولايات المتحدة

01 / مؤشرات

أرقام من بيئة الإنتاج

5+

سنوات في بناء أنظمة الإنتاج وتشغيلها

1 ألف+

قاعدة بيانات معزولة للمستأجرين بنسبة تشغيل 99.9%

12

خدمة مصغّرة في الإنتاج مستخرجة من نظام أحادي

10 ألف+

مستخدم متزامن على نظام دردشة فوري

  1. 01

    النمذجة

    حدود النطاقات، والتعدد في المستأجرين، وأنماط الإخفاق.

  2. 02

    البناء

    خدمات قائمة على الأحداث بعقود واضحة.

  3. 03

    التشغيل

    لوحات متابعة، وتنبيهات، وإصدارات هادئة.

FIG. 01 / منهجية عملي

02 / البُنى المعمارية

مشكلات مختلفة. بُنى معمارية مدروسة.

01 · مشروع مستقل · المعماري والمشغّل الوحيد

ClickFortify

كشف الاحتيال الإعلاني في الوقت الفعلي لـ Google Ads وMeta Ads

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

القيود

  • كل معلن مستأجر معزول
  • يجب مزامنة الاستبعادات مع حسابات Google Ads وMeta الإعلانية
  • يعمل الكشف على حركة المرور الحية بشكل متواصل

القرارات الرئيسية

  • خدمات مصغّرة قائمة على الأحداث عبر NATS بحيث تتوسع عمليات الجمع والتقييم والمزامنة كلٌّ على حدة
  • طوابير مهام Redis Bull لإعادة المحاولة والتحكم في الضغط على استدعاءات API لمنصات الإعلان
  • تقييم سلوكي مع بصمة الأجهزة وتصفية حركة VPN والخوادم الوسيطة ومراكز البيانات
Ad clickCollectorNATSScoringAds syncTenant DBs
FIG. 02 / مخطط النظام · ClickFortify

النتائج

  • مزامنة آلية لاستبعاد عناوين IP مع حسابات المعلنين الإعلانية
  • ترحيل حيّ لقواعد بيانات الإنتاج عبر 500+ قاعدة بيانات للمستأجرين بتوقف شبه معدوم

التقنيات

Node.jsTypeScriptNATSRedis BullMongoDBNext.js
FIG. 02B / جدار حماية لحركة المرور الحية · محاكاة

02 · مهندس أنظمة خلفية أول (بعقد) عبر Mission.dev

Masdr payroll platform

تقنية مالية ورواتب على مستوى المؤسسات لكبرى جهات التوظيف السعودية

المشكلة · تمر عمليات الرواتب والتحقق البنكي والصرف عبر منصة واحدة لجهات التوظيف الكبرى. ضياع رسالة أو تكرارها يعني أن أحدهم سيتقاضى أجراً غير صحيح.

القيود

  • بنية متعددة المستأجرين ومتعددة قواعد البيانات
  • حوكمة صارمة لواجهات API الخاصة بالشركاء والبنوك
  • تمر الإصدارات عبر بيئات DEV وUAT وPROD على WebLogic

القرارات الرئيسية

  • خطوط JMS غير متزامنة وقائمة على الأحداث لمعالجة الرواتب والتحقق البنكي والتواصل بين الخدمات
  • إدارة دورة حياة API على Apigee: تحديد معدل الطلبات، وسياسات المصادقة والتفويض، والتحقق من الطلبات والاستجابات
  • لوحات متابعة وتنبيهات على Splunk موجّهة لحوادث الرواتب والتحقق
ApigeePayroll svcBank verifyJMSTenant DBs
FIG. 03 / مخطط النظام · Masdr payroll platform

النتائج

  • تقليص الوقت اللازم لتشخيص حوادث الرواتب والتحقق في بيئة الإنتاج
  • توسيع إعدادات المستأجرين وعزلهم مع انضمام مستأجرين جدد من المؤسسات

التقنيات

JavaSpring BootJMSApigeeSplunkJenkinsIBM UrbanCode DeployWebLogic

03 · مهندس برمجيات أول

Southville multi-tenant platform

من نظام أحادي واحد إلى 12 خدمة مصغّرة في الإنتاج

المشكلة · كان نظام أحادي واحد يخدم جميع العملاء: أي وحدة بطيئة أو نشر خاطئ يؤثر في كل المستأجرين، وكان إعداد مستأجر جديد عملاً يدوياً.

القيود

  • إبقاء المنتج يعمل طوال عملية التفكيك
  • عزل صارم للبيانات لكل مستأجر
  • سجلات موزعة بين GCP وAWS

القرارات الرئيسية

  • التفكيك إلى 12 خدمة وفق حدود النطاقات
  • قاعدة بيانات لكل مستأجر مع تحديد ديناميكي للمخطط وتهيئة آلية
  • خطوط أحداث JMS لصرف الرواتب والحضور
  • مراقبة مركزية عبر Google Cloud Logging وAWS CloudWatch وSplunk
MonolithGatewayBookingPayroll+10 moreTenant resolver
FIG. 04 / مخطط النظام · Southville multi-tenant platform

النتائج

  • 1,000+ قاعدة بيانات معزولة للمستأجرين بنسبة تشغيل 99.9%
  • تحسين أزمنة استجابة API بنسبة 40%+ عبر التخزين المؤقت في Redis وتحسين الاستعلامات
  • تقليص وقت كشف الحوادث وحلّها بنسبة 60%
  • منصة حجوزات تعالج 10,000+ معاملة يومياً

التقنيات

NestJSNode.jsSpring BootMongoDBPostgreSQLRedisJMSDockerKubernetes

04 · المطوّر

VoxRange

بنية تحتية للذكاء الاصطناعي الصوتي وتحليلات المكالمات

المشكلة · تحتاج المنتجات الصوتية إلى الاتصالات الهاتفية والتفريغ النصي والكلام الطبيعي في الوقت الفعلي، دون الاعتماد كلياً على واجهات API خارجية تُحتسب بالدقيقة.

القيود

  • مسارات صوت فورية
  • سعة GPU مستضافة ذاتياً ومحدودة

القرارات الرئيسية

  • خط اتصالات هاتفية فوري مع تحويل الكلام إلى نص
  • نماذج مخصّصة لتحويل النص إلى كلام مدرّبة على وحدات GPU مستضافة ذاتياً
CallTelephonySTTCustom TTSGPU
FIG. 05 / مخطط النظام · VoxRange

النتائج

  • بنية تحتية للذكاء الاصطناعي الصوتي في الإنتاج تشمل الاتصالات الهاتفية وتحويل الكلام إلى نص وتحويلاً مخصّصاً للنص إلى كلام

التقنيات

TelephonySpeech-to-textText-to-speechSelf-hosted GPU

05 · مهندس برمجيات

Lytics · PEMRA

رصد إعلامي واستخبارات لهيئة تنظيم الإعلام الإلكتروني الباكستانية (PEMRA)

المشكلة · ترصد الهيئة التنظيمية البث المباشر عبر القنوات، وتحتاج إلى العثور على المحتوى واقتطاعه ومراجعته بسرعة، بالأردية والإنجليزية معاً.

القيود

  • استقبال متواصل للفيديو المباشر
  • محتوى ثنائي اللغة بالأردية والإنجليزية

القرارات الرئيسية

  • استقبال الفيديو المباشر واقتطاع المقاطع
  • تفريغ نصي وترجمة آليان بالأردية والإنجليزية
  • وسم البيانات الوصفية لتغذية لوحات رقابة فورية
Live TVIngest + clipTranscribe ur/enTaggingDashboards
FIG. 06 / مخطط النظام · Lytics · PEMRA

النتائج

  • نظام واحد للرصد والبحث والرقابة التنظيمية على محتوى البث

التقنيات

Node.jsReactMongoDBPostgreSQL

أعمال أخرى

03 / الخبرات

حيث أُنجز العمل

  1. مايو 2025 – حتى الآن · Remote · Riyadh, Saudi Arabia

    Senior Backend Engineer · Mission.dev

    العميل: Masdr

    منصة تقنية مالية ورواتب على مستوى المؤسسات تخدم كبرى جهات التوظيف في المملكة العربية السعودية.

    • أتولى تسليم الميزات من البداية إلى النهاية عبر خدمات Spring Boot المصغّرة ضمن بنية رواتب متعددة المستأجرين ومتعددة قواعد البيانات.
    • أصمّم خطوط JMS غير متزامنة لمعالجة الرواتب والتحقق البنكي والتواصل بين الخدمات.
    • أدير دورة حياة API على Apigee: تحديد معدل الطلبات، وسياسات المصادقة، والتحقق من الطلبات والاستجابات.
    • أبني لوحات متابعة وتنبيهات على Splunk تختصر تشخيص حوادث الرواتب والتحقق.
  2. فبراير 2023 – حتى الآن · Lahore, Pakistan

    Senior Software Engineer · Southville Solutions

    • قدتُ تفكيك نظام أحادي إلى 12 خدمة مصغّرة في الإنتاج.
    • صمّمتُ بنية تحتية متعددة المستأجرين ل1,000+ قاعدة بيانات معزولة بنسبة تشغيل 99.9%.
    • بنيتُ منصة حجوزات على NestJS/MongoDB تعالج 10,000+ معاملة يومياً، وحسّنتُ أزمنة استجابة API بنسبة 40%+.
    • وحّدتُ المراقبة عبر GCP Logging وCloudWatch وSplunk، مما قلّص وقت حل الحوادث بنسبة 60%، وأشرفتُ على توجيه 5+ مهندسين.
  3. مايو 2021 – يناير 2023 · Lahore, Pakistan

    Associate Software Engineer · Stack Intel .IO

    تمت ترقيتي من متدرب هندسة برمجيات (03/2021 – 05/2021).

    • بنيتُ دردشة فورية على Node.js وWebSockets وRedis Pub/Sub ل10,000+ مستخدم متزامن بمعدل توصيل 99.8%.
    • أطلقتُ إشعارات فورية في أقل من 100 مللي ثانية باستخدام Socket.io وRedis Streams، ودمجتُ Stripe دون أي حوادث أمنية.
    • رفعتُ تغطية الاختبارات إلى 85% باستخدام Jest وMocha وSupertest، مما قلّل العيوب بنسبة 45%.
  4. أكتوبر 2021 – أبريل 2022 · Lahore, Pakistan

    Developer Head · MSP Community, University of Lahoreالقيادة

    • قدتُ مسار المطوّرين: جلسات تقنية ودعم عملي للطلاب المهندسين.
  5. 2017 – 2021 · Lahore, Pakistan

    BS Computer Science · The University of Lahoreالتعليم

    • بكالوريوس العلوم في علوم الحاسب.

04 / الفهرس التقني

الأدوات التي أعمل بها

لغات البرمجة
JavaTypeScriptJavaScriptPythonSQL
الأنظمة الخلفية
Spring BootNode.jsNestJSExpress.jsFlaskDjango
البنية المعمارية
MicroservicesEvent-drivenMulti-tenantDistributed systemsRESTGraphQLWebSockets
المراسلة والبث
Apache KafkaNATSJMSRedis BullSocket.io
قواعد البيانات
PostgreSQLMySQLOracleMongoDBRedisDynamoDB
الحوسبة السحابية وDevOps
AWS (EC2, S3, Lambda, RDS)GCPDockerKubernetesJenkinsGitHub ActionsIBM UrbanCode Deploy
المراقبة والأمان
SplunkCloudWatchGoogle Cloud LoggingELKOAuth2JWTApigee
الواجهات الأمامية وتطبيقات الجوال
ReactReduxTailwind CSSReact NativeExpo

05 / ملاحظات ميدانية

مهندس أولاً. ومعماري بحكم العادة.

مرّر المؤشر لإظهار الصورة · أو المس الشاشة على الأجهزة اللمسية

FIG. 00 / ملاحظة ميدانية · 31.5204° N · 74.3587° E · LAHORE

أنا مهندس أنظمة خلفية أول بخبرة 5+ سنوات في بناء أنظمة الإنتاج وتشغيلها في مجالات التقنية المالية للمؤسسات وتقنيات الإعلان ومنصات SaaS عالية الحجم. أعمل في منظومتي الأنظمة الخلفية الرئيسيتين، Java/Spring Boot وNode.js/TypeScript، مع تعمّق في الخدمات المصغّرة القائمة على الأحداث، والبنية متعددة المستأجرين، وخطوط البيانات الفورية.

قدتُ تفكيك نظام أحادي إلى 12 خدمة مصغّرة في الإنتاج، وصمّمتُ بنية تحتية متعددة المستأجرين ل1,000+ قاعدة بيانات معزولة بنسبة تشغيل 99.9%، وأشرفتُ على توجيه 5+ مهندسين. أعمل عن بُعد مع فرق في المملكة العربية السعودية وأوروبا وأمريكا الشمالية.

اللغات التي أتحدثها
الإنجليزية · الأردية
أستكشف حالياً
البنية التحتية للذكاء الاصطناعي الصوتي: الاتصالات الهاتفية الفورية، وتحويل الكلام إلى نص، ونماذج مخصّصة لتحويل النص إلى كلام على وحدات GPU مستضافة ذاتياً.

06 / المقالات

ملاحظات من بيئة الإنتاج

جميع المقالات →

07 / الأسئلة الشائعة

إجابات مفيدة

ما نوع الأعمال التي تتولاها؟

أدوار وعقود أول في الأنظمة الخلفية: تصميم وبناء خدمات قائمة على الأحداث، ومنصات متعددة المستأجرين، وتفكيك الأنظمة الأحادية إلى خدمات يمكن نشرها بشكل مستقل.

أين تقيم، وما المناطق الزمنية التي تغطيها؟

لاهور، باكستان (UTC+5). أعمل عن بُعد وأحافظ على تداخل في ساعات العمل مع فرق أوروبا وشرق الولايات المتحدة، وقد عملتُ مع فرق في المملكة العربية السعودية وأوروبا وأمريكا الشمالية.

ما التقنيات التي تفضّلها؟

أعمل بكلٍّ من Java/Spring Boot وNode.js/TypeScript (NestJS) في الإنتاج، مع Kafka أو NATS أو JMS للمراسلة، وPostgreSQL أو MongoDB أو Redis للبيانات. أختار بحسب الفريق والمشكلة.

هل يمكنك العمل ضمن فريق قائم وقاعدة شيفرة موجودة؟

نعم، وهذا معظم عملي. أنضمّ عبر مراجعة الشيفرة والنقاشات المعمارية، ثم أتولى مسؤولية الميزات من البداية إلى النهاية.

هل تساعد في المراقبة وحوادث الإنتاج؟

نعم. بنيتُ لوحات متابعة وتنبيهات على Splunk وCloudWatch وGoogle Cloud Logging قلّصت وقت حل الحوادث بنسبة 60%.

كيف نبدأ؟

احجز مكالمة مدتها 30 دقيقة أو راسلني عبر البريد الإلكتروني بما تبنيه وأين تكمن المشكلة. أردّ خلال يوم واحد.

08 / تواصل

لديك نظام يحتاج إلى التوسّع؟ لنجعله يصمد.

أخبرني بما تبنيه وأين تكمن المشكلة. عادةً أردّ خلال يوم واحد.