سابقه کاری
Backend Developer
CaaStor | Part-time | Spain | Remote Senior Software Engineer. Current role focused on backend/software engineering responsibilities.
Backend Developer
ParsPack | Full-time | Tehran Province, Iran | Remote Senior Back End Developer. Key achievements: leveraged asynchronous programming and multi-threading/processing for efficient resource utilization; built robust live streaming and HLS video transcoding functionality.
Backend Developer
ZABAN.COM | Full-time | Tehran Province, Iran | Remote Senior Back End Developer. Focused on backend development and object-oriented programming for production systems.
Backend Developer
Avers Co | Full-time | Tehran Province, Iran | Remote Back End Developer. Created a robust web scraper capable of scraping up to 300K pages/day and processing data through Laravel, Redis and Kafka.
Backend Developer
Sharif ICT Innovation Center | Iran | On-site Back End Developer. Built hotel management systems including reservations, guest management, financial transactions and reporting; crafted online shopping functionality; integrated mobile payment methods for buses and taxis.
Backend Developer
OVINFOS | Freelance | Netherlands | Remote Back End Developer. Consulting on a public transportation app.
Backend Developer
IDPZ | Tehran Province, Iran | Hybrid Back End Developer. Developed an Uber-like recycling application aimed at improving waste management and promoting environmental sustainability.
مهارتها و تکنولوژیها
مقالات و مشارکتها
Handling Race Conditions
An introduction to race conditions and how concurrent access to shared resources can produce unexpected backend behavior.
Handling Race Conditions Part 2
A deeper dive into race conditions, using practical backend scenarios such as concurrent balance transfers in Laravel.
Create a Simple Streaming Server
A practical guide to setting up a simple RTMP streaming server with nginx and ffmpeg.
اپلیکیشنهای نقشهمحور چطور وندورهای نزدیک را در مقیاس میلیونی پیدا میکنند؟
نگاهی به طراحی سیستم اپلیکیشنهای نقشهمحور برای پیدا کردن و رتبهبندی وندورهای نزدیک در مقیاس بالا.
طراحی یک Pipeline پایدار برای Transcoding ویدیو در Cloud
طراحی یک پایپلاین ابری برای ترنسکدینگ ویدیو با تمرکز روی صفها، پردازش پایدار و مدیریت منابع.
معماری پنهان کشینگ در دیجیکالا؛ از CDN تا کنترل موجودی
بررسی لایههای کشینگ در دیجیکالا، از CDN و کش اپلیکیشن تا چالشهای کنترل موجودی و دادههای حساس.
پشتصحنه ترب: جمعآوری، تطبیق و بهروزرسانی میلیونها محصول
نگاهی به چالشهای جمعآوری، تطبیق و بهروزرسانی دادههای نامنظم میلیونها محصول در ترب.
هوش مصنوعی در خدمت فهم معماری نرمافزار: نگاهی عمیق به ابزار اپنسورس Understand Anything
معرفی ابزار اپنسورس Understand Anything برای فهم سریعتر ساختار، فایلها و جریان معماری پروژههای نرمافزاری.
Unleash Your Python Powers with Typer!
An introduction to Typer and how it helps build clean, developer-friendly Python command-line interfaces.
A Comprehensive Overview of Python Performance Check Tools
A brief overview of tools and approaches for checking and improving performance in Python projects.
رزرو پرواز: طراحی قولی که بین Search، Payment و Ticketing میدهیم
رزرو بلیط هواپیما از بیرون شبیه یک checkout ساده است؛ اما از دید backend، یکی از جدیترین مسئلههای consistency عه.
طراحی یک پلتفرم آگهی در مقیاس بالا، از ثبت آگهی تا جستوجو، چت و مقابله با تقلب
طراحی سیستمی شبیه دیوار، از ثبت آگهی و جستوجو تا چت، پردازش تصویر، پرداخت و مقابله با تقلب در مقیاس بالا.
طراحی سیستم یک پلتفرم Q-commerce در ابعاد گسترده
طراحی یک پلتفرم Q-commerce برای سرویسدهی گسترده در شهرهای مختلف و فروش مواد غذایی و کالاهای مصرف روزمره است.
طراحی High-Level یک پلتفرم AdTech شبیه تپسل
ک Ad Network در ظاهر ساده است: اپلیکیشن یک جایگاه تبلیغاتی دارد، درخواست میفرستد و یک تبلیغ نمایش داده میشود. اما پشت این پاسخ چند دهمیلیثانیهای، یک سیستم تصمیمگیری بلادرنگ قرار دارد که باید همزمان بهترین کمپین را انتخاب کند، بودجه را بیرویه مصرف نکند، یک کاربر را با تبلیغ تکراری خسته نکند، فایل خلاقه را سریع تحویل دهد و رویدادهای مالی قابل اتکا ثبت کند.
طراحی پرداخت و کیف پول در مقیاس بالا؛ وقتی پول جابهجا شده، اما پاسخ نرسیده است
گاهی پول جابهجا شده، ولی سیستم هنوز نمیدونه پرداخت موفق بوده یا نه! در مقاله جدیدم رفتم سراغ طراحی سیستم پرداخت و کیف پول در مقیاس بالا؛ از idempotency و Ledger تا مدیریت تراکنشهای UNKNOWN، تسویه و Reconciliation