Agent-First Development؛ چه کاری رو واگذار می‌کنیم، و از کجا می‌فهمیم می‌ارزه؟

فرض کنید قرارداد سیستم ما اینه که شمارهٔ ورودی 09121234567 رو به شکل استاندارد 989121234567+ تبدیل کنه؛ یعنی شماره رو نرمال کنه. یکی از تست‌های همین رفتار، شکست خورده و از Agent خواستیم مشکل رو درست کنه. نتیجه‌ای که تحویل داده اینه:: بعد از اعمال تغییر توسط Agent، تست سبز شده، ولی دیگه همون چیز … ادامه

Feature Flag؛ از یک if ساده‌، تا چیزی که کسی جرئت حذفش رو نداره!

در حالی‌که یه عده بحث می‌کنن که درد عاشقی بدتره یا درد بی‌پولی، هم‌زمان عده‌ای از لابلای صف دستشویی بهشون پوزخند می‌زنن؛ ولی یه گروه چهارمی هم هستن که یه قابلیت جدید برای نرم‌افزارشون نوشتن، ولی نمی‌دونن چجوری فعال/غیرفعال شدنش رو بدون ریلیز جدید، کنترل کنن! بله، این گروه‌، همون‌هایی هستن که یا feature flag … ادامه

Spec-Driven Development؛ چیزی که قرار نیست AI رو باهوش‌تر کنه!

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

باگ ۱۶ ساله‌ی SQLite، و شش ماه زمان که Tailscale صرف پیدا کردنش کرد!

Tailscale چیه/کیه؟ Tailscale یک سرویس ایجاد شبکه بر پایه‌ی WireGuard است؛ یعنی شما می‌تونید با استفاده از پروتکل وایرگارد، شبکه دلخواه خودتون رو بسازین و مدیریت کنید. مثلا دستگاه‌های شما را، هرجای دنیا که باشن، توی یک شبکه‌ی مش (mesh) خصوصی به هم وصل بشن؛ بدون درگیر شدن با پیکربندی VPNهای سنتی، فورواردینگ پورت، یا … ادامه

چالش‌های مصاحبه فنی، لایوکدینگ، AI

این توییت، مسبب نوشتن این مطلب شد!داستان از جایی شروع شد که یک روز شلوغ کاری، مجبور شدم توی مرحله لایوکدینگ یک مصاحبه شرکت کنم، ولی بعد از ۹۰ دقیقه مصاحبه که نتیجه ناامیدکننده‌ای داشت، این توییت رو نوشتم. چند ساعت بعد، دیدم بازخورد و تعداد مشاهده‌هاش نسبت به میانگین توییت‌های من خیلی بیشتر شد! … ادامه

مرور الگوی outbox/inbox

طراحی سیستم‌های توزیع‌شده و معماری مایکروسرویس، در کنار تمام مزایایی که داره، یک چالش جدی هم با خودش میاره: حفظ یکپارچگی داده‌ها. یک سیستم ساده و سنتی، معمولا همه چیز رو داخل یک دیتابیس و یک transaction انجام میده. و همه تغییرات یا با هم commit می‌شن، یا همه با هم rollback می‌شن و جای … ادامه

بهینه‌سازی خودکارِ مهارت‌ها، SkillOpt

چند سال پیش وقتی مفهوم Prompt Engineering به‌وجود اومد، تصور خیلی‌ها محدود و معطوف به یه چیزی شبیه هنر جمله‌نویسی بود. اینکه چجوری به مدل بگیم چه می‌خواهیم، چجوری نقش مدل رو براش توضیح بدیم، چجوری ساختار خروجی مورد نظرمون رو تبیین کنیم، و چجوری با مثال زدن، رفتار مدل رو کمی قابل پیش‌بینی‌ کنیم. … ادامه

از Skill سازی تا Skill سنجی؛ بررسی Waza و skill-validator

یک قدم عقب‌تر… قبل از معرفی ابزارها، یه مرور کنیم که: Agent Skill چیه و چرا اصلاً باید بهش اهمیت داد؟ هر بار که یه AI agent، مثل Claude Code، Copilot، یا Cursor داره روی کد شما کار می‌کنه، از یه context window محدود استفاده می‌کنه. این context می‌تونه شامل تاریخچهٔ مکالمه، کد پروژه، و … ادامه

یک مسئله، یک‌ ابزار، سه سطح نگاه!

اینکه فلان شرکت مشهور، فلان تعداد توسعه‌دهنده رو بابت جایگزینی با AI، تعدیل کرده؛ تیتر جذاب و البته پرتکراری شده. ولی مشکل فقط خود تیترهای اینچنینی نیست؛ مشکل تبعاتیه که روی تصمیم‌سازی افراد، مدیران و سازمان‌هایی می‌گذارن که بیشتر نقش دنباله‌رو دارند تا تحلیل‌گر. موجی که هیجان ناشی از توسعه PoCها یا حتی گاها MVPهایی … ادامه

مدیر محصول و مهندس نرم‌افزار: همکاری یا تنش؟ (بخش دوم)

بخش ۲، فلوی شکل‌گیری ایده تا رسیدن به محصول و محیط عملیاتی در بخش اول دیدیم که ریشه‌ی تنش بین مدیر محصول و مهندس، بیشتر از اینکه یه موضوع فردی باشه، یک مشکل ساختاریه. ابهام در مالکیت، اشتباه گرفتن Product Manager با Project Manager، و موندن توی مدل Feature Team، باعث می‌شه سیستم به سمت … ادامه