رهبری نوآوری فنی در Capitalino: ساخت زیرساخت FinTech از صفر
فرصت
در اکتبر 2023، تماسی دریافت کردم که دو سال بعدی حرفهام را شکل داد. معاون سابق CITEX، یکی از بزرگترین صرافیهای ارز دیجیتال ایران، در حال راهاندازی یک پروژه جدید به نام Capitalino بود—یک پلتفرم FinTech متمرکز بر مدیریت سرمایهگذاری دیجیتال. آنها به کسی نیاز داشتند که پایه فنی را از صفر بسازد.
این فقط یک پیشنهاد شغل دیگر نبود. این فرصتی بود برای معماری و ساخت زیرساخت مالی حیاتی، رهبری یک تیم در حال رشد، و ایجاد سیستمهایی که پول واقعی برای کاربران واقعی را مدیریت میکردند. گفتم بله.
ساخت پایه
چالش
شروع یک شرکت FinTech به این معنی است که شما در حال ساخت اعتماد هستید، نه فقط نرمافزار. هر خط کد باید امن باشد. هر endpoint API باید موارد لبه را مدیریت کند. هر تراکنش دیتابیس باید atomic باشد. حاشیه خطا صفر است.
وقتی پیوستم، Capitalino داشت:
معماری
یک معماری میکروسرویس طراحی کردم که میتوانست به صورت افقی مقیاسبندی شود در حالی که امنیت و قابلیت اطمینان را حفظ میکرد:
// معماری سرویس هسته
├── api-gateway/ // مسیریابی و محدودسازی نرخ مبتنی بر Nginx
├── auth-service/ // احراز هویت مبتنی بر JWT با 2FA
├── user-service/ // مدیریت کاربر و پروفایلها
├── investment-service/ // منطق سرمایهگذاری هسته
├── payment-service/ // درگاه پرداخت Crypto-to-Fiat
├── notification-service/ // هشدارهای بلادرنگ via WebSocket
└── analytics-service/ // تجمیع داده و گزارشدهی
تصمیمات فنی کلیدی
1. پشته فناوری
2. امنیت اول
3. تجربه توسعهدهنده
سیستمهای هسته ساخته شده
1. داشبورد سرمایهگذار
داشبورد سرمایهگذار قلب پلتفرم بود. باید:
پیادهسازی فنی:
// تجمیع portfolio بلادرنگ
async function getPortfolioValue(userId: string): Promise {
const cacheKey = portfolio:${userId};
const cached = await redis.get(cacheKey);
if (cached) return parseFloat(cached);
// تجمیع از چندین منبع
const [investments, crypto, fiat] = await Promise.all([
InvestmentService.getTotal(userId),
CryptoService.getBalance(userId),
FiatService.getBalance(userId)
]);
const total = investments + crypto + fiat;
await redis.setex(cacheKey, 30, total.toString()); // کش 30 ثانیه
return total;
}
بهینهسازیهای عملکرد:
2. درگاه پرداخت Crypto-to-Fiat
ساخت یک درگاه پرداخت که ارز دیجیتال و بانکداری سنتی را به هم متصل میکند یکی از پیچیدهترین چالشها بود. نیاز داشت:
جریان تراکنش:
async function processPayment(
userId: string,
amount: number,
fromCurrency: string,
toCurrency: string
): Promise {
const session = await mongoose.startSession();
session.startTransaction();
try {
// 1. قفل حساب کاربر
await UserService.lockAccount(userId, session);
// 2. تأیید موجودی
const balance = await BalanceService.getBalance(
userId,
fromCurrency,
session
);
if (balance < amount) {
throw new InsufficientFundsError();
}
// 3. دریافت نرخ ارز
const rate = await ExchangeService.getRate(fromCurrency, toCurrency);
// 4. اجرای تراکنش atomic
await Promise.all([
BalanceService.debit(userId, fromCurrency, amount, session),
BalanceService.credit(userId, toCurrency, amount * rate, session),
TransactionService.create({
userId,
fromCurrency,
toCurrency,
amount,
rate,
status: 'completed'
}, session)
]);
await session.commitTransaction();
return { success: true, transactionId: transaction._id };
} catch (error) {
await session.abortTransaction();
throw error;
} finally {
session.endSession();
}
}
پروژههای برنده جایزه
نصب AI Hologram (ITEX 2024)
یکی از هیجانانگیزترین پروژهها ساخت یک نصب hologram با قدرت AI برای ITEX 2024 بود. هدف ایجاد یک تجربه تعاملی بود که بازدیدکنندگان را جذب کند و روحیه نوآورانه Capitalino را نشان دهد.
پشته فنی:
نتیجه: Capitalino بهترین غرفه را در ITEX 2024 برنده شد، عمدتاً به دلیل نصب hologram نوآورانه که هزاران بازدیدکننده را جذب کرد.
رهبری تیم
ساخت تیم
به عنوان Technical Lead، مسئول بودم برای:
فرآیندهای تثبیت شده
- Sprintهای دو هفتهای
- Daily standup
- Sprint retrospective
- Kanban board برای ردیابی task
- ESLint و Prettier برای فرمت کد
- TypeScript strict mode
- حداقل 80% پوشش تست
- Code review اجباری
چالشها و راهحلها
چالش 1: مقیاسبندی تحت بار
مشکل: در ساعات اوج، داشبورد کند بود و گاهی غیرقابل پاسخ.
راهحل:
نتیجه: زمان پاسخ از 2-3 ثانیه به زیر 200ms بهبود یافت.
معیارها و تأثیر
در طول مدت کارم در Capitalino:
درسهای آموخته شده
نتیجهگیری
رهبری تیم فنی در Capitalino یکی از پربارترین تجربیات حرفهام بود. فرصت ساختن زیرساخت مالی حیاتی، رهبری یک تیم با استعداد، و ایجاد سیستمهایی که پول واقعی برای کاربران واقعی را مدیریت میکردند را داشتم. این تجربه به من آموخت که رهبری فنی بیش از نوشتن کد است—درباره ساخت سیستمها، فرآیندها و تیمهایی است که میتوانند مقیاسبندی کنند و موفق شوند.
---
علاقهمند به یادگیری بیشتر درباره ساخت زیرساخت FinTech یا رهبری فنی؟ خوشحال میشوم با شما در ارتباط باشم!