درباره منAbout me

چطور به یک مسئله نرم‌افزاری نگاه می‌کنمHow I approach a software problem

برای من توسعه نرم‌افزار از فهم دقیق مسئله شروع می‌شود. فناوری مهم است، اما مهم‌تر از آن این است که راه‌حل، متناسب با نیاز واقعی، قابل نگهداری و روشن باشد.For me, software development starts with understanding the problem well. Technology matters, but it matters more that the solution fits a real need, stays maintainable, and remains clear.

تحلیل مسئلهطراحی ساختارپیاده‌سازی قابل اتکا
۱۰+سال تجربهyears
Enterpriseفضای کاری واقعیreal work context

سه اصل کلیدیThree key principles

  • ساده‌سازی بدون قربانی‌کردن کیفیتSimplify without losing quality
  • طراحی برای توسعه و نگهداریDesign for growth and maintenance
  • شفاف‌بودن رفتار سیستم در شرایط عادی و خطاPredictable behavior in normal and failure states

چهار اصل ثابت در کار منFour constants in the way I work

01

مسئله قبل از ابزارProblem before tool

اولویت من فهم نیاز و محدودیت‌هاست. انتخاب فناوری زمانی معنا دارد که دقیقاً بدانیم قرار است چه مسئله‌ای را حل کنیم و موفقیت چه شکلی خواهد داشت.I prioritize understanding the need and constraints first. Technology choices become meaningful only when the problem and the shape of success are clear.

02

ساختار روشن و مسئولیت‌های جداClear structure and separated responsibilities

منطق کسب‌وکار، دسترسی به داده و رابط کاربری را تا جای ممکن از هم جدا نگه می‌دارم تا سیستم هم قابل تغییر باشد و هم در زمان خطا رفتاری قابل فهم داشته باشد.I keep business logic, data access, and user interface as separate as possible so the system remains adaptable and understandable under change or failure.

03

پایداری و رفتار قابل پیش‌بینیReliability and predictable behavior

نرم‌افزاری که در عمل استفاده می‌شود باید در سناریوهای واقعی قابل اعتماد باشد. به همین دلیل خطاها، اعتبارسنجی، لاگ‌گیری و مسیر بازیابی برای من بخشی از طراحی هستند، نه کارهای جانبی.Software used in practice must be reliable in real scenarios. That is why validation, logging, failure handling, and recovery paths are part of design itself, not afterthoughts.

04

مستندسازی برای ادامه مسیرDocumentation for continuity

من مستندسازی را فقط برای تحویل پروژه نمی‌خواهم؛ بلکه برای ادامه‌پذیر بودن سیستم لازم می‌دانم. راه‌اندازی، وابستگی‌ها، تصمیم‌های مهم و رفتارهای خاص باید ثبت شوند.I do not value documentation only for handoff. I see it as necessary for continuity. Setup, dependencies, major decisions, and special behaviors should be documented.


حوزه‌هایی که بیشتر در آن‌ها کار کرده‌امDomains I have worked on most

APP

نرم‌افزارهای کاربردی و سازمانیBusiness and practical software

پیاده‌سازی ابزارها و نرم‌افزارهایی که قرار است در محیط واقعی مورد استفاده قرار بگیرند و بهره‌وری کار را بهتر کنند.Building applications and tools meant for real operational use and better workflow efficiency.

DATA

پایگاه داده، گزارش و جریان اطلاعاتDatabases, reporting, and information flow

طراحی ساختار داده، کار با SQL Server، ایجاد گزارش و توجه به صحت و قابلیت پیگیری داده‌ها.Data structure design, SQL Server work, reporting, and a focus on data correctness and traceability.

API

یکپارچه‌سازی و سرویس‌هاIntegrations and services

طراحی و پیاده‌سازی سرویس‌ها و APIها برای ارتباط میان اجزای مختلف سیستم و ساده‌سازی تبادل اطلاعات.Designing and implementing APIs and services to connect system components and simplify information exchange.

✓
در همه این حوزه‌ها، ترجیح من ساخت راه‌حل‌هایی است که علاوه بر کارکرد درست، خوانا، قابل توسعه و مناسب استفاده روزمره باشند.Across all these areas, I prefer solutions that not only function correctly, but also remain readable, extensible, and practical for daily use.

فهم نیازUnderstand

تعریف دقیق مسئله، داده‌ها، محدودیت‌ها و معیارهای موفقیت.Clarify the problem, data, constraints, and success criteria.

طراحی و ساختDesign & build

انتخاب ساختار مناسب، پیاده‌سازی مرحله‌ای و بررسی مسیرهای خطا.Choose a fitting structure, implement iteratively, and review failure paths.

تحویل قابل ادامهDeliver for continuity

مستندات، روش اجرا و آمادگی برای توسعه یا نگهداری در ادامه مسیر.Documentation, setup guidance, and readiness for future maintenance or extension.