نیما یه چیزیو داری در نظر نمیگیری.
ما توی شرکتمون حداقل یک ماهه که حتی یک خط کد رو دستی ننوشتیم. نه من، نه cto، نه بقیه برنامه نویس هامون.
شرکت های مرتبط بهمون هم که باهاشون در ارتباطیم هم دقیقا به همین صورت شدن.
سرعت توسعهمون حداقل ۲، ۳ برابر شده.
ولی،
انتظارات هم ۲، ۳ برابر شده.
تا قبل از ai، ما شاید تو یک ماه، انتظار داشتیم ۲ تا فیچر جدید اضافه میکردیم.
ولی الان، انتظار داریم داریم که اون ۲ تا در عرض یک هفته اضافه بشن.
و همچنین چون سرعت و توانایی تیم بالا رفته، دیگه به فیچر های ساده و دم دستی هم راضی نمیشیم، و روی فیچر هایی کار میکنیم که قبلا برامون ساده نبودن و بخاطر زمانبر بودنشون توی اولویت نمیزاشتیم.
هدفم اینه که بگم هرچی ابزار ها راحتتر میشن و ai سریعتر و بهتر بشه، توقعات بالاتر میرن. پروژه سریعتر سنگین تر میشه.
برای یه پروژه hobby یا به قول خودت founder mode، شاید اینکه همه چیز رو بسپاری به ai فکر بدی نباشه (ما توی شرکتمون همه ابزار هایی که حین توسعه نیاز داریم، با ai میزنیم و اصلا وارد دیتیل نمیشیم. فقط میگیم باید بتونی این یه کارو انجام بدی).
ولی توی پروژه ای که مشتری هایی با بودجه میلیاردی قراره ازش استفاده کنن، و هر اشتباه میتونه یه مشتری با چند میلیارد رو از دست بده، باید نظارت کامل روی کد داشت. باید فهمید اون کد داره چیکار میکنه و چجوری باید ارتقا پیدا کنه.
هوش مصنوعی هرچقدر هم که خوب باشه، ولی تا زمانی که AGI نشه که نمیدونم اون موقع واقعا چه اتفاقی میخواد بیفته، در حال حاضر که دارم این پیام رو مینویسم، باید حتما نظارت داشت روش. هوش مصنوعی، آدم رو گول میزنه.
بار ها شده، یه کاری میخواستم بهش بسپارم، باهاش planning گرفتم و نزدیک یک ساعت راه های مختلف رو بررسی کردیم. چون خودم اشرافی روی اون موضوع نداشتم، ایده هاش رو تایید میکردم. جوری plan چید که فکر میکردم بهترین راهکار رو پیدا کردیم برای این مسئله.
آخرش یکمی شک کردم، پرسیدم با توجه به سورس پروژه، مطمئنی جواب میده؟ جواب داد نه، این ایده بدرد نمیخوره. و اون یک ساعت بحث و گفت و گو یعنی کشک.
اگر من شک نمیکردم، ایده ای که داده بود چنان افت پرفرومنس تو پروداکشن میزد که نگو. و درست کردنش هم کار حضرت فیل میبود.
وقتی میگم باید کد رو فهمیدم، با دیتیل نیست.
بلکه ساختار کد، معماری، و flow کلی برنامه منظورمه.
و همچنین مسلما نیازه که قسمت های خیلی حساس کد رو با چشم بررسی کرد.
بخصوص زمانی که سورس پروژه هنوز به مرحله استیبل نرسیده و ساختار مشخصی در نیومده.
این رو فقط من نمیگم، آنکل باب هم میگه.
تو اخرین مرحله Grill me زدی دیدی فاییده نداره ردش کردی
خیلی کار منطقیه
خیلی هم سادست
این همون Critical Thinking که از برنامه نویسی مونده، حتی به AGI هم نرسیم این مدلا این بهتر و بهتر میشن و اینم ازمون میگیرن
بعد کاری که نیاز داشت ۵ تا برنامه نویس بالاسرش باشه رو، ۲ تا برنامه نویس انجام میدن
۳ تا برنامه نویس بیکار از یک شرکت (حالا اگر ۱۰۰۰ تا شرکت/ پروژه) اینکارو بکنن
بازار اشباه میشه
اشتباهت دقیقا همینجاست.
فرقی نداره اون ai چقدر خوب باشه.
اگر بگیم هوش مصنوعی راندمان یه برنامه نویس رو 5x میکنه. شرکتی که ۵ تا برنامه نویس داشته، اگر هرکدوم هوش مصنوعی بگیرن دستشون راندمانشون میشه 25x.
ولی اگر بشن ۲ تا برنامه نویس، راندمان میشه 10x.
حالا اگر ۲ تا شرکت داشته باشیم، یکیش اون ۳ نفر رو اخراج کنه، و اون یکی ۵ نفر رو نگه داره، به نظرت توی رقابت کدومشون جلو میزنه؟
شرکتی که توانایی تامین مالی و مدیریت ۵ نفر رو داشته، نمیاد راندمانش رو پایین بیاره.
مگر اینکه نیرو هاش ضعیف باشن که در این صورت به هر حال اخراج میشدن، فقط بحث زمانه.
من دقیقا اینو برعکسشو دیدم
همینطوری Layoff و کوچیک تر شدن تیم ها رو دارم میبینم
شرکت هایی که تیم ۱۲ نفره رو با AI و ۳ نفر برنامه نویس replace کردن دیدم
قبل از اینکه AI بیاد شما کد میزدید پروژه باگ نداشت؟ یعنی ممکن نبود فیچر رو که توسعه میدید یه چیزی از دستتون در بره - بعد بره بالا باگ ایجاد بشه؟
احتمالا جوابش اره هستش، همیشه اشتباهات وجود داره
پس چیکار کردید، تست نوشتید، لینتر گذاشتید، تایپ اضافه کردید سعی کردید این خطارو کمتر و کمتر کنید
بازم با همه اینا اپ شما خطا داشت، AI هم همینه
ولی سرعتش بیشتره
شما کد میزنی میری جلو خطا میده، تو قسمت تست کردن خطارو پیدا میکنی
کیفیت کد پایینه؟ اهمیتی نداره به AI میدی درستش کنه
از کجا میفهمی کیفیتش پایینه؟ به یه AI دیگه با پرامپت مناسب میدی تست بکنه
باگ وجود داشت. ولی در هفته شاید یه باگ مهم جدید بوجود میومد.
اما سرعت توسعه که زیاد بشه، تولید باگ هم سریعتر میشه. و اهمیتشون مهمتر.
اگر باگ در این حد باشه که اعشار رقم ۴ام سنسور درست نشون داده نشه، اوکیه.
ولی اگر باگ در این حد باشه که نصف شب آژیر هشدار زده بشه، این خیلی مهمه و باید حواسمون باشه که هیچوقت همچین مشکلی پیش نمیاد.
و مسئله ای که هست اینه که اون ai نمیدونه چی برای مشتری مهم تره، چی باگ مهم محسوب میشه و چی نه، چی تو اولویته، هدف بلندمدت ما چیه و کدی که میزنه باید با چی دیدی بزنه، پیشبینی آینده رو نمیتونه بکنه.
شاید بشه ایجنت تعریف کرد و این هارو بهش داد. ولی خود ساخت ایجنت، تعریف role، آزمون و خطای زیادی میطلبه و کلی زمان و هزینه میخواد. و حتی همین ها هم نیاز maintain و maintainer دارن. کار راحتی نیست.
قبول داری، تست کردنش راحت تره؟
میدی AI تمام سناریو هارو درمیاره تست میکنی
اینم نشد،یه تستر میزاری، فول رگرشن تست بزنه از صفر تا صد پروژه (قبل از هر ریلیز پروژه)