آماده‌ی مشاوره و همکاری

ساخت نرم‌افزارهای مقیاس‌پذیر
برای حل مسئله‌های واقعی

هم‌بنیان‌گذار و مدیر فنی (CTO) هستم و بیش از ۱۵ سال است که به‌عنوان مهندس ارشد نرم‌افزار، سیستم‌های ابری را روی ‎.NET و Azure و استک‌های مدرن جاوااسکریپت می‌سازم. معماری طراحی می‌کنم، خودم هم کد می‌نویسم، اپلیکیشن‌های چندسکویی بیرون می‌دهم و محصول‌ها و ایجنت‌های مبتنی بر هوش مصنوعی توسعه می‌دهم.

ساکن ایران · دورکار
محمد امین‌صفایی
محمد امین‌صفایی

هم‌بنیان‌گذار و مدیر فنی (CTO)

.NET
Blazor
Azure

درباره من

پانزده سال ساخت نرم‌افزارهایی که به دست کاربر رسیده‌اند

مهندسِ پشتِ کدها

من محمد امین‌صفایی‌ام؛ هم‌بنیان‌گذار، مدیر فنی (CTO) و مهندس ارشد نرم‌افزار فول‌استک، با بیش از ۱۵ سال تجربه. کارم را در ایران با ساخت اپلیکیشن‌های وب و موبایل سازمانی در Tirazis و AraPendar شروع کردم و در پروژه‌های ملی، سرپرستی تیم‌ها را به عهده داشتم. از سال ۲۵۸۰ هم با تیم‌های خارج از ایران کار کرده‌ام: Tradeer در بریتانیا و Rigid Robotics در کانادا. حالا مدیر فنی Smart Clouds هستم؛ شرکتی که خودم هم‌بنیانش گذاشته‌ام. با اینکه مهندسی را مدیریت می‌کنم، هنوز خودم کد می‌نویسم. در کنار آن با تیم Bit Fabric روی کامپوننت‌های متن‌باز Blazor کار می‌کنم.

نگاهم به مهندسی نرم‌افزار

نرم‌افزار خوب بیشتر از آنکه به کدِ زیرکانه بستگی داشته باشد، به این بستگی دارد که مسئله را درست بفهمیم، مرزها را روشن بکشیم و هر چه سیستم بزرگ‌تر می‌شود، ساده بماند. به معماری تمیز، تست خودکار و CI/CD تکیه می‌کنم تا عرضه‌ی مکرر به معنی عرضه‌ی باگ نباشد. محک واقعی این است که دو سال بعد از نوشتن کد، هنوز بشود راحت تغییرش داد.

فقط کد نمی‌نویسم

به خودِ محصول هم نزدیکم، نه فقط به کدبیس. در این سال‌ها سیستم‌های قدیمی را به میکروسرویس‌های رویدادمحور تبدیل کرده‌ام، پایپ‌لاین‌های CI/CD را روی Azure DevOps و GitHub Actions راه انداخته‌ام و با بهتر کردن observability، زمان رفع حادثه‌ها را کوتاه‌تر کرده‌ام. این اواخر هم ایجنت‌های هوش مصنوعی و فرایندهای MLOps را وارد محصول‌ها کرده‌ام. برایم دلیل کسب‌وکاریِ پشتِ یک قابلیت، به اندازه‌ی جزئیات پیاده‌سازی‌اش مهم است.

بیش از ۱۵ سال

ساخت و عرضه‌ی نرم‌افزار برای وب، دسکتاپ، اندروید و iOS

Cloud-Native

میکروسرویس‌های رویدادمحور روی Azure با ‎.NET و ASP.NET Core

هم‌بنیان‌گذار و CTO

هم‌بنیان‌گذار Smart Clouds؛ مدیر فنی‌ای که هر روز کد می‌نویسد

متن‌باز

نگه‌دارنده‌ی چند کتابخانه‌ی ‎.NET با بیش از ۹۰ ستاره در GitHub

تخصص‌ها

مهارت‌های فنی

ابزارهایی که سراغشان می‌روم؛ حاصل بیش از ۱۵ سال کار عملی در همه‌ی لایه‌های یک نرم‌افزار.

تسلط بر ۷ فناوری

TypeScript۹۰٪
Blazor۹۲٪
Angular۸۰٪
React۸۵٪
React Native۷۸٪
Next.js۸۸٪
Flutter۷۵٪

با این‌ها هم کار کرده‌ام: JavaScript، Xamarin، Entity Framework Core، SignalR، WebSocket، gRPC و Agile/Scrum

C#MAUISignalREntity Framework CoreJavaScriptT-SQLXMLGraphQLgRPCODataMicroservicesEvent-Driven ArchitectureAgile/ScrumWordPressPayload CMSSEOGEOAEO

