About the role
Our clients tend to arrive holding a hard constraint: a regulator, a ledger that must balance, a dispatch board that can't blink during a shift, or twenty years of data in a system everyone is afraid of. You'd design around those, then prove it works.
You own the backend architecture of an engagement: schema, service boundaries, integration strategy, and the operational story that comes with them. You also own the conversation with the client's architects, who will arrive with opinions and sometimes with a diagram.
Engagements run six to eighteen months, which is long enough for shortcuts to find their way back to you.
Agents draft, refactor and explain code all day here. That makes your judgment worth more, not less: what to trust, what to test, and which generated abstraction to delete before it spreads.
What you'll do
- Draw the boundaries. Data model and service edges, written down with the reasoning, so the next person isn't left guessing.
- Build where correctness matters. You take the parts that must not be wrong, and set the patterns for everything else.
- Plan the escape from legacy. Migrations that keep both worlds running until the client is ready to switch.
- Set the operational baseline. Observability, backups, runbooks, and a clear answer to what happens at 3am.
- Hold the line on complexity. Review designs and code, and push back on the clever thing that won't pay for itself.
What we look for
- Five Years of Backend Depth: TypeScript, Go, Python or similar, in production, with the scars to match.
- Node and TypeScript Depth: framework choices you can defend, and comfort in the runtime when the behavior gets strange.
- Postgres Under Load: locking, pooling, partitioning, and a migration plan for the table nobody is allowed to take offline.
- API Design That Lasts: versioning, pagination, idempotency keys, and contracts that survive the second consumer.
- Event-Driven Where It Earns It: queues, outbox patterns, and exactly-once wishes met with at-least-once reality.
- Security and Audit Trails: authentication, authorization, secrets, personal data handling, and logs an auditor can follow.
- Observability Built In: structured logs, traces and metrics, so whoever is on call is reading rather than guessing.
- Schema Whisperer: design, query performance, transactions, and the failure modes of each at 2am.
- Production Owner: you have carried a pager, learned something unpleasant, and redesigned because of it.
- Boundary Defender: you integrate with systems you don't control and keep their surprises on their side of the wall.
- Straight About Trade-Offs: you can size work and say plainly what you're giving up to hit a date.
- Architect Translator: you explain a design to people who will never read the code, and they leave understanding it.
- Fluent English, Written and Spoken: most of our work happens in a written thread or on a call, and both have to be clear. Arabic is a genuine advantage across the region.
- AI With Judgment: agents make you faster, and you still spot the plausible nonsense they sometimes produce.
Personal traits
- Calm in incidents: you get slower and more careful when it matters, not faster and louder.
- Long-game thinker: you build for month nine, not demo day.
- Teacher by default: the review comment explains why, not just what.
Nice to have
- Regulated work: finance, healthcare, or anything with an auditor attached.
- Multi-tenant products where data isolation had to be airtight.
- Event sourcing or CQRS, plus the judgment to know when they're overkill.
Why you'd like it here
- Remote across MENA. Work from wherever you are in the region, with hours built around your team's overlap rather than someone's attendance spreadsheet.
- Work that ships. Products go live in weeks, not quarters. When someone asks what you have been building, you can open it on your phone and show them.
- Small teams, no ticket queue. Four to eight people carry a product from the first client call to handover. Nobody hands you a spec and disappears.
- Kit and tools you choose. A budget for your setup, and for the editor, licenses and services that make you fast. No three-week procurement saga.
- A learning budget with time attached. Money for the course or the conference, plus room in the week to use it. The second half is the part most places skip.
- Client contact from day one. You sit in the room where the decisions get made. Plenty of engineers wait a decade for that seat.
- Time off people take, and no timesheets. We measure engagements, not humans in fifteen-minute increments. Book the holiday, go, come back.
نبذة عن الدور الوظيفي
غالباً ما يأتي عملاؤنا وبحوزتهم قيود صارمة: جهة تنظيمية، أو دفتر حسابات يجب أن يتوازن، أو لوحة توزيع مهام لا يمكن أن تومض أو تتوقف أثناء وردية العمل، أو بيانات تعود لعشرين عاماً في نظام يخشاه الجميع. مهمتك هي التصميم مع مراعاة هذه القيود، ثم إثبات كفاءة التصميم وعمله بنجاح.
أنت المسؤول عن البنية التحتية والأنظمة الخلفية للمشروع: المخطط (schema)، وحدود الخدمات، واستراتيجية التكامل، والرؤية التشغيلية المرافقة لها. كما أنك تتولى الحوار والتواصل مع مهندسي المعمارية البرمجية لدى العميل، الذين سيحضرون بآرائهم الخاصة وفي بعض الأحيان ببيانات توضيحية.
تستمر المشاريع من ستة إلى ثمانية عشر شهراً، وهي مدة طويلة بما يكفي لتنعكس عليك الحلول المختصرة أو العشوائية مجدداً.
يقوم الوكلاء الأذكياء (Agents) بصياغة الكود وتعديله وشرحه طوال اليوم هنا. وهذا يرفع من قيمة حكمك وخبرتك بدلاً من التقليل منها: ما يجب الوثوق به، وما يجب اختباره، وما هو التجريد المولد الذي يجب حذفه قبل أن ينتشر.
ما ستفعله
- رسم الحدود. نموذج البيانات وأطراف الخدمات، موثقة ومشفوعة بالأسباب، حتى لا يقع الشخص التالي في حيرة أو تخمين.
- البناء حيث تتطلب الأمور الدقة التامة. تتولى الأجزاء التي لا تحتمل الخطأ، وتضع الأنماط والنماذج لكل شيء آخر.
- التخطيط للتخلص من الأنظمة القديمة. عمليات نقل (Migrations) تحافظ على تشغيل النظامين القديم والجديد حتى يصبح العميل مستعداً للانتقال الكامل.
- تحديد المرجع التشغيلي الأساسي. إمكانية الملاحظة والرقابة (Observability)، النسخ الاحتياطية، أدلة التشغيل (runbooks)، وإجابة واضحة لما يحدث في الساعة 3 صباحاً.
- الحد من التعقيد. مراجعة التصاميم والأكواد، والرفض المبرر للحلول المعقدة التي لا جدوى فعلية منها.
ما نبحث عنه
- خبرة عميقة لمدة 5 سنوات في الأنظمة الخلفية: TypeScript، Go، Python أو ما يماثلها، في بيئات الإنتاج الفعلية، مع خبرة عملية مثبتة ناتجة عن التحديات الميدانية.
- عمق في Node وTypeScript: خيارات بيئات العمل التي يمكنك الدفاع عنها، والارتياح والتمكن من بيئة التشغيل عند حدوث سلوكيات غير متوقعة.
- Postgres تحت أعباء العمل العالية: القفل (locking)، والتجميع (pooling)، والتقسيم (partitioning)، وخطة نقل متكاملة للجدول الذي لا يُسمح بإيقافه عن العمل إطلاقاً.
- تصميم واجهات برمجة التطبيقات (API) المستدامة: إدارة الإصدارات، والتقسيم إلى صفحات، ومفاتيح التكرار (idempotency keys)، والعقود البرمجية التي تصمد عند استهلاكها من طرف ثانٍ.
- الهندسة القائمة على الأحداث (Event-Driven) في مكانها المناسب: طوابير الانتظار (queues)، وأنماط الصندوق الصادر (outbox patterns)، والتوفيق بين الرغبة في التسليم "مرة واحدة بالضبط" وواقع التسليم "مرة واحدة على الأقل".
- الأمان وسجلات التدقيق: المصادقة، والتفويض، وإدارة الأسرار، والتعامل مع البيانات الشخصية، وسجلات يمكن لمدقق الحسابات تتبعها.
- إمكانية الملاحظة المدمجة: السجلات المهيكلة، والتتبعات (traces)، والمقاييس (metrics)، حتى يتمكن الشخص المناوب من القراءة المباشرة بدلاً من التخمين.
- خبير في المخططات (Schema): التصميم، وأداء الاستعلامات، والمعاملات (transactions)، وأنماط الفشل لكل منها في الساعة 2 صباحاً.
- مسؤول بيئة الإنتاج: تناوبت على الاستدعاء والمناوبة (pager)، وتعلمت دروساً صعبة، وقمت بإعادة التصميم بناءً عليها.
- حامي الحدود البرمجية: تتكامل مع أنظمة لا تسيطر عليها وتحافظ على مفاجآتها غير المتوقعة خلف حدودها دون التأثير على نظامك.
- صريح بشأن الموازنات والحلول الوسط: يمكنك تقدير حجم العمل والتصريح بوضوح بما تتنازل عنه للالتزام بالموعد المحدد.
- مترجم معمارية البرمجيات: تشرح التصميم لأشخاص لن يقرؤوا الكود أبداً، ويفهمونه تماماً عند المغادرة.
- إتقان اللغة الإنجليزية كتابة وتحدثاً: معظم عملنا يتم عبر محادثات كتابية أو مكالمات، وكلاهما يتطلب وضوحاً تاماً. وتعد اللغة العربية ميزة إضافية حقيقية في جميع أنحاء المنطقة.
- استخدام الذكاء الاصطناعي بحكمة وتقييم: الوكلاء يجعلونك أسرع، وتظل قادراً على اكتشاف الهراء المقنع الذي ينتجونه أحياناً.
السمات الشخصية
- الهدوء أثناء الحوادث والمشاكل: تزداد تأنياً وحذراً عندما يستدعي الأمر، ولا تندفع أو ترفع صوتك.
- تفكير بعيد المدى: تبني للشهر التاسع وليس ليوم العرض التوضيحي فقط.
- معلم بطبيعتك: تعليق المراجعة يشرح "لماذا"، وليس فقط "ماذا".
مهارات يُفضل وجودها
- العمل في قطاعات خاضعة للتنظيم: المالية، أو الرعاية الصحية، أو أي مجال يتطلب مدققاً.
- منتجات متعددة المستأجرين (Multi-tenant) حيث يجب أن يكون عزل البيانات محكماً للغاية.
- تقنيات Event sourcing أو CQRS، مع الرأي السديد لمعرفة متى تكون أكثر من الحاجة ومبالغاً فيها.
لماذا ستحب العمل معنا
- العمل عن بُعد في منطقة الشرق الأوسط وشمال أفريقيا: اعمل من أي مكان في المنطقة، مع ساعات عمل تعتمد على التداخل والتنسيق مع فريقك بدلاً من جدول سجل الحضور والغياب.
- عمل يُطلق فعلياً للإنتاج: يتم إطلاق المنتجات في غضون أسابيع وليس أرباع سنوية. وعندما يسألك شخص عما تبنيه، يمكنك فتحه على هاتفك واستعراضه أمامه.
- فرق صغيرة وبدون طوابير تذاكر دعم: يتولى من 4 إلى 8 أفراد المنتج من المكالمة الأولى مع العميل حتى التسليم. لا أحد يسلمك المواصفات ثم يختفي.
- المعدات والأدوات التي تختارها: ميزانية لإعداد بيئة عملك، ولمحرر الأكواد، والتراخيص والخدمات التي تجعلك أسرع. دون المرور ببيروقراطية المشتريات التي تستغرق ثلاثة أسابيع.
- ميزانية للتعلم مخصصة مع وقت محدد لها: دعم مالي للدورات أو المؤتمرات، بالإضافة إلى وقت مخصص في الأسبوع لاستغلال ذلك. فالجزء الثاني هو ما تتجاهله معظم أماكن العمل.
- تواصل مباشر مع العملاء من اليوم الأول: تجلس في الغرفة التي تُتخذ فيها القرارات. العديد من المهندسين ينتظرون عقداً من الزمن للوصول إلى هذا المقعد.
- إجازات يستمتع بها الموظفون بحرية وبدون جداول زمنية: نحن نقيس الإنجاز والمشاريع، وليس الأشخاص بتقسيم الوقت لشرائح من 15 دقيقة. احجز إجازتك، واذهب، ثم عد.