امروزه، با پیشرفتهای چشمگیر در حوزه هوش مصنوعی (Artificial Intelligence یا به اختصار AI)، سوالات زیادی در ذهن علاقهمندان به حوزه فناوری و به خصوص برنامهنویسی شکل گرفته است. آیا هنوز ارزش دارد که برنامهنویسی یاد بگیریم؟ آیا هوش مصنوعی میتواند جایگزین برنامهنویسان شود؟ آیا شغلی که زمانی به عنوان یک فرصت طلایی با درآمد بالا شناخته میشد، در آیندهای نزدیک از بین خواهد رفت؟ اینها دقیقاً همان سوالاتی هستند که در این مقاله، با نگاهی دقیق به صحبتهای مطرح شده در ویدیوی یوتیوب "یادگیری برنامه نویسی هنوز ارزش داره؟ چرا نباید بیخیال برنامه نویسی و مهندسی نرم افزار بشید" از کانال Hamid Tadayon، به بررسی آنها خواهیم پرداخت.

همانطور که در ابتدای ویدیو اشاره شد، هدف ما در این مقاله این نیست که با ایجاد ترس و وحشت، به این سوالات پاسخ دهیم. بلکه، قصد داریم با یک رویکرد منطقی و با استناد به آمار و ارقام موجود در ویدیو، به یک تحلیل جامع برسیم و ببینیم که واقعاً چه آیندهای در انتظار برنامهنویسی و توسعه نرمافزار است و آیا شروع کردن یا ادامه دادن در این مسیر، همچنان یک تصمیم عاقلانه به شمار میرود یا خیر.
ترسِ بهجا، اما نه به آن شدت!
بدون شک، ظهور سرویسهای مبتنی بر هوش مصنوعی مولد (Generative AI) که قادر به تولید محتواهای متنوعی از جمله متن، عکس و حتی کد هستند، موجی از نگرانی را در میان برنامهنویسان ایجاد کرده است. این ابزارها، با قابلیت تولید کد با کیفیت به ظاهر خوب، این تصور را به وجود آوردهاند که دیگر نیازی به برنامهنویسان نخواهد بود. همین مسئله باعث شده تا سوالات متعددی در مورد ارزش یادگیری برنامهنویسی مطرح شود.
این ترس، همانطور که در ویدیو نیز اشاره شد، منطقی و قابل درک است. اما، برای رسیدن به یک دیدگاه واقعبینانه، لازم است که فراتر از این نگرانیهای اولیه نگاه کنیم و به بررسی دقیقتر آمار و روندهای موجود بپردازیم.
نگاهی به آمار: تقاضا برای توسعهدهندگان نرمافزار همچنان رو به افزایش است!
نکته بسیار مهمی که در ویدیو به آن استناد شده، بررسیهای اداره آمار ایالات متحده (BLS) است. بر اساس این بررسیها، پیشبینی میشود که تقاضا برای شغل توسعه نرمافزار (software development) تا سال ۲۰۳۲، ۲۶ درصد افزایش خواهد داشت. این در حالی است که رشد تقاضا برای سایر مشاغل، تنها حدود ۳ درصد پیشبینی شده است. این آمار به روشنی نشان میدهد که نه تنها قرار نیست تقاضا برای برنامهنویسان کاهش پیدا کند، بلکه با یک رشد چشمگیر نیز مواجه خواهیم بود.
اما چرا باید تقاضا برای شغلی که به نظر میرسد هوش مصنوعی میتواند بخش قابل توجهی از وظایف آن را انجام دهد، افزایش پیدا کند؟ پاسخ این سوال در درک صحیح تواناییها و محدودیتهای فعلی هوش مصنوعی نهفته است.
هوش مصنوعی یک ابزار قدرتمند است، نه یک جایگزین کامل
همانطور که در ویدیو توضیح داده شده، هوش مصنوعی در حال حاضر قادر به تولید کد است، اما نمیتواند یک اپلیکیشن کامل را به تنهایی بسازد. برای ساخت یک نرمافزار کاربردی و کارآمد، همچنان به یک متخصص نیاز است که بتواند فرایند برنامهنویسی را هدایت کند، نیازمندیها را تحلیل نماید و از این ابزارهای هوش مصنوعی به درستی استفاده کند. به عبارت دیگر، برنامهنویسان باید به این ابزارها بگویند که چه کاری انجام دهند.
علاوه بر این، کدی که توسط ابزارهای هوش مصنوعی تولید میشود، همیشه بهینه و بینقص نیست. بر اساس آمارهای شرکت مکنزی، هوش مصنوعی تنها در وظایف سخت میتواند حدود ۱۰ درصد عملکرد را بهبود ببخشد. همچنین، تجربه استفاده از ابزارهایی مانند GitHub Copilot نشان داده است که کدهای تولید شده توسط هوش مصنوعی، پس از مدتی نیاز به بهینهسازی توسط برنامهنویسان انسانی دارند.
تکامل زبانهای برنامهنویسی و ظهور "پرامپتنویسی"
نگاهی به تاریخچه زبانهای برنامهنویسی نشان میدهد که این حوزه همواره در حال تحول بوده است. تقریباً هر ۱۰ سال یک بار، نسل جدیدی از زبانها ظهور کرده و برنامهنویسی را سادهتر کرده است. این سادهتر شدن، به نوبه خود، باعث جذب افراد بیشتری به این حوزه شده است.
به نظر میرسد که ظهور هوش مصنوعی، فصل جدیدی در این تکامل است. برنامهنویسی قرار است تغییر کند و سادهتر شود، چرا که ما میتوانیم با صحبت کردن با هوش مصنوعی، از آن بخواهیم که برایمان کد تولید کند. در واقع، نسل جدید برنامهنویسی، به نوعی "پرامپتنویسی" (prompt engineering) تبدیل خواهد شد. در این دوره، توانایی تولید درخواستهای (prompt) مؤثر و دقیق برای دریافت کد مورد نظر از هوش مصنوعی، اهمیت بسیار زیادی پیدا میکند.
تمایز بین "کدنویس" و "برنامهنویس": چرا مفاهیم اساسی همچنان حیاتی هستند؟
نکته بسیار مهمی که در ویدیو بر آن تاکید شده، تفاوت بین یک "کدنویس" (coder) و یک "برنامهنویس" (programmer) است. یک کدنویس، کسی است که صرفاً دستورات را مینویسد، بدون درک عمیقی از ساختار و معماری نرمافزار. اما یک برنامهنویس واقعی، کسی است که ساختار یک اپلیکیشن را تعریف میکند و درک کاملی از مفاهیم مهندسی نرمافزار دارد.
در عصر هوش مصنوعی، دیگر نیازی به کدنویسان مبتدی که فقط قادر به تایپ چند خط کد هستند، وجود نخواهد داشت. چرا که هوش مصنوعی میتواند این کار را به مراتب سریعتر و در بسیاری از موارد، دقیقتر انجام دهد. اما، نیاز به برنامهنویسانی که مفاهیم اساسی برنامهنویسی را درک میکنند و میتوانند از ابزارهای هوش مصنوعی به طور مؤثر استفاده کنند، نه تنها از بین نرفته، بلکه بیشتر هم خواهد شد. شرکتها دیگر به دنبال استخدام برنامهنویسانی هستند که بتوانند در کنار کدنویسی، از هوش مصنوعی نیز بهره ببرند.
تغییر نقش برنامهنویس: فراتر از نوشتن کد
نقش برنامهنویس در آینده، دیگر محدود به نشستن در یک گوشه و صرفاً کد نوشتن نخواهد بود. حتی امروزه نیز، یک برنامهنویس خوب، بخش زیادی از زمان خود را صرف بحث و تبادل نظر در جلسات، تعریف وظایف، و طراحی ساختار نرمافزار میکند.
با ظهور هوش مصنوعی، این جنبههای غیرکدنویسی شغل برنامهنویسی، اهمیت بیشتری پیدا خواهند کرد. یک برنامهنویس موفق در آینده، باید علاوه بر تسلط بر مفاهیم فنی، یک "بیزینسمن" (businessman)، یک "مدیر محصول" (product manager) و کسی باشد که بتواند با مشتریان ارتباط برقرار کند و نیازمندیهای آنها را به درستی درک کرده و سپس با کمک هوش مصنوعی، کد مورد نیاز را تولید کند.
توصیههایی برای تازهواردان و برنامهنویسان فعلی
اگر به تازگی قصد ورود به دنیای برنامهنویسی را دارید، یا اگر یک برنامهنویس هستید و نگران آینده شغلی خود هستید، نکات زیر را در نظر بگیرید:
اگر هوش مصنوعی همه کارها را انجام دهد...
در پایان ویدیو، یک نکته مهم و قابل تأمل مطرح میشود. اگر روزی برسد که هوش مصنوعی بتواند تمام کارهای یک برنامهنویس را انجام دهد و او را حذف کند، به طور قطع، قادر خواهد بود تمام کارهای یک ادیتور، یک طراح و بسیاری از مشاغل دیگر را نیز انجام دهد. در چنین سناریویی، اساساً شغل به معنای امروزی وجود نخواهد داشت. بنابراین، تمرکز صرف بر ترس از جایگزینی برنامهنویسان توسط هوش مصنوعی، بدون در نظر گرفتن تاثیر آن بر سایر مشاغل، یک دیدگاه ناقص است.
نتیجهگیری: برنامهنویسی نمرده است، بلکه در حال پوستاندازی است!
به طور خلاصه، میتوان گفت که برنامهنویسی نه تنها از بین نخواهد رفت، بلکه شکل آن تغییر خواهد کرد. در عصر هوش مصنوعی، برنامهنویسانی که بتوانند خود را با این تحولات همگام کنند، مفاهیم اساسی را درک کنند و از ابزارهای هوش مصنوعی به عنوان یک یار کمکی قدرتمند بهره ببرند، نه تنها جایگاه خود را حفظ خواهند کرد، بلکه نقش پررنگتری در دنیای فناوری و کسبوکار ایفا خواهند نمود.
پس، اگر به یادگیری برنامهنویسی علاقهمند هستید، یا اگر یک برنامهنویس هستید، دلسرد نشوید. با تمرکز بر یادگیری عمیق مفاهیم، توسعه مهارتهای جدید و پذیرش تغییرات، میتوانید در این مسیر پرچالش و هیجانانگیز، به موفقیت دست پیدا کنید. به یاد داشته باشید که دنیا در حال تغییر است و شما نیز باید با آن تغییر کنید.