Mark Stratmann
About Me Background Image

نبذة عني

أنا مهووس بالكمبيوتر وقد كنت كذلك منذ زمنٍ طويل، طويل جداً

الخبرة الحديثة

منصة أرشفة البريد الإلكتروني

الرئيس التنفيذي للتقنية (CTO) ومطوّر فل-ستاك أول

مسؤول عن منصة أرشفة بريد إلكتروني وامتثال شاملة على مستوى المؤسسات تخدم عدة عملاء عالميين. تقوم المنصة بمعالجة ملايين الرسائل يومياً عبر بنية AWS السحابية وعمليات النشر داخل مقار العملاء (On-Premises).

التقنيات الرئيسية: TypeScript, Node.js, Go, Java 21, Spring Boot 3.5, React, Next.js, MongoDB, MySQL, Kafka, Kubernetes, Helm, Ansible ELK, Prometheus, Grafana, AWS, Docker, Cypress, Redis, Prisma, SAML 2.0, OAuth2

البنية التحتية وDevOps

عمليات نشر Kubernetes: إنشاء أكثر من 50 إعداداً لمخططات Helm لجميع خدمات المنصة. يتضمن سياسات التوسّع التلقائي، وميزانيات تعطّل الـPods، وسياسات الشبكة لتأمين الاتصال بين الخدمات.

بنية AWS التحتية: بناء خطوط نشر آلية باستخدام قوالب CloudFormation ودفاتر تشغيل Ansible عبر عدة مناطق AWS. إدارة بوابات VPN وأدوار IAM ومجموعات الأمان وتكوين DNS عبر Route53.

CI/CD: تنفيذ Azure Pipelines للاختبارات الآلية وبناء الحاويات. يتضمن تنفيذ اختبارات متوازٍ باستخدام Jest وMocha، وتقارير تغطية الشيفرة، وخطوط نشر متعددة المراحل.

المراقبة: دمج جمع مقاييس Prometheus ولوحات Grafana ومكدس ELK لتجميع السجلات. تنفيذ فحوصات صحة الخدمات وسياسات التنبيه.

بيئات تطوير Docker: تصميم إعدادات docker-compose شاملة للتطوير المحلي، بما في ذلك:

  • مجموعات MongoDB replica sets مع فحوصات صحة mongosh
  • قواعد بيانات MySQL/Percona مع إعدادات Collation مخصّصة
  • عناقيد Kafka/Zookeeper مع تهيئة المواضيع (topic initialisation)
  • خوادم MinIO (متوافقة مع S3) مع إنشاء الـBuckets
  • معماريات متعددة الخدمات مع تنسيق الاعتماديات
  • أدوات التطوير: kubectl proxy, mongo-express, kafdrop, MySQL clients

صور حاويات Docker: بناء وتحسين صور الحاويات باستخدام multi-stage builds لـ:

  • خدمات Node.js: صور مبنية على Alpine مع تجميع TypeScript، واستخدام node-prune لتحسين الحجم، وdistroless runners لتقليل بصمة وقت التشغيل إلى الحد الأدنى
  • خدمات Go: صور مبنية على Devcontainer مع اعتمادات librdkafka للاتصال بـKafka
  • صور أساس Ubuntu: صور مخصّصة مُهيأة مسبقاً مع Node.js وJava JDK وAWS CLI وأدوات التطوير

حاوية أساس Ubuntu: بناء وصيانة صورة أساس Ubuntu 22.04 مع Node.js وJava JDK 24 وAWS CLI وZooKeeper وetcd وKafka وأدوات التطوير لضمان اتساق بيئات البناء.

حاوية CloudShell: بناء حاوية أساس Azure Cloud Shell وحاويات الأدوات مع PowerShell 7 ومجموعة من Azure SDKs لسير عمل إدارة سحابة Microsoft.

حاويات تطوير VS Code: تهيئة بيئات حاويات التطوير لعدة خدمات مع دعم التطوير عن بُعد، وSSH passthrough، وإدارة الإضافات.

قواعد البيانات وإدارة البيانات

MongoDB: مخزن وثائقي مع replica sets لتوفّر عالٍ. تنفيذ نسخ احتياطية آلية وإجراءات التعافي من الكوارث باستخدام mongodump/mongorestore.

MySQL/Percona: قاعدة بيانات علائقية للبيانات المهيكلة، مع سير عمل النسخ الاحتياطي والاستعادة عبر Percona باستخدام myloader/mydumper لهجرة بيانات فعّالة.

