پرش به محتوا
این مقاله با استفاده از هوش مصنوعی از ژاپنی ترجمه شده است
به ژاپنی بخوانید
این مقاله در مالکیت عمومی (CC0) است. آزادانه از آن استفاده کنید. CC0 1.0 Universal

مهندسان همه‌جانبه در عصر نرم‌افزار سیال

به خوبی شناخته شده است که هوش مصنوعی مولد می‌تواند تصاویر فوتورئالیستی، تصاویرسازی‌ها و نقاشی‌ها را تنها با دریافت دستورالعمل‌ها تولید کند.

در همین حال، در دنیای کسب‌وکار، توجه به توانایی هوش مصنوعی مولد در تولید برنامه معطوف شده است.

هوش مصنوعی مکالمه‌محور توسط مدل‌های زبان بزرگ، یک فناوری بنیادی، پشتیبانی می‌شود و در مکالمه به زبان‌های مختلف و ترجمه بین آن‌ها بسیار ماهر است.

زبان‌های برنامه‌نویسی، که برای ایجاد برنامه‌ها استفاده می‌شوند، نیز نوعی زبان هستند. برنامه‌نویسان انسانی، به نوعی، الزامات نرم‌افزاری دریافت شده شفاهی را به زبان‌های برنامه‌نویسی ترجمه می‌کنند.

به همین دلیل، هوش مصنوعی مکالمه‌محور مولد که از مدل‌های زبان بزرگ استفاده می‌کند، در برنامه‌نویسی نیز بسیار تواناست.

علاوه بر این، برنامه‌نویسی یک کار فکری است که صحت نتایج آن اغلب می‌تواند به طور خودکار و فوری تأیید شود. این به دلیل آن است که یک برنامه ایجاد شده می‌تواند اجرا شود و به طور خودکار بررسی شود تا مشخص شود آیا خروجی مورد نظر را تولید می‌کند یا خیر.

در واقع، برنامه‌نویسان انسانی هنگام ایجاد یک برنامه، اغلب به طور همزمان برنامه‌های تستی را برای تأیید نتایج ایجاد می‌کنند و برنامه اصلی را در حالی که عملکرد مورد نظر آن را بررسی می‌کنند، توسعه می‌دهند.

هوش مصنوعی مولد نیز می‌تواند به همین روش برنامه‌نویسی را با آزمایش پیش ببرد. اگر یک انسان دستورالعمل‌های دقیقی ارائه دهد، این امکان وجود دارد که هوش مصنوعی به طور خودکار تکرار کرده و برنامه را تا زمانی که تمام تست‌ها را با موفقیت پشت سر بگذارد، تکمیل کند.

البته، به دلیل محدودیت‌های قابلیت‌های برنامه‌نویسی هوش مصنوعی مولد و ابهام دستورالعمل‌های انسانی، موارد زیادی وجود دارد که تست‌ها حتی پس از تکرارهای متعدد نمی‌توانند با موفقیت پشت سر گذاشته شوند. علاوه بر این، تست‌های ناکافی یا نادرست اغلب منجر به باگ‌ها یا مشکلات در برنامه تکمیل شده می‌شوند.

با این حال، با بهبود قابلیت‌های هوش مصنوعی مولد و اصلاح روش‌های دستوردهی توسط مهندسان انسانی، همراه با مکانیزم‌هایی برای افزایش دانش برنامه‌نویسی هوش مصنوعی مولد از طریق جستجوهای اینترنتی، دامنه تولید خودکار برنامه‌های مناسب روز به روز در حال گسترش است.

علاوه بر این، با تمرکز دنیای کسب‌وکار، شرکت‌های برتر درگیر در تحقیق و توسعه هوش مصنوعی مولد نیز به شدت در بهبود قابلیت‌های برنامه‌نویسی هوش مصنوعی مولد سرمایه‌گذاری می‌کنند.

در این وضعیت، انتظار می‌رود که گسترش دامنه و حجم وظایف برنامه‌نویسی خودکار که می‌توان به هوش مصنوعی مولد واگذار کرد، تسریع یابد.