پروژه‌ها

نمونه‌کارهای برگزیده

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

اسکرین‌شات

Serilog.Sinks.TelegramBot

یک Serilog sink که لاگ‌های برنامه‌های ‎.NET را مستقیم به تلگرام می‌فرستد. ۳۵ ستاره و ۸ فورک در GitHub دارد و چند تیم دیگر هم برای پایش لحظه‌ای لاگ‌ها از آن استفاده می‌کنند.

.NETSerilogTelegram APINuGet

اسکرین‌شات

ACA-Tech

پلتفرم SaaS چندزبانه برای شبکه‌های آموزشی بزرگ، از جمله i-Maths، c-Maths، UCMAS و دانشگاه آزاد اسلامی؛ ساخته‌شده با ASP.NET Core و Angular.

ASP.NET CoreAngularSaaSSQL Server

اسکرین‌شات

پلتفرم ملی ارزیابی مهارت

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

ASP.NETAngular.NETSQL Server

اسکرین‌شات

Adobe Connect SDK

یک SDK برای ‎.NET Core جهت کار با API نرم‌افزار آموزش الکترونیکی Adobe Connect Professional؛ با آن می‌شود کلاس‌های مجازی و جلسه‌ها را از داخل کد مدیریت کرد.

.NET CoreAdobe Connecte-LearningSDK

اسکرین‌شات

MoodleApi Wrapper

یک wrapper سی‌شارپ برای REST API مودل که اتصال به سامانه‌های مدیریت یادگیری (LMS) را برای پلتفرم‌های آموزشی و آموزش سازمانی ساده می‌کند. ۸ ستاره در GitHub.

C#MoodleREST APILMS

اسکرین‌شات

Nop.Plugin.Payments.Sadad

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

C#nopCommercePayment GatewayASP.NET

تجربه

مسیر شغلی

بیش از ۱۵ سال ساخت نرم‌افزار، سرپرستی تیم و عرضه‌ی محصول.

دی ۲۵۸۰ تا اکنون

هم‌بنیان‌گذار و مدیر فنی (CTO)

Smart Clouds · کانادا · دورکار

Smart Clouds را هم‌بنیان گذاشتم و به‌عنوان مدیر فنی اداره‌اش می‌کنم، بی‌آنکه از کد فاصله بگیرم: مسیر فنی را تعیین می‌کنم و همراه تیم، مسئولیت معماری، پیاده‌سازی و تحویل کار را به عهده دارم. کارهای هر روزم از طراحی معماری راهکار و مهندسی سیستم‌های عملیاتی تا DevOps و MLOps و ساخت ایجنت‌ها و محصولات مبتنی بر هوش مصنوعی را شامل می‌شود.

  • هدایت معماری و توسعه‌ی سیستم‌های عملیاتی با ‎.NET Core، ASP.NET Core و Blazor
  • ساخت و عرضه‌ی بک‌اند، فرانت‌اند و اپلیکیشن‌های چندسکویی با Node.js، NestJS، Next.js، Flutter و React Native
  • کدنویسی مستقیم روی خودِ پروژه‌ها: پیاده‌سازی، بهینه‌سازی عملکرد و رفع باگ
  • راه‌اندازی CI/CD، خودکارسازی زیرساخت با Docker و جاانداختن روش‌های DevOps و MLOps
  • طراحی و ساخت ایجنت‌های هوش مصنوعی و فرایندهای مبتنی بر LLM برای محصولات هوشمند
  • راهنمایی مهندس‌ها و ارائه‌ی طراحی راهکار و مشاوره‌ی فنی به مشتری‌ها

فروردین ۲۵۸۰ تا اکنون

توسعه‌دهنده‌ی فول‌استک و سرپرست تیم

Bit Fabric · هلند · دورکار

سرپرستی توسعه‌ی کتابخانه‌ی متن‌باز کامپوننت‌های Blazor در Bit Fabric که در جامعه‌ی ‎.NET کاربرد گسترده‌ای دارد. کارم ترکیبی از کدنویسی، بازبینی کد و راهنمایی تیم است.

  • ساخت و نگه‌داری کامپوننت‌های رابط کاربری متن‌باز Blazor
  • نوشتن تست واحد با MSTest تا کامپوننت‌ها قابل‌اعتماد بمانند
  • بازبینی Pull Requestها و رفع مشکلاتی که جامعه گزارش می‌کند
  • راهنمایی توسعه‌دهنده‌ها و تعیین استانداردهای فرانت‌اند

دی ۲۵۸۱ تا شهریور ۲۵۸۳

توسعه‌دهنده‌ی فول‌استک

