00
درک کل سیستم
پیش از بهینهسازی ویژگیهای منفرد، تلاش میکنم درک کنم داده، وضعیت، زیرساخت و کاربران چگونه در کل سیستم جریان پیدا میکنند.
درباره من
من یک مهندس نرمافزار هستم که روی ساخت محصولات قابل اعتماد و سیستمهای زیربنایی آنها تمرکز دارم. حوزه کاری من معماری بکاند، هوش مصنوعی، دادههای بلادرنگ، سیستمهای مکانی، اپلیکیشنهای موبایل و پلتفرمهای وب را در بر میگیرد.
از حل مسائلی لذت میبرم که در آن بخشهای مختلف یک سیستم باید در کنار یکدیگر بهصورت قابل اعتماد کار کنند؛ از ارتباط با دستگاهها و پایپلاینهای داده گرفته تا APIها، پایگاههای داده، نقشهها و اپلیکیشنهایی که کاربر مستقیماً با آنها تعامل دارد.
رویکرد من عملی و مبتنی بر مهندسی است: ابتدا مسئله را بهدرستی درک میکنم، مرزهای مناسب سیستم را طراحی میکنم، ساختار آن را قابل فهم نگه میدارم و از ابتدا برای قابلیت اطمینان طراحی میکنم.
فلسفه مهندسی
00
پیش از بهینهسازی ویژگیهای منفرد، تلاش میکنم درک کنم داده، وضعیت، زیرساخت و کاربران چگونه در کل سیستم جریان پیدا میکنند.
01
مسئولیتهای مشخص باعث میشوند سیستمها سادهتر قابل درک، تست، توسعه و نگهداری باشند.
10
سیستمهای production با شبکههای ناپایدار، ورودیهای غیرمنتظره، نیازمندیهای متغیر و محدودیتهای عملیاتی روبهرو هستند. نرمافزار باید این شرایط را از ابتدا در نظر بگیرد.
11
صرفاً به این دلیل که یک زیرساخت یا abstraction در دسترس است، از آن استفاده نمیکنم. پیچیدگی باید به خاطر حل یک مسئله واقعی وجود داشته باشد.
حوزههای فنی
طراحی سرویسهای بکاند، APIها، احراز هویت، مجوزها، منطق دامنه و یکپارچهسازیها.
کار با سیستمهای داده رابطهای، مکانی، بلادرنگ و توزیعشده.
ساخت سیستمهایی که با دستگاههای فیزیکی ارتباط دارند و تلهمتری و فرمانهای بلادرنگ را پردازش میکنند.
ساخت رابطهای وب قابل نگهداری و پلتفرمهای مدیریتی برای سیستمهای بکاند پیچیده.
توسعه اپلیکیشنهای چندسکویی با دادههای بلادرنگ، نقشه، وضعیت دستگاه و رابطهای واکنشگرا.
کار با نقشهها، مختصات، کوئریهای مکانی، مسیرها، ژئوفنسها و تاریخچه موقعیت.