چند سال پیش، بخش بزرگی از کار من این بود که چیزی را از صفر بسازم. امروز، بخشی از همان کار را میتوانم به یک مدل هوش مصنوعی بسپارم. اما این به معنی حذف شدن سازنده نیست؛ به معنی تغییر کردن تعریف «ساختن» است.
من سالار ایزدی هستم و بخش قابل توجهی از مسیر حرفهای من با ساختن محصول، نوشتن کد و آزمونوخطای مداوم گذشته است. برای همین وقتی درباره «مرگ برنامهنویسی» صحبت میشود، موضوع برای من فقط یک بحث تکنولوژی نیست. این سؤال مستقیماً به چیزی مربوط میشود که سالها برای ساختنش وقت گذاشتهام.
هر بار که یک مدل جدید AI معرفی میشود، دوباره همان سؤال تکرار میشود: آیا دیگر به برنامهنویس نیاز داریم؟ آیا چند سال دیگر نوشتن کد مثل تایپ کردن با ماشین تحریر خواهد شد؛ چیزی قدیمی که همه دربارهاش خاطره دارند اما کمتر کسی واقعاً از آن استفاده میکند؟
من فکر نمیکنم جواب این سؤال «بله» یا «نه» باشد. اتفاقی که در حال رخ دادن است، کمی عمیقتر است.
«هوش مصنوعی لزوماً برنامهنویس را حذف نمیکند؛ اما برنامهنویسیِ بدون تفکر را بسیار ارزانتر میکند.»
مسئله واقعاً از کجا شروع شد؟
اگر چند سال به عقب برگردیم، بخش زیادی از توسعه نرمافزار حول یک مهارت مشخص میچرخید: توانایی تبدیل یک مسئله به کد. باید زبان را میشناختی، API را پیدا میکردی، مستندات را میخواندی، خطا را پیدا میکردی و بالاخره چیزی میساختی که کار کند.
AI این زنجیره را کوتاه کرده است. امروز میتوانم یک ایده را با زبان طبیعی توضیح بدهم و در چند دقیقه بخش قابل توجهی از پیادهسازی را تحویل بگیرم. چیزی که قبلاً چند ساعت جستوجو، تایپ و آزمون میخواست، حالا ممکن است با چند پیام اتفاق بیفتد.
این تغییر واقعی است و نباید از آن فرار کرد. اما یک اشتباه رایج این است که «تولید کد» را با «ساخت محصول» یکی بدانیم.
چیزی که AI هنوز به جای تو تصمیم نمیگیرد
- اینکه اصلاً چه چیزی باید ساخته شود.
- اینکه کدام مسئله ارزش حل کردن دارد.
- اینکه بین دهها راهحل، کدامیک برای محصول تو مناسبتر است.
- اینکه چه چیزی را نباید بسازی.
- اینکه محصول در دنیای واقعی چه حسی باید داشته باشد.
من وقتی چیزی میسازم، فقط کد نمینویسم
تجربه ساخت محصول برای من همیشه بیشتر از نوشتن کد بوده است. وقتی روی یک پروژه کار میکنم، مدام بین چند سؤال جابهجا میشوم: این قابلیت واقعاً لازم است؟ کاربر چرا باید از آن استفاده کند؟ آیا این طراحی بیش از حد پیچیده شده؟ اگر فردا تعداد کاربران ده برابر شود چه اتفاقی میافتد؟ آیا این تصمیم امروز، فردا دستوپای محصول را میبندد؟
AI میتواند در بسیاری از این مراحل کنار من باشد. حتی گاهی میتواند از من سریعتر کد بنویسد یا راهحلهایی پیشنهاد کند که خودم به آنها فکر نکردهام. اما مالک تصمیم نهایی هنوز کسی است که مسئول نتیجه است.
این تفاوت برای من مهم است. چون وقتی یک محصول خراب میشود، نمیتوانی به کاربر بگویی «مدل زبانی این قسمت را اشتباه تولید کرد.» مسئولیت همچنان با سازنده است.
گذشته
ارزش زیادی در توانایی نوشتن و حفظ کردن کد وجود داشت.
آینده
ارزش بیشتری در توانایی فهمیدن، طراحی کردن و تصمیم گرفتن خواهد بود.
آیا تعداد برنامهنویسها کمتر میشود؟
احتمالاً برای بعضی از نقشها، بله. و به نظرم انکار این موضوع فقط باعث میشود دیرتر با واقعیت روبهرو شویم.
اگر شغل یک نفر صرفاً تبدیل کردن دستورهای مشخص به کدهای تکراری باشد، طبیعی است که AI فشار زیادی روی آن نقش ایجاد کند. وقتی یک ابزار میتواند در چند ثانیه چیزی را تولید کند که قبلاً برایش ساعتها زمان صرف میشد، بازار هم دیر یا زود واکنش نشان میدهد.
اما از طرف دیگر، کاهش هزینه ساخت نرمافزار میتواند باعث شود افراد و شرکتهای بیشتری وارد ساخت محصول شوند. همانطور که ابزارهای بهتر در دورههای مختلف تعداد سازندگان را کم نکردند، بلکه امکان ساختن را برای افراد بیشتری فراهم کردند.
شاید مسئله اصلی این نباشد که «چند برنامهنویس باقی میمانند؟» بلکه این باشد که «چه نوع برنامهنویسی باقی میماند؟»
«کد در حال ارزان شدن است؛ اما فهمیدن اینکه چه کدی باید نوشته شود، همچنان ارزشمند میماند.»
برنامهنویس آینده شاید کمتر کد بنویسد
این بخش برای من جذابترین قسمت ماجراست. من آیندهای را تصور میکنم که یک توسعهدهنده بخش بزرگی از روزش را صرف تایپ کردن کد نمیکند. به جای آن، معماری را مشخص میکند، رفتار سیستم را تعریف میکند، خروجی AI را بررسی میکند، تست مینویسد، تصمیمهای فنی میگیرد و مدام محصول را اصلاح میکند.
در چنین آیندهای، دانستن کدنویسی هنوز مهم است؛ اما نقش آن تغییر میکند. کسی که کد را نمیفهمد، نمیتواند بفهمد AI چه چیزی ساخته است. نمیتواند تشخیص دهد یک تصمیم معماری اشتباه است یا نه. نمیتواند بفهمد چرا یک سیستم در شرایط واقعی شکست میخورد.
برای همین من AI را جایگزین مهارت فنی نمیبینم. بیشتر شبیه یک اهرم میبینمش. اگر چیزی برای بلند کردن نداشته باشی، اهرم چندان کمکت نمیکند.
یک تغییر مهم
توسعهدهنده از «نویسنده کد» به «طراح سیستم و تجربه» نزدیکتر میشود.
هرچه تولید کد سادهتر شود، انتخاب، معماری، کیفیت، تجربه کاربر و درک مسئله اهمیت بیشتری پیدا میکنند.
یک خطر واقعی: توهم سرعت
یکی از چیزهایی که در استفاده روزمره از AI برایم مهم شده، تفاوت بین «سریع ساختن» و «سریع به نتیجه رسیدن» است.
AI میتواند در چند دقیقه هزاران خط کد تولید کند. اما اگر مسئله را اشتباه تعریف کرده باشی، فقط سریعتر به یک راهحل اشتباه میرسی.
حتی بدتر از آن، کد تولیدشده ممکن است در نگاه اول کاملاً حرفهای به نظر برسد. ساختار دارد، کامنت دارد، نامگذاری مناسبی دارد و حتی تست هم ممکن است داشته باشد. اما شاید اساساً برای مسئلهای ساخته شده باشد که نباید حل میشد.
اینجا تجربه وارد بازی میشود. تجربه فقط تعداد سالهایی نیست که کد نوشتهای؛ تجربه یعنی بارها تصمیم گرفتهای، اشتباه کردهای، چیزی را از نو ساختهای و فهمیدهای چرا نسخه قبلی جواب نداده است.
چیزی که AI ارزش آن را بیشتر میکند: ایده
سالها یکی از محدودیتهای ساخت محصول، هزینه پیادهسازی بود. یک ایده ممکن بود خوب باشد، اما برای آزمایش کردنش باید هفتهها یا ماهها زمان میگذاشتی.
امروز این فاصله کمتر شده است. میتوانی ایدهای را خیلی سریعتر تبدیل به نمونه اولیه کنی، امتحانش کنی، دور بیندازی و سراغ ایده بعدی بروی.
این اتفاق برای سازنده مستقل فوقالعاده است. چون دیگر لازم نیست برای هر ایده از ابتدا یک تیم بزرگ تشکیل بدهی. یک نفر با دانش فنی، دید محصول و ابزارهای AI میتواند کارهایی انجام دهد که قبلاً به چند تخصص مختلف نیاز داشت.
از نگاه من، این یکی از هیجانانگیزترین بخشهای انقلاب AI است: قدرت ساختن دارد به افراد بیشتری منتقل میشود.
برای یک سازنده مستقل، این یعنی چه؟
یعنی شاید دیگر بزرگترین مزیت رقابتی من این نباشد که از دیگری سریعتر کد میزنم. مزیت میتواند این باشد که مسئله بهتری پیدا میکنم، محصول بهتری طراحی میکنم و بهتر میفهمم چه چیزی ارزش ساختن دارد.
من از AI نمیترسم؛ از نساختن میترسم
شاید این شخصیترین بخش این نوشته باشد. وقتی مدت زیادی را صرف ساختن یک محصول میکنی، طبیعی است که با تغییرات بزرگ تکنولوژی احساس ناامنی کنی. مخصوصاً وقتی ابزاری میآید که بخشی از همان مهارتی را که سالها برایش وقت گذاشتهای، در چند ثانیه انجام میدهد.
اما بعد از مدتی به این نتیجه رسیدم که انتخاب واقعی من بین «برنامهنویسی سنتی» و «AI» نیست. انتخاب من بین «یاد گرفتن و سازگار شدن» یا «متوقف شدن» است.
من ترجیح میدهم ابزار جدید را وارد جریان ساخت خودم کنم. اگر AI میتواند کاری را بهتر انجام دهد، چرا نباید از آن استفاده کنم؟ هدف من حفظ کردن سختیهای قدیمی نیست؛ هدفم ساختن چیزهایی است که قبلاً ساختنشان برایم سخت یا حتی غیرممکن بود.
پس آیا برنامهنویسی میمیرد؟
اگر منظورتان از برنامهنویسی، ساعتها تایپ کردن کد برای پیادهسازی دستورهای تکراری باشد، احتمالاً بخشی از آن واقعاً در حال محو شدن است.
اما اگر برنامهنویسی را به معنای حل مسئله، طراحی سیستم، ساخت ابزار، خلق محصول و تبدیل یک ایده مبهم به چیزی واقعی بدانیم، من فکر میکنم تازه وارد یکی از جالبترین دورههای تاریخش شدهایم.
زبانها تغییر میکنند. فریمورکها میآیند و میروند. ابزارها هوشمندتر میشوند و شاید روزی حتی بخش بزرگی از کد را اصلاً خودمان ننویسیم.
اما میل انسان به ساختن از بین نمیرود.
شاید آینده متعلق به کسانی نباشد که بهترین کد را مینویسند؛ بلکه متعلق به کسانی باشد که بهترین چیزها را برای ساختن انتخاب میکنند.
جمعبندی؛ کد ابزار است، نه مقصد
انقلاب AI قرار نیست الزاماً پایان برنامهنویسی باشد. بیشتر شبیه پایان یک تعریف قدیمی از برنامهنویسی است.
توسعهدهندهای که فقط به تایپ کردن کد وابسته باشد، احتمالاً با تغییرات آینده تحت فشار قرار میگیرد. اما توسعهدهندهای که بتواند مسئله را بفهمد، محصول را تصور کند، معماری را طراحی کند، ابزارهای هوشمند را کنترل کند و مسئولیت نتیجه را بپذیرد، احتمالاً قدرتمندتر از گذشته خواهد شد.
برای من، برنامهنویسی هیچوقت فقط درباره کد نبود. کد وسیلهای بود برای اینکه چیزی را که در ذهنم وجود داشت، به دنیای واقعی بیاورم. اگر AI این وسیله را سریعتر و قدرتمندتر کند، من دلیلی برای ترسیدن از آن نمیبینم.
اتفاقاً سؤال جذابتر این است: حالا که ساختن آسانتر شده، ما قرار است چه چیزی بسازیم؟
شاید این همان جایی باشد که فصل بعدی مسیر من و بسیاری از توسعهدهندگان دیگر شروع میشود.
هنوز نظری ثبت نشده. اولین نفر باشید!