پرش به محتوای اصلی

درباره من

ساخت نرم‌افزار در مرز میان سیستم‌ها، پلتفرم‌ها و محصولات.

من یک مهندس نرم‌افزار هستم که روی ساخت محصولات قابل اعتماد و سیستم‌های زیربنایی آن‌ها تمرکز دارم. حوزه کاری من معماری بک‌اند، هوش مصنوعی، داده‌های بلادرنگ، سیستم‌های مکانی، اپلیکیشن‌های موبایل و پلتفرم‌های وب را در بر می‌گیرد.

از حل مسائلی لذت می‌برم که در آن بخش‌های مختلف یک سیستم باید در کنار یکدیگر به‌صورت قابل اعتماد کار کنند؛ از ارتباط با دستگاه‌ها و پایپ‌لاین‌های داده گرفته تا APIها، پایگاه‌های داده، نقشه‌ها و اپلیکیشن‌هایی که کاربر مستقیماً با آن‌ها تعامل دارد.

رویکرد من عملی و مبتنی بر مهندسی است: ابتدا مسئله را به‌درستی درک می‌کنم، مرزهای مناسب سیستم را طراحی می‌کنم، ساختار آن را قابل فهم نگه می‌دارم و از ابتدا برای قابلیت اطمینان طراحی می‌کنم.

فلسفه مهندسی

مهندسی خوب یعنی قابل مدیریت کردن پیچیدگی.

00

درک کل سیستم

پیش از بهینه‌سازی ویژگی‌های منفرد، تلاش می‌کنم درک کنم داده، وضعیت، زیرساخت و کاربران چگونه در کل سیستم جریان پیدا می‌کنند.

01

مرزهای شفاف

مسئولیت‌های مشخص باعث می‌شوند سیستم‌ها ساده‌تر قابل درک، تست، توسعه و نگهداری باشند.

10

ساختن برای دنیای واقعی

سیستم‌های production با شبکه‌های ناپایدار، ورودی‌های غیرمنتظره، نیازمندی‌های متغیر و محدودیت‌های عملیاتی روبه‌رو هستند. نرم‌افزار باید این شرایط را از ابتدا در نظر بگیرد.

11

پیچیدگیِ مفید

صرفاً به این دلیل که یک زیرساخت یا abstraction در دسترس است، از آن استفاده نمی‌کنم. پیچیدگی باید به خاطر حل یک مسئله واقعی وجود داشته باشد.

حوزه‌های فنی

حوزه‌هایی که بیشتر زمان مهندسی خود را در آن‌ها صرف می‌کنم.

بک‌اند و API

طراحی سرویس‌های بک‌اند، APIها، احراز هویت، مجوزها، منطق دامنه و یکپارچه‌سازی‌ها.

TypeScriptNestJSNode.jsGo

داده و زیرساخت

کار با سیستم‌های داده رابطه‌ای، مکانی، بلادرنگ و توزیع‌شده.

PostgreSQLPostGISTimescaleDBRedisMongoDB

سیستم‌های متصل

ساخت سیستم‌هایی که با دستگاه‌های فیزیکی ارتباط دارند و تله‌متری و فرمان‌های بلادرنگ را پردازش می‌کنند.

TCPTelemetryReal-time systems

اپلیکیشن‌های وب

ساخت رابط‌های وب قابل نگهداری و پلتفرم‌های مدیریتی برای سیستم‌های بک‌اند پیچیده.

Next.jsReactTypeScriptMapLibre

اپلیکیشن‌های موبایل

توسعه اپلیکیشن‌های چندسکویی با داده‌های بلادرنگ، نقشه، وضعیت دستگاه و رابط‌های واکنش‌گرا.

FlutterDartRiverpodGoRouter

سیستم‌های مکانی

کار با نقشه‌ها، مختصات، کوئری‌های مکانی، مسیرها، ژئوفنس‌ها و تاریخچه موقعیت.

PostGISMapLibreGeoJSONGPS