من محمد عبدلی‌راد هستم، مهندس نرم‌افزار و پلتفرم، ساکن هلند.

از سال ۱۳۹۲ به‌صورت حرفه‌ای در حوزهٔ نرم‌افزار فعالیت می‌کنم. در این سال‌ها روی توسعهٔ Backend، زیرساخت، اتوماسیون و فناوری‌های Cloud Native کار کرده‌ام.

این روزها بیشتر با Go، Kubernetes و فناوری‌های مرتبط با اکوسیستم Cloud Native سروکار دارم.

یکی از موضوعاتی که برایم اهمیت زیادی دارد، تجربهٔ توسعه‌دهنده یا همان Developer Experience است. ساختن ابزارهایی را دوست دارم که کار توسعه‌دهندگان را ساده‌تر کنند؛ از ساده‌تر کردن فرایند Deploy گرفته تا طراحی API و قابل‌فهم‌تر کردن سیستم‌های پیچیده.

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

سال‌هاست که از GNU/Linux استفاده می‌کنم و این روزها NixOS محیط اصلی توسعهٔ من است. به Nix، ساختن محیط‌های توسعهٔ قابل‌تکرار و ابزارهایی که فرایند توسعهٔ نرم‌افزار را ساده‌تر و قابل‌اعتمادتر می‌کنند هم علاقه دارم.

پروژه‌های متن‌باز

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

بعضی از پروژه‌هایی که روی آن‌ها کار کرده‌ام عبارت‌اند از:

  • Wait4X: ابزاری برای منتظر ماندن تا سرویس‌ها و وابستگی‌های یک برنامه آماده شوند.
  • Rivaas (ریواس): یک Web Framework مبتنی بر Go برای توسعهٔ برنامه‌های Cloud Native.
  • Deployah: ابزاری برای ساده‌تر کردن فرایند Deploy برنامه‌ها روی Kubernetes.
  • Nabat (نبات): یک CLI Framework برای Go با تمرکز بر تجربهٔ توسعه‌دهنده.
  • Gopherly: مجموعه‌ای از پکیج‌های Go با تمرکز بر تجربهٔ توسعه‌دهنده، سادگی و قابلیت ترکیب‌پذیری.

هرکدام از این پروژه‌ها فرصتی بوده‌اند تا روش‌های مختلف طراحی نرم‌افزار، کاربردپذیری و نگهداری سیستم‌ها را تجربه کنم.

دربارهٔ این وبلاگ

در این وبلاگ دربارهٔ مهندسی نرم‌افزار، تصمیم‌های فنی و چیزهایی که از ساختن و نگهداری نرم‌افزار یاد گرفته‌ام می‌نویسم.

هدفم فقط توضیح دادن نحوهٔ کار یک فناوری نیست. بیشتر دوست دارم دربارهٔ دلیل انتخاب یک راه‌حل، گزینه‌های جایگزین و چیزهایی که می‌توانستم متفاوت انجام بدهم صحبت کنم.

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

بیرون از دنیای کد

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

می‌توانید پروژه‌ها و فعالیت‌هایم را در GitHub دنبال کنید یا از طریق LinkedIn با من در ارتباط باشید.