نرمافزار دنیا را بلعید. حالا هوش مصنوعی، فایل به فایل، در حال بلعیدن نرمافزار است. اگر از راه کدنویسی امرار معاش میکنید، احتمالاً لرزش زمین را زیر کیبورد خود حس کردهاید. یک توسعهدهنده، این لرزش را در عرض یک سال، دو بار حس کرد. ابتدا، ماشین بخش «نوشتن» را از او گرفت. سپس بخش «بررسی» را. او هنوز شغل دارد، اما فقط به این دلیل که نقش خود را چنان تغییر داده که دیگر قابل شناسایی نیست.
این یک پیشبینی آخرالزمانی نیست؛ بلکه گزارشی میدانی از میانه این دوران گذار است.
اولین تحول: از تایپ کردن تا بازبینی
زمانی بود که توصیف حرفهاش ساده بود: فکر کن، تایپ کن، تست کن، عرضه کن. او هر تابع را با دست مینوشت. متغیرها را نامگذاری میکرد، حلقههای تو در تو میساخت و با تلاش و خطا، موارد مرزی (edge cases) را پیدا میکرد. خواندن کد، یک وظیفه جداگانه نبود؛ بلکه همان فرآیند خلق کردن بود که با دقت و سرعت کمتر، بازبینی میشد. کنترل کیفیت و تولید، در یک حرکت واحد انجام میشد.
سپس، قابلیت تکمیل خودکار (autocomplete) دیگر فقط یک ویژگی جذاب و ساده نبود.
دستیاران کدنویسی مبتنی بر هوش مصنوعی دیگر فقط کلمات کلیدی بعدی را پیشنهاد نمیدادند؛ آنها شروع کردند به بیرون ریختن کلاسهای کامل، مهاجرتهای پایگاه داده (database migrations) و بستههای API (API wrappers). دستان توسعهدهنده از کلیدهای جهتنما به پنل بازبینی منتقل شد. او لذت و عملِ نوشتن را از دست داد، اما به خودش گفت که هنوز در امان است. او هنوز هر خط را میخواند. هنوز ساختار منطق را دنبال میکرد. او ویرایشگر بود، نگهبان بود، همان «انسان در چرخه» (human in the loop) بود.
این تغییر قابل مدیریت به نظر میرسد، زیرا توهمِ کنترل همچنان پابرجا است. شما هنوز با کد در تماس هستید. هنوز به دنبال خطاهای محاسباتی (off-by-one errors) میگردید. اما نقش شما از قبل تغییر کرده است. شما دیگر نویسنده نیستید؛ شما خط مقدم دفاع در برابر توهمات (hallucinations) ماشین هستید.
دومین تحول: از خواندن تا اعتماد کردن
تغییر دوم ضربه سختتری زد.
عوامل هوش مصنوعی (AI agents) آنقدر سریع رشد کردند که میتوانستند ساعتها بدون نیاز به «اکسیژن انسانی» کار کنند. آنها میتوانستند در حالی که او برای خوردن قهوه از پشت میز بلند میشد، ساختارهای اولیه (scaffolding) را ایجاد کنند، ماژولهای قدیمی را بازسازی (refactor) کنند و وابستگیها را وصله کنند. مسئله دیگر نرخ خروجی (throughput) نبود؛ بلکه سرعت خواندن خود او بود.
برای اینکه پروژه پیش برود، او مجبور شد از خواندن تکتک خطوط دست بکشد. چاره دیگری نداشت. کارخانه میتوانست سریعتر از توان تایید او تولید کند. «اعتماد» دیگر یک فضیلت نبود، بلکه یک ضرورت شد. او از یک بازبین به یک مدیر عملیات تبدیل شد؛ کسی که بر سیستمی نظارت میکند که در هر دوره توسعه (sprint)، بیش از آنچه او در یک سال مینوشت، کد تولید میکند.
او این احساس را صادقانه توصیف کرد: او دیگر یک کدنویس نبود؛ او در حال مدیریت یک کارخانه ماشینی بود که تسمهنقالههای آن سریعتر از حرکت چشمان او حرکت میکردند.
گلوگاه به سمت بالا منتقل میشود
این همان بخشی است که به راحتی نادیده گرفته میشود: گلوگاه ناپدید نشد، بلکه جابهجا شد.
وقتی انسانها کد مینوشتند، تأخیر بین مغز و محیط توسعه (IDE) بود. توسعهدهنده کندترین بخش فرآیند بود و این قابل قبول بود. زمانی که هوش مصنوعی نویسندگی را بر عهده گرفت، نقطه خفگی (choke point) به «بازبینی انسانی» تبدیل شد. سپس، وقتی عوامل هوش مصنوعی توانستند در حلقههای چند ساعته فعالیت کنند، نقطه خفگی به «تصمیمگیری انسانی» تبدیل شد. عوامل باید روی چه چیزی کار کنند؟ چه چیزی برای خودکارسازی ایمن است؟ چه چیزی نیاز به نگاه دوم دارد؟
کارخانه سریعتر از آن چیزی تولید میکند که مدیر میتواند تایید کند. مشکل دیگر سرعت ماشین نیست؛ بلکه ظرفیت انسان برای جذب، قضاوت و هدایت است.
اگر این مهاجرتِ گلوگاه را نادیده بگیرید، خود به مانعی تبدیل خواهید شد که ابزار بعدی برای حذف کردن ساخته میشود.
سه بازسازی، یک مسیر شغلی
بقا در هر دو موج، مستلزم بازسازی نقش او در سه مرحله مجزا بود.
اول، او از نوشتن کد به خواندن کد تغییر مسیر داد. این یعنی یادگیریِ مطالعهی گذرا با نگاهی شکاکانه؛ جستجو برای باگهای ظریف در کدهای ساختاری (boilerplate) که توسط مدلی آموزشدیده بر روی مخازن متنباز و انجمنهای گفتگو تولید شده بود. این یعنی پرورش حسی برای تشخیص اینکه چه زمانی یک پیشنهاد، درست به نظر میرسد اما در واقعیت به شکلی ظریف اشتباه است؛ مهارتی که کاملاً با نوشتن از صفر متفاوت است.
سپس، او از خواندن کد به ساخت جریانهای کاری (workflows) تغییر مسیر داد. این همان جایی است که بسیاری از توسعهدهندگان در حال حاضر به آن فرود میآیند. شما در حال اصلاح توابع نیستید؛ بلکه در حال طراحی محیطی هستید که در آن توابع اصلاح میشوند. شما پرامپتها را مینویسید، دستورالعملهای سیستم را تدوین میکنید، نردههای حفاظتی (guardrails) را تعیین میکنید و دروازههای CI را پیکربندی میکنید. شما لولهکشیهایی را میسازید که عامل هوش مصنوعی را به کامپایلر، لینتر (linter) و مجموعه تستها متصل میکند. خروجی شما کمتر از جنس سینتکس و بیشتر از جنس ارکستراسیون (هماهنگسازی) است.
در نهایت، او از ساخت جریانهای کاری به تصمیمگیری درباره «چه چیزی ساخته شود» تغییر مسیر داد. این همان هوای رقیق در اوج است. شما معماری را پیش از تولید اولین فایل انتخاب میکنید. شما محدودیتها، رابطها (interfaces) و منطق تجاری را تعریف میکنید که هوش مصنوعی آن را پر خواهد کرد. شما به یک متفکر محصول تبدیل شدهاید که به طور اتفاقی با زبان سیستمها صحبت میکند.
اگر در مرحلهی اول میماند، بهطور کامل جایگزین میشد. تنها دلیلی که او هنوز حقوق میگیرد این است که به مرحلهی سوم صعود کرده است.
اما این صعود...