Rigid Robotics · کانادا · دورکار

ساخت ابزارهای نمایش داده‌ی لحظه‌ای برای عملیات معدن، با فرانت‌اند Angular و Blazor و بک‌اند ASP.NET Core روی Azure.

  • ساخت داشبوردهای بلادرنگ با Angular و Blazor
  • طراحی APIهای امن و مقیاس‌پذیر با ASP.NET Core و C#‎
  • اتصال سرویس‌ها به هم با Azure Service Bus و Event Hubs
  • کاهش ۳۵ درصدی MTTR با یک لایه‌ی سراسری مدیریت خطا روی Application Insights
  • اجرای کامل خط CI/CD در Azure DevOps

فروردین ۲۵۸۰ تا اسفند ۲۵۸۰

توسعه‌دهنده‌ی فول‌استک

Tradeer · بریتانیا · دورکار

ساخت اپلیکیشن‌های چندسکویی برای iOS، Android و Windows با Xamarin و PWA، با بک‌اند ASP.NET Core و SDKهای Azure.

  • ساخت اپلیکیشن‌های چندسکویی با Xamarin و PWA
  • نگه‌داری بک‌اندهای ASP.NET Core با SDKهای Azure
  • تبدیل طرح‌های Figma به رابط‌های ریسپانسیو با Angular و Blazor
  • گسترش تست‌های یکپارچگی و مدیریت CI/CD با Azure DevOps و Git-flow

۲۵۷۵ تا ۲۵۸۰

سرپرست فنی و توسعه‌دهنده

AraPendar · ایران

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

  • سرپرستی ساخت و تحویل پلتفرم ملی ارزیابی مهارت
  • ساخت برنامه‌های وب سازمانی با ASP.NET MVC و Angular
  • بهینه‌سازی عملکرد SQL Server و نوشتن T-SQL پیچیده
  • ساخت اپلیکیشن‌های موبایل چندسکویی با Cordova، Ionic و Xamarin

۲۵۶۹ تا ۲۵۷۵

توسعه‌دهنده‌ی نرم‌افزار

Tirazis · ایران

کارم را با ساخت و نگه‌داری برنامه‌های وب سازمانی شروع کردم و در این مسیر از ASP.NET WebForms به MVC و از AngularJS به Angular امروزی رسیدم.

  • توسعه‌ی برنامه‌های وب سازمانی با ASP.NET WebForms و MVC
  • ساخت فرانت‌اندهای پویا با AngularJS و بعدها Angular
  • طراحی و بهینه‌سازی پایگاه‌داده‌ی SQL Server
  • مسئولیت کل چرخه‌ی کار: ساخت، تست، استقرار و پشتیبانی

تحصیلات

کارشناسی مهندسی کامپیوتر · فوق‌دیپلم برنامه‌نویسی

دانشگاه آزاد اسلامی · دانشگاه شیراز

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

  • Microsoft Certified: Web Applications with .NET (آزمون ۷۰-۵۱۵)
  • MCITP: Enterprise Administrator
  • پایه‌ی محکم در الگوریتم، ساختمان داده و طراحی نرم‌افزار

وبلاگ

یادداشت‌هایی از دنیای مهندسی

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

هنوز مقاله‌ای به فارسی منتشر نشده است.

از تازه‌ها باخبر بمانید

هر وقت مقاله‌ی تازه‌ای منتشر کنم، خبرتان می‌کنم. بدون اسپم؛ هر زمان خواستید می‌توانید اشتراک را لغو کنید.

متن‌باز

سهم من در جامعه‌ی متن‌باز

ابزارهای متن‌باز می‌سازم و نگه‌داری می‌کنم تا توسعه‌دهنده‌ها نرم‌افزارِ بهتر را سریع‌تر به دست کاربر برسانند.

۴۵

مجموع ستاره‌ها

۹

فورک‌ها

۴۶

مخزن‌ها

۵۶

دنبال‌کننده‌ها

مشارکت‌ها در GitHub

۴٬۴۴۵ مشارکت در یک سال گذشته
دیدن پروفایل

دستاوردها

حرف نه، کارنامه

چند نتیجه که خودتان هم می‌توانید بررسی‌شان کنید؛ از سیستم‌های در حال استفاده تا مخزن‌های عمومی.

۳۵٪

رفع سریع‌تر حادثه‌ها

در Rigid Robotics با ساختن یک لایه‌ی سراسری مدیریت خطا روی Azure Application Insights، میانگین زمان بازیابی را ۳۵ درصد کم کردم.

ملی

پلتفرم ارزیابی مهارت

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

تماس

بیایید با هم کار کنیم

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

محل

ایران · امکان همکاری دورکار

در این شبکه‌ها هستم