Mark Stratmann
About Me Background Image

نبذة عني

أنا مهووس بالحاسوب، وقد كنت كذلك منذ وقت طويل جدًا، طويل جدًا.

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

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

المدير التقني (CTO) ومطوّر متكامل (Full-Stack) أول

مسؤول عن منصة شاملة لأرشفة البريد الإلكتروني والامتثال على مستوى المؤسسات، تخدم عدّة عملاء عالميين. تعالج المنصة ملايين الرسائل يومياً عبر بنية 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 لجميع خدمات المنصة. تنفيذ سياسات التوسّع التلقائي، وميزانيات تعطل الـPod، وسياسات الشبكات لضمان تواصل آمن بين الخدمات.

بنية 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 لتقليل بصمة وقت التشغيل إلى الحد الأدنى
  • خدمات 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، وإدارة الإضافات.

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

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

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

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

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

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

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

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

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

الملخص

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

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

TechnologyPurpose
TypeScriptاللغة الأساسية لواجهات APIs (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حوسبة بالحاويات لجميع الخدمات مع بناء متعدد المراحل
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