موارد بسیاری از افرادی وجود دارد که هرگز قبل از این برنامه‌ای توسعه نداده بودند، اما یک محیط توسعه اولیه را با استفاده از اطلاعات اینترنت راه‌اندازی کرده، سپس برای برنامه‌نویسی به هوش مصنوعی مولد تکیه کرده و پروژه‌ها را به صورت تیمی دو نفره تکمیل کرده‌اند.

به عنوان یک برنامه‌نویس، خودم از هوش مصنوعی مولد برای برنامه‌نویسی استفاده می‌کنم. وقتی که قلق آن را یاد بگیرم، می‌توانم نرم‌افزار را بدون ویرایش برنامه به هیچ وجه، تنها با کپی و چسباندن کد در فایل‌ها طبق دستورالعمل‌های هوش مصنوعی مولد، تکمیل کنم.

مطمئناً، موارد بسیاری وجود دارد که در آن‌ها گیر می‌کنم. این‌ها عمدتاً به دلیل تفاوت‌های جزئی بین تنظیمات کامپیوتر یا ابزار توسعه برنامه‌نویسی من و تنظیمات رایج، یا به این دلیل که مؤلفه‌های نرم‌افزار رایگان جدیدتر از آن چیزی هستند که هوش مصنوعی مولد بر اساس آن‌ها آموزش دیده است، که باعث ایجاد شکاف دانشی می‌شود، یا به این دلیل که درخواست‌های من کمی غیرمعمول هستند.

در مواردی که چنین تفاوت‌های جزئی یا شرایط خاصی وجود ندارد و به هوش مصنوعی دستور داده می‌شود تا توابع نرم‌افزاری بسیار رایج را ایجاد کند، برنامه‌های مناسب در اکثر موقعیت‌ها تولید می‌شوند.

به سوی عصر نرم‌افزار سیال

به‌عنوان یک توسعه‌دهنده نرم‌افزار، می‌توانم نرم‌افزارهایی را که ایجاد می‌کنم منتشر کنم، و آن نرم‌افزارها، که توسط ما مهندسان منتشر می‌شوند، سپس توسط کاربران مختلف مورد استفاده قرار می‌گیرند.

آینده‌ای که در آن این توسعه نرم‌افزار توسط هر کسی با هوش مصنوعی مولد امکان‌پذیر می‌شود، ادامه بحث‌های قبلی است.

با این حال، این تنها تغییر در سمت توسعه نرم‌افزار نیست؛ تغییرات قابل توجهی در سمت کاربر نیز در راه است.

وظیفه دستور دادن شفاهی به هوش مصنوعی مولد برای افزودن یا اصلاح خودکار توابع در نرم‌افزار، نه تنها در مرحله توسعه پیش از انتشار نرم‌افزار، بلکه در حین استفاده از آن نیز قابل انجام است. علاوه بر این، این کار می‌تواند توسط خود کاربر نرم‌افزار انجام شود.

توسعه‌دهندگان نرم‌افزار می‌توانند دامنه‌ای را که قابل تغییر است و آنچه را که غیرقابل تغییر است، تعریف کنند، سپس نرم‌افزار را با قابلیت‌های سفارشی‌سازی مبتنی بر هوش مصنوعی مولد منتشر کنند.

این امر به کاربران امکان می‌دهد تا از هوش مصنوعی مولد بخواهند تا ناراحتی‌های جزئی یا ترجیحات طراحی صفحه را در نرم‌افزار تغییر دهد.

علاوه بر این، کاربران می‌توانند ویژگی‌های مفیدی را که در سایر برنامه‌ها یافت می‌شود اضافه کنند، چندین عملیات را در یک کلیک ترکیب کنند، یا صفحه‌هایی را که مکرراً به آن‌ها دسترسی پیدا می‌کنند، همه را در یک نمایشگر مشاهده کنند.

برای توسعه‌دهندگان نرم‌افزار، فعال کردن چنین سفارشی‌سازی توسط کاربر مزایای قابل توجهی دارد: زحمت پیاده‌سازی درخواست‌های ویژگی را از بین می‌برد، و می‌تواند با اجتناب از نظرات منفی و نارضایتی در مورد قابلیت استفاده، محبوبیت نرم‌افزار را افزایش دهد.

