تکنولوژی‌ها و ابزارهای حرفه‌ای من

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

فناوری‌های فرانت‌اند

  • React و اکوسیستم آن

    کتابخانه اصلی من برای ساخت رابط کاربری. از اکوسیستم React شامل React Router، React Query و کتابخانه‌های مختلف hook برای ساخت اپلیکیشن‌های مستحکم استفاده می‌کنم.

  • Next.js

    تقریباً در همه پروژه‌هایم از Next.js استفاده می‌کنم؛ به خاطر رندر سمت سرور، تولید صفحات ایستا، API Routes و تجربه توسعه عالی.

  • TypeScript

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

  • TailwindCSS

    راهکار محبوب من برای استایل‌دهی؛ به خاطر رویکرد utility-first، امکان شخصی‌سازی بالا و ساخت سریع طراحی‌های واکنش‌گرا.

  • Redux و Zustand

    برای مدیریت state در اپلیکیشن‌های بزرگ از Redux و برای نیازهای ساده‌تر از Zustand استفاده می‌کنم. هر دو state قابل پیش‌بینی و ابزارهای توسعه عالی دارند.

میز کار

  • لنوو ThinkPad (رایزن ۷، ۳۲ گیگ رم) با Debian

    سیستم روزانه من با Debian و zsh؛ پایداری فوق‌العاده برای ساعت‌ها کدنویسی و کار با Docker.

  • مانیتور ۲۷ اینچ 1440p با پنل IPS

    فضای کافی برای کد، مرورگر و مستندات در کنار هم؛ کالیبره‌شده برای خواندن راحت.

  • کیبورد Keychron K2 (سوییچ Gateron Brown)

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

  • ماوس Logitech MX Master 3S

    ماوس ارگونومیک با اسکرول نرم و میانبرهای اختصاصی هر برنامه؛ عالی برای گشت‌وگذار در کدبیس‌های بزرگ.

  • میز و صندلی ارگونومیک

    میز با ارتفاع قابل تنظیم و صندلی مناسب تا در اسپرینت‌های طولانی وضعیت بدنی درست بماند.

ابزارهای توسعه

  • VS Code

    ادیتور اصلی من با افزونه‌های ESLint، Prettier، GitLens و پشتیبانی از زبان‌های مختلف. میانبرها و تنظیمات شخصی بهره‌وری‌ام را به حداکثر می‌رساند.

  • Git و GitHub

    کنترل نسخه با Git و GitHub برای همکاری، بازبینی کد با Pull Request و یکپارچگی CI/CD. طرفدار جدی Git Flow و پیام‌های کامیت معنادار هستم.

  • ترمینال (Warp با Oh My Zsh)

    ترمینال شخصی‌سازی‌شده با aliasهای کاربردی، یکپارچگی با Git و تمی که کار با خط فرمان را هم سریع و هم زیبا می‌کند.

  • Docker

    برای کانتینرسازی و یکسان نگه داشتن محیط توسعه در کل تیم؛ تا محیط لوکال تا حد ممکن شبیه production باشد.

طراحی و همکاری

  • Figma

    برای همکاری در طراحی UI/UX، نمونه‌سازی و نگهداری دیزاین سیستم ضروری است. با طراحان در فیگما همکاری نزدیک دارم تا پیاده‌سازی پیکسل‌به‌پیکسل باشد.

  • Miro

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

تست و تضمین کیفیت

  • Jest و React Testing Library

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

  • Cypress

    برای تست end-to-end تا مطمئن شوم کل مسیر کاربر درست کار می‌کند؛ برای پیدا کردن مشکلات یکپارچگی پیش از استقرار بی‌نظیر است.

  • ESLint و Prettier

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

بهره‌وری و مدیریت تیم

  • Linear

    مدیریت تسک و پروژه با یکپارچگی عالی با GitHub؛ بهترین گزینه برای برنامه‌ریزی اسپرینت و پیگیری پیشرفت.

  • Notion

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

  • Slack

    ابزار اصلی ارتباط تیمی با اتصال به اعلان‌های GitHub، به‌روزرسانی‌های استقرار و بازبینی کد.