آخرین مهندس نرمافزار کسیه که میدونه چی باید ساخت
خلاصهٔ کاملتر
CodeRabbit تو قسمت تازهی پادکست The Merge با کنت سی. داجز، مهندس و مدرس نرمافزار، حرف زده. داجز سالهاست تستنویسی جاوااسکریپت، React و توسعهی فولاستک درس میده و تازگی سراغ کار با ابزارهای AI رفته. سؤالی که خودشم از خودش پرسیده اینه: وقتی ایجنتها کد مینویسن، PR باز میکنن و به بازخورد ریویو جواب میدن، پس من اینجا چیکارهم؟ جوابش کوتاهه: دونستن اینکه چی باید ساخت.
برای توضیحش مهندسها رو به کماندار تشبیه میکنه. وقتی تیر همهی کماندارها به هدف میخوره، چیزی که یکی رو بهتر میکنه اینه که بدونه کدوم هدف بیشترین ارزش رو داره. داجز اسم این نقش رو میذاره product engineer: کسی که معماری، مدل داده، migration و محدودیتهای زیرساخت رو میفهمه، ولی همهی اینها رو به مشکل واقعی کاربر وصل میکنه. قضاوت اصلی هم اینه که «میشه» با «باید» فرق داره.
یه تمرین از دورهی product engineering اون این شکلیه: تیم پشتیبانی داره دستی کلی refund میزنه و یکی پیشنهاد میده یه دکمهی refund به پنل اضافه کنیم. توسعهدهندهی پیادهسازیمحور همونجا شروع میکنه به ساختن، ولی داجز میگه یه قدم برو عقبتر و بپرس چرا اینهمه درخواست refund داریم. به گفتهی اون ما عاشق راهحل میشیم، در حالی که باید عاشق خود مسئله بشیم.
نکتهی بعدی مالکیت هر دو سر کاره. بالادست باید کاربر، دامنه و دلیل کسبوکاری کار رو بفهمی؛ پاییندست باید با migrationها، هزینهی نگهداری و واکنش کاربر زندگی کنی. وسط کار رو ایجنت انجام میده. به گفتهی داجز همین مالکیته که مجبورت میکنه وایسی و به اثر و عوارض کاری که داری تعهد میدی فکر کنی.
جریان کاری خودش هم همینه: ایجنت رو ول میکنه که پیادهسازی کنه و PR بزنه، بعد ازش میخواد با CI و بازخورد معتبر ریویو (CodeRabbit یکی از ریویوئرهاست) جلو بره. وقتی برمیگرده، PR چند دور پیادهسازی و ریویو رو رد کرده و اون نگاه میکنه چی عوض شده، چه primitive تازهای وارد سیستم شده و کدوم migration کل سیستم رو تکون میده.
دربارهی خود ابزارها بدبینتره: میگه یه ابزار رو انتخاب کن و باهاش بهرهور شو، ولی ماهها وقت نذار روی صیقلدادن یه workflow دستی. پارسال همه رو prompt engineering و ruleهای ادیتور و حلقههای Ralph وقت گذاشتن و حالا پلتفرمها دارن همونها رو بهعنوان قابلیت داخلی میبلعن. تشبیهش اینه: این تخصص مثل سنگپلهایه که داره زیر پات فرو میره.
نکات کلیدی:
- داجز جواب سؤال «آخرین مهندس نرمافزار چیکار میکنه؟» رو یه چیز میدونه: دونستن اینکه چی باید ساخت.
- product engineer یعنی کسی که هم معماری و migration رو میفهمه و هم مسئلهی کاربر رو؛ ملاکش «میشه» در برابر «باید»ه.
- تمرین دکمهی refund: قبل از ساختن راهحل بپرس چرا اصلاً اینهمه درخواست refund داریم.
- داجز تخصص روی ابزار رو سنگپلهی در حال فرورفتن میدونه، چون پلتفرمها اون تکنیکها رو داخلی میکنن.
- برنامهی پیشنهادیاش ۵ قدمه: یه ایجنت رو خوب یاد بگیر، از یه سیستم فنی مدل عمیق بساز، مسئلهکاوی تمرین کن، بهجای diff تصمیم رو ریویو کن، و بعد از انتشار مالک کار بمون.