هنگامی که کاربران می‌توانند به این روش آزادانه صفحه‌ها و توابع را تغییر دهند، این مفهوم به طور قابل توجهی از آنچه که ما به‌طور سنتی «نرم‌افزار» می‌نامیم، فاصله می‌گیرد.

شایسته‌تر خواهد بود که آن را «نرم‌افزار سیال» بنامیم، که به معنای چیزی حتی سیال‌تر و سازگارتر از نرم‌افزار (که قبلاً انعطاف‌پذیرتر از سخت‌افزار است) و چیزی است که کاملاً با کاربر منطبق می‌شود.

زمانی، عملکردها تنها توسط سخت‌افزار محقق می‌شدند. سپس، نرم‌افزار قابل تعویض پدیدار شد که عملکردها را از طریق ترکیبی از سخت‌افزار و نرم‌افزار امکان‌پذیر ساخت.

از آنجا، می‌توان ظهور نرم‌افزار سیال را تصور کرد، به معنای بخش‌هایی که می‌توانند توسط هوش مصنوعی مولد اصلاح شوند. در نتیجه، عملکردها توسط سخت‌افزار + نرم‌افزار (ارائه شده توسط توسعه‌دهندگان) + نرم‌افزار سیال (تغییرات کاربر) محقق خواهند شد.

در این عصر نرم‌افزار سیال، ایده‌های کاربران برای تغییرات فوران خواهد کرد.

ممکن است یک ایده تغییر پیشگامانه که توسط یک کاربر ابداع شده است، در رسانه‌های اجتماعی مورد بحث قرار گیرد و منجر به تقلید و اصلاح برنامه‌های مختلف نرم‌افزار سیال توسط دیگران شود.

علاوه بر این، احتمالاً نرم‌افزار سیال که قادر به مدیریت برنامه‌های نرم‌افزاری مختلف به صورت یکپارچه است نیز پدیدار خواهد شد. این بدان معناست که کاربران می‌توانند تایم‌لاین‌های چندین پلتفرم رسانه اجتماعی مختلف را در یک برنامه مشاهده کنند، یا نتایج جستجو می‌توانند خروجی‌های پلتفرم‌های متعدد را یکپارچه کنند.

به این ترتیب، در دنیایی که نرم‌افزار سیال گسترده است، دستگاه‌های مختلفی، از جمله رایانه‌های شخصی و گوشی‌های هوشمند، عملکردهایی را ارائه خواهند داد که کاملاً با زندگی و فعالیت‌های فردی هر یک از ما منطبق است.

یک پدیده کنونی

برای مهندسان نرم‌افزار مانند من، درک این نکته حیاتی است که نرم‌افزار سیال یک مفهوم آینده‌نگرانه یا چیزی چند سال دور نیست.

این بدان دلیل است که حتی نرم‌افزار سیال بسیار ساده نیز هم‌اکنون قابل دستیابی است.

به عنوان مثال، فرض کنید من یک مهندس هستم که یک اپلیکیشن وب برای سایت تجارت الکترونیکی شرکت خود توسعه می‌دهم.

چنین اپلیکیشن وبی دارای پایگاه‌های داده، سیستم‌های مدیریت فروش و سیستم‌های ارسال محصول در سرورهایی است که به صورت داخلی یا از طریق یک سرویس ابری مدیریت می‌شوند. هنگامی که کاربر خریدی انجام می‌دهد، این سیستم‌ها به هم متصل می‌شوند تا جمع‌آوری پرداخت و ارسال محصول را مدیریت کنند.

سیستم‌ها و پایگاه‌های داده اصلی کسب‌وکار مانند این‌ها را نمی‌توان خودسرانه تغییر داد.

با این حال، طراحی صفحه وب یک سایت تجارت الکترونیکی که کاربر با آن مواجه می‌شود، می‌تواند بدون ایجاد مشکلات قابل توجه، برای مطابقت با نیازهای کاربران منفرد تغییر داده شود. البته، اگر تغییرات یک کاربر بر صفحه‌های کاربران دیگر تأثیر بگذارد، این یک مشکل خواهد بود، اما سفارشی‌سازی‌های خاص هر کاربر مشکلی ندارند.

