إعادة الكتابة المموّلة من أكثر الأخطاء المتكررة في هندسة الـ startups كلفة. تطلق MVP، الأرقام تتحقق، تغلق الـ round — ثم تقضي التسع شهور القادمة في إعادة بنائه. السرعة تنهار، الفريق يحبط، وميزتك التنافسية تتبخر.
الخبر الجيد: إعادة الكتابة قابلة للمنع. الخبر السيئ: المنع لازم يحصل من اليوم الأول، قبل أن تحقق product-market fit، حين تبدو الـ over-engineering إسرافاً. إليك القرارات التي أنقذت كل عميل عملنا معه من فخ إعادة الكتابة.
أولاً: افصل الـ domain عن delivery mechanism. حتى أبسط MVP يستفيد من حد نظيف بين business logic والـ framework الذي يكشفها. نبني functions نقية للـ domain layer، ثم نوصّل HTTP، queues، أو cron triggers فوقها. لما تكبر عن stack البداية، الـ domain يأتي معك.
ثانياً: استثمر في الـ types من اليوم الأول. TypeScript، schema validation على الحدود (Zod، Valibot)، و typed database access. التكلفة بطء طفيف في اليوم الأول. العائد القدرة على refactor بثقة في الشهر التاسع — حين ستحتاج إليه.
ثالثاً: اجعل الـ observability table-stakes. Structured logging، request IDs، metrics أساسية، وتتبع أخطاء من أول deploy. لا تستطيع ضبط ما لا تقيس، وعلى نطاق Series A، مشاكل الأداء تتراكم بسرعة.
رابعاً: اجعل الـ state مملاً. قواعد بيانات مملة (Postgres)، caches مملة (Redis)، queues مملة (أياً كان ما يقدمه cloud لك). قاعدة البيانات الجديدة المثيرة التي تحل حالتك الحدية بشكل جميل ستصبح عبئاً اللحظة التي تحتاج فيها لتوظيف شخص لم يستخدمها أبداً.
لا شيء من هذه ثوري. مجرد قرارات صغيرة غير جذابة تتراكم على مدى سنوات. اتخذها مبكراً، وإعادة الكتابة لن تحصل أبداً.