CouchDB: مخزن وثائقي عنقودي لتخزين بيانات موزّع مع عمليات نشر متعددة العقد.

ترحيل قواعد البيانات: تطوير أدوات لترحيل البيانات بين عناقيد MySQL وMongoDB، مع دعم نقل بيانات واسع النطاق واختبارات تكامل على مجموعات بيانات شبيهة بالإنتاج.

بيئة تطوير Claude Code (ralph-agent)

مشروع شخصي - بيئة تطوير للذكاء الاصطناعي

إنشاء بيئة تطوير مبنية على Docker ومُحسّنة للمهام طويلة التشغيل لوكلاء الذكاء الاصطناعي باستخدام Claude Code. تتضمن إعداد مستخدم غير جذري (non-root) مع تمرير SSH وGit، وإدارة تلقائية لإصدار Node.js عبر NVM، وتوافقاً مع VS Code Remote Development.

التقنيات الرئيسية: Docker, Ubuntu 24.04, Node.js, VS Code Remote

الملخص

خبرة واسعة في بناء منصات SaaS مؤسسية قابلة للتوسع ومتعددة المستأجرين، مع خبرة عبر كامل طبقات التقنية. قدرة مثبتة على تصميم معماريات الميكروسيرفس، وتنفيذ خطوط CI/CD قوية، وإدارة عمليات نشر بنى تحتية سحابية معقدة. خلفية قوية في أنظمة المصادقة، والمعماريات المعتمدة على الأحداث، وأطر الواجهة الأمامية الحديثة مع تركيز على قواعد شيفرة قابلة للصيانة ومختبرة جيداً.

ملخص التقنيات

التقنيةالغرض
TypeScriptاللغة الأساسية لواجهات API ‏(Fastify, Express)، والواجهة الأمامية (Next.js, React)، ومكتبة الأنواع المشتركة (@cryoserver/types)
Node.jsبيئة تشغيل الخلفية لأكثر من 10 ميكروسيرفس
Goخدمة SMTP لنقل بريد عالي الأداء
Reactإطار واجهة المستخدم للوحات التحكم الموجهة للعملاء ولوحات الإدارة الداخلية
Next.jsإطار React لواجهات المستخدم الموجهة للعملاء
MongoDBمخزن وثائقي أساسي لبيانات المستخدم والإعدادات
MySQL/Perconaقاعدة بيانات علائقية للبيانات المهيكلة، تُستخدم مع Prisma ORM
CouchDBمخزن وثائقي عنقودي للبيانات الموزعة
Redisتخزين مؤقت للجلسات
Kafka/KafkaJSمراسلة معتمدة على الأحداث بين الميكروسيرفس
Kubernetesتنسيق الحاويات لعمليات النشر الإنتاجية
Helmمدير حزم لأكثر من 50 تهيئة لمخططات Kubernetes
Ansibleتزويد البنية التحتية وإدارة الإعدادات (AWS, Azure)
Dockerتحويـة جميع الخدمات باستخدام multi-stage builds
AWS SDKتكامل مع S3 وIAM وCognito وخدمات AWS الأخرى
OAuth2/JWTمصادقة وتفويض واجهات API
Cypressاختبارات شاملة (End-to-End) واختبارات المكونات لتطبيقات الواجهة الأمامية
PrismaORM آمن الأنواع لقواعد بيانات MySQL لعمليات الترحيل
Zodتحقق وقت التشغيل لأنواع TypeScript
MUI (Material UI)مكتبة مكونات واجهة المستخدم لتطبيقات Next.js
Puppeteerتوليد PDF
Node-RD Kafkaعميل Kafka لخدمات Node.js
Solrخدمة فهرسة البحث والاستعلام
Prometheus/Grafanaجمع المقاييس وتصوّرها
ELK StackElasticsearch وLogstash وKibana لتسجيل مركزي
Azure PipelinesCI/CD للبناء والنشر الآلي
Playwright/MCPأتمتة المتصفح لاختبار واجهات مستخدم مدفوعة بالذكاء الاصطناعي
llama.cppاستدلال LLM محلي لأدوات CLI تجريبية
Shibboleth SPوحدة Apache لاتحاد SAML 2.0
ZooKeeperخدمة تنسيق لعناقيد Kafka وSolr
MinIOتخزين متوافق مع S3 للتطوير المحلي
Mavenأداة بناء مشاريع Java مع اختبارات Surefire
TurboRepoأداة Monorepo لإدارة عدة تطبيقات Next.js