به عنوان مثال، تغییرات مختلفی قابل تصور است: بزرگ کردن متن، تغییر پس‌زمینه به رنگ تیره، جابجایی دکمه‌های پرکاربرد برای سهولت استفاده با دست چپ، مرتب‌سازی موارد بر اساس قیمت در یک صفحه فهرست، یا نمایش جزئیات دو محصول در کنار هم.

از نظر فنی، این اصلاحات را می‌توان با تغییر فایل‌های پیکربندی و برنامه‌هایی مانند HTML، CSS و JavaScript که صفحه را در مرورگر نمایش می‌دهند، به دست آورد.

از منظر امنیتی، این فایل‌ها در ابتدا در مرورگر وب اجرا می‌شوند. بنابراین، بخش‌هایی که می‌توانند توسط یک مهندس آگاه به اپلیکیشن‌های وب تغییر داده شوند، فقط توابع و داده‌هایی را مدیریت می‌کنند که تغییر آن‌ها ایمن است.

بنابراین، در سمت سرور اپلیکیشن وب تجارت الکترونیکی، می‌توان مکانیزمی ایجاد کرد تا این فایل‌ها را برای هر کاربر وارد شده به صورت جداگانه ذخیره کند، یک صفحه برای گفتگو با هوش مصنوعی چت اضافه کند و سپس فایل‌های HTML، CSS و JavaScript آن کاربر را در سرور مطابق با درخواست‌های او تغییر دهد.

اگر این متن، همراه با اطلاعات پیکربندی و کد منبع موجود اپلیکیشن وب تجارت الکترونیکی، به یک هوش مصنوعی مولد ارائه شود، احتمالاً مراحل و برنامه‌های لازم برای افزودن چنین عملکردی را ارائه خواهد داد.

به این ترتیب، نرم‌افزار سیال از هم‌اکنون یک موضوع جاری است؛ تعجب‌آور نخواهد بود اگر همین حالا یک پدیده در حال وقوع باشد.

مهندسان همه‌جانبه

حتی با گسترش دامنه برنامه‌نویسی خودکار مبتنی بر هوش مصنوعی و ظهور عصر نرم‌افزار سیال، توسعه نرم‌افزار همچنان نمی‌تواند صرفاً توسط هوش مصنوعی مولد انجام شود.

با این حال، مسلم است که تأکید بر برنامه‌نویسی در توسعه نرم‌افزار به طور قابل توجهی کاهش خواهد یافت.

علاوه بر این، برای توسعه روان نرم‌افزار، طیف وسیعی از دانش و مهارت‌های مهندسی مورد نیاز است که از برنامه‌نویسی عمومی گرفته تا زیرساخت ابری، شبکه‌ها، امنیت، پلتفرم‌ها، چارچوب‌های توسعه و پایگاه‌های داده – همه ابعاد پشته سیستم را برای عملکرد کل سیستم در بر می‌گیرد.

پرسنل دارای چنین دانش و مهارت‌هایی مهندسان فول‌استک نامیده می‌شوند.

به‌طور سنتی، تعداد کمی از مهندسان فول‌استک طراحی کلی را بر عهده داشتند، در حالی که سایر مهندسان در برنامه‌نویسی تخصص پیدا می‌کردند، یا بر روی حوزه‌های خاص غیربرنامه‌نویسی در پشته سیستم تمرکز می‌کردند، و بدین ترتیب نقش‌ها را تقسیم می‌کردند.

با این حال، با بر عهده گرفتن جنبه برنامه‌نویسی توسط هوش مصنوعی مولد، هزینه‌های توسعه نرم‌افزار به طور قابل توجهی کاهش می‌یابد که منجر به برنامه‌ریزی پروژه‌های جدید توسعه نرم‌افزار متعدد می‌شود.

در نتیجه، در هر پروژه توسعه، مهندسانی که صرفاً می‌توانند برنامه بنویسند، تا حد زیادی غیرضروری خواهند بود؛ در عوض، تعداد زیادی از مهندسان فول‌استک مورد تقاضا خواهند بود.

علاوه بر این، در این سناریو، صرف داشتن دانش و مهارت‌های فول‌استک کافی نخواهد بود. این به این دلیل است که انواع نرم‌افزار مورد نیاز در پروژه‌های توسعه مختلف متنوع خواهد شد، به این معنی که توسعه همیشه با استفاده از یک پشته سیستم مشابه درخواست نخواهد شد. علاوه بر این، تقاضا برای سیستم‌های پیچیده نیازمند پشته‌های سیستم متعدد بدون شک افزایش خواهد یافت.

به عنوان مثال، پشته سیستم برای یک برنامه وب با پشته سیستم برای سیستم‌های تجاری یا هسته‌ای متفاوت است. بنابراین، یک مهندس فول‌استک برنامه وب نمی‌تواند مسئولیت یک پروژه توسعه سیستم هسته‌ای را بر عهده بگیرد.

به همین ترتیب، برنامه‌های وب، برنامه‌های گوشی هوشمند و برنامه‌های رایانه شخصی هر کدام پشته‌های سیستمی متفاوتی دارند. در دنیای نرم‌افزارهای جاسازی‌شده، مانند اینترنت اشیاء، پشته سیستم برای هر دستگاه جاسازی‌شده به طور کامل متفاوت خواهد بود.

با این حال، با کاهش تأکید بر برنامه‌نویسی و کاهش هزینه‌های کلی توسعه نرم‌افزار، توسعه سیستم‌های پیچیده که نرم‌افزار را با این پشته‌های سیستم متفاوت ترکیب می‌کنند، احتمالاً افزایش خواهد یافت.

در حالی که چنین توسعه‌ای مستلزم گردآوری چندین مهندس فول‌استک متمایز خواهد بود، مهندسانی که می‌توانند بر کل سیستم نظارت داشته باشند و طراحی اولیه را انجام دهند، نقش حیاتی ایفا خواهند کرد.

این به معنای تقاضا برای مهندسانی با دانش و مهارت‌های همه‌جانبه در پشته‌های سیستم متعدد، فراتر از مرزهای پشته‌های سیستم منفرد، خواهد بود.

چنین مهندسانی احتمالاً مهندسان همه‌جانبه نامیده خواهند شد.

و درست همان‌طور که تقاضا برای مهندسانی که فقط می‌توانند برنامه‌نویسی کنند به دلیل هوش مصنوعی مولد کاهش خواهد یافت، سرانجام عصری فرا خواهد رسید که تقاضا برای مهندسان فول‌استک محدود به یک پشته سیستم واحد نیز کاهش خواهد یافت.

اگر می‌خواهید در آن عصر به عنوان یک مهندس فناوری اطلاعات فعال بمانید، باید بلافاصله در مسیر تبدیل شدن به یک مهندس همه‌جانبه شروع به حرکت کنید.

نقش مهندسان همه‌جانبه

زبان‌های برنامه‌نویسی، پلتفرم‌ها و چارچوب‌هایی که توسعه خواهند یافت، متنوع هستند.

با این حال، یک مهندس همه‌جانبه نیازی به تسلط بر همه آن‌ها ندارد، زیرا او نیز می‌تواند از هوش مصنوعی مولد کمک بگیرد.

اگر کار را به هوش مصنوعی مولد بسپارید، حتی زبان‌های برنامه‌نویسی، پلتفرم‌ها یا چارچوب‌هایی که قبلاً هرگز از آن‌ها استفاده نکرده‌اید، تنها با ارائه دستورالعمل‌های شفاهی قابل تولید هستند.

البته، خطر معرفی باگ‌ها یا آسیب‌پذیری‌های امنیتی، یا انباشت بدهی فنی که می‌تواند اصلاحات آینده را دشوار کند، وجود دارد.

برای شناسایی و کاهش این خطرات، دانش زبان یا کتابخانه خاص ضروری است. با این حال، این دانش را نیز می‌توان از هوش مصنوعی مولد به دست آورد. یک مهندس همه‌جانبه تنها باید بتواند رویه‌های و مکانیسم‌های محکمی را برای شناسایی و جلوگیری از این مشکلات، یا برای رسیدگی به آن‌ها پس از وقوع، به طور مستحکم ایجاد کند.

این رویه‌ها و مکانیسم‌ها با پشته‌های سیستمی مختلف تغییر چشمگیری نمی‌کنند. اگر رویه‌ها و مکانیسم‌های جلوگیری از باگ‌ها و آسیب‌پذیری‌های امنیتی و تضمین توسعه‌پذیری آینده رسمی شوند، آنگاه بقیه کار را می‌توان به هوش مصنوعی مولد یا مهندسانی که در آن حوزه‌های خاص تخصص دارند، واگذار کرد.

مهندسان همه‌جانبه نیازی به داشتن دانش دقیق یا تجربه طولانی‌مدت در مورد هر پشته سیستمی جداگانه ندارند.

یکی از نقش‌های اصلی یک مهندس همه‌جانبه، طراحی نحوه توزیع توابع و نحوه همکاری چندین سیستم نرم‌افزاری پیچیده است که به صورت مشترک در پشته‌های سیستمی مختلف عمل می‌کنند.

علاوه بر این، در نظر گرفتن چگونگی توسعه و مدیریت کل نرم‌افزار نیز یک نقش حیاتی برای یک مهندس همه‌جانبه است.

نرم‌افزار همه‌جانبه

بیایید در نظر بگیریم که یک مهندس همه‌جانبه برای چه نوع توسعه نرم‌افزاری مورد نیاز است.

پیش از این، مثال توسعه یک اپلیکیشن وب تجارت الکترونیک را مطرح کردم.

تحت هدایت یک مدیر اجرایی که توسط مدیریت ارشد مسئول بازسازی این اپلیکیشن وب تجارت الکترونیک شده است، تیم برنامه‌ریزی ممکن است الزامات زیر را ارائه دهد:

یکپارچه‌سازی پلتفرم جامعه کاربری: این به معنای ارائه پلتفرمی نیست که فقط برای یک اپلیکیشن یا سایت تجارت الکترونیک اختصاصی باشد، بلکه جایی است که کاربران می‌توانند در مورد خود محصولات و نحوه استفاده از آن‌ها تعامل داشته باشند. هدف، حفظ کاربران، اثر دهان به دهان، غنی‌سازی محتوا از طریق مشارکت کاربران، و ادغام بازخورد (هم مثبت و هم منفی) در توسعه محصول، برنامه‌ریزی محصول جدید و بازاریابی است.

سازگاری همه‌جانبه با دستگاه‌ها (Omni-device compatibility): این امکان دسترسی به جامعه کاربری و اطلاعات محصول را از دستگاه‌های مختلف فراهم می‌کند، از جمله نه تنها اپلیکیشن‌های وب، بلکه اپلیکیشن‌های گوشی هوشمند، دستیارهای صوتی، دستگاه‌های پوشیدنی و لوازم خانگی هوشمند.

سازگاری همه‌جانبه با پلتفرم‌ها (Omni-platform compatibility): این شامل نه تنها پلتفرم جامعه کاربری خود شرکت، بلکه، برای مثال، لیست محصولات و اشتراک‌گذاری نظرات در سایت‌های جامع تجارت الکترونیک، یکپارچه‌سازی با رسانه‌های اجتماعی، و ارتباط عملکردی و اطلاعاتی با ابزارهای مختلف هوش مصنوعی نیز می‌شود.

بازسازی سیستم‌های تجاری: این فرآیند، در حالی که به‌طور موقت با سیستم‌های مدیریت فروش و تحویل محصول موجود پیوند می‌خورد، شامل بازسازی این سیستم‌ها نیز می‌شود. پس از بازسازی، این طرح شامل جمع‌آوری داده‌های فروش در زمان واقعی و پیش‌بینی تقاضا، و یکپارچه‌سازی با سیستم‌های مدیریت موجودی است. علاوه بر این، پیوند با سیستم‌های موجودی توزیع‌شده منطقه‌ای که توسط شرکت‌های تحویل ارائه می‌شود و خدمات ارسال محصول از سمت شرکت حمل‌ونقل به‌صورت مرحله‌ای اجرا خواهد شد، که مستلزم آن است که سیستم اطلاعاتی نیز یکپارچگی‌های خود را به‌تدریج تطبیق دهد.

سازگاری با نرم‌افزار سیال: تمام رابط‌های کاربری سمت مشتری، البته، با نرم‌افزار سیال سازگار خواهند بود. علاوه بر این، رابط‌های کاربری داخلی برای توسعه و برنامه‌ریزی محصول (مانند تجمیع اطلاعات و بازخورد)، دپارتمان‌های عملیات سیستم، و گزارش‌ها برای مدیریت نیز همگی به نرم‌افزار سیال تبدیل خواهند شد.

اگر یک برنامه توسعه برای چنین نرم‌افزار پیچیده‌ای ارائه شود، یک تیم توسعه نرم‌افزار سنتی احتمالاً فوراً آن را نمی‌پذیرد. در عوض، از طریق بحث و گفتگو در مورد مشخصات سیستم، آن‌ها به طور منطقی نیاز به هزینه‌های توسعه و زمان بسیار زیاد را نشان خواهند داد و برای کاهش قابل توجه مشخصات فشار خواهند آورد.

اما، اگر هوش مصنوعی مولد می‌توانست بیشتر برنامه‌نویسی را خودکار کند، و بیش از نیمی از پشته‌های سیستمی پیشنهادی قبلاً توسط یکی از اعضای تیم تجربه شده بود چه؟ و اگر تیم سابقه موفقی در راه‌اندازی پشته‌های سیستمی، پلتفرم‌ها و چارچوب‌های جدید از ابتدا با کمک هوش مصنوعی مولد داشت چه؟ و اگر شما، به عنوان یک مهندس همه‌جانبه، قبلاً در این مسیر شروع به حرکت کرده‌اید و قصد دارید ادامه دهید چه؟

از این منظر، این باید یک پروژه بسیار جذاب به نظر برسد. شما با یک تیم برنامه‌ریزی کار خواهید کرد که پیشنهادهای جاه‌طلبانه از مدیریت ارشد ارائه می‌دهد، و یک تیم توسعه با پتانسیل رشد به یک تیم توسعه نرم‌افزار همه‌جانبه.

همچنین، اطمینان از وجود سیستم‌های موجود نیز وجود دارد. این همچنین پروژه‌ای است که می‌تواند به صورت افزایشی از طریق یک فرآیند توسعه چابک رشد کند، با شروع از ویژگی‌های با تأثیر بالا و با برد سریع و جمع‌آوری بازخورد از کاربران اولیه.

با در نظر گرفتن همه این‌ها، توسعه این نرم‌افزار همه‌جانبه باید یک پروژه بسیار جذاب به نظر برسد.

نتیجه‌گیری

با برنامه‌نویسی خودکار مبتنی بر هوش مصنوعی مولد، نرم‌افزار سیال و توسعه نرم‌افزارهای همه‌جانبه در حال حاضر به واقعیت‌های جاری تبدیل شده‌اند.

در این زمینه، مهندسان فناوری اطلاعات به طور فزاینده‌ای نیاز دارند که فراتر از فول‌استک رفته و هدفشان تبدیل شدن به مهندسان همه‌جانبه باشد.

فراتر از آن، دامنه کاری آن‌ها حتی گسترده‌تر خواهد شد و از حوزه سیستم‌های فناوری اطلاعات فراتر رفته و مهندسی کسب‌وکار همه‌جانبه (مهندسی خود فعالیت‌های سازمانی، با اتصال مشتریان، کارمندان داخلی و هوش مصنوعی) و مهندسی جامعه همه‌جانبه را نیز در بر خواهد گرفت.

و حتی فراتر از آن، من ظهور حوزه‌ای به نام مهندسی اجتماعی همه‌جانبه را پیش‌بینی می‌کنم که هدف آن بهبود جامع جامعه است.