Gen AI memberikan peningkatan produktivitas bagi pengembang perangkat lunak - namun hal ini tidak berlaku untuk semua orang
AI generatif membawa manfaat produktivitas, namun para profesional TI harus mewaspadai adopsi alat-alat ini secara besar-besaran dalam inkarnasi mereka saat ini.
Bagi siapa pun yang membuat perangkat lunak, AI generatif (Gen AI) -- terutama alat seperti GitHub Copilot -- adalah sarana untuk membuat, menguji, mendokumentasikan, dan men-debug kode dengan cepat, yang menghasilkan manfaat produktivitas yang besar.
Peningkatan ini membebaskan waktu, sumber daya, dan kekuatan otak para pengembang perangkat lunak dan profesional operasi untuk meningkatkan dan mengisi peran konsultatif dan kepemimpinan dalam organisasi mereka.
Namun, meskipun manfaat produktivitasnya jelas, AI mungkin tidak memberikan manfaat bagi semua orang, dan pakar industri menyarankan untuk berhati-hati dalam menerapkan otomatisasi.
Pertama, beberapa konteks. Alat saran kode Gen AI dapat meningkatkan produktivitas pengembang perangkat lunak, menurut studi multi-pihak yang dilakukan oleh para peneliti di Microsoft, MIT, Universitas Princeton, dan Universitas Pennsylvania.
Penelitian ini menganalisis output dari 4.867 pengembang perangkat lunak di tiga perusahaan, semuanya memiliki akses ke Copilot, dan menemukan peningkatan produktivitas sebesar 26% dalam jumlah tugas yang diselesaikan setiap minggunya, serta peningkatan sebesar 14% dalam jumlah pembaruan kode, dan peningkatan 38% dalam jumlah pembaruan kode. % peningkatan berapa kali kode dikompilasi.
Para eksekutif dan profesional lain di industri ini sepakat bahwa Gen AI dapat menghasilkan peningkatan produktivitas yang besar bagi pengembang perangkat lunak.
“Gen AI dan alat kopilot berdampak signifikan terhadap kecepatan pengembangan,” Brett Smith, pengembang perangkat lunak terkemuka di SAS, mengatakan kepada ZDNET.
“AI dapat membantu menulis kode boilerplate, pengujian unit, dan dokumentasi, sehingga membebaskan pengembang untuk mempercepat penyelesaian solusi sebenarnya. AI generatif tidak diragukan lagi telah merevolusi permainan pengembangan perangkat lunak, berfungsi sebagai pasangan pemrogram bagi pengembang di seluruh dunia.”
Alat generatif dapat berguna untuk berbagai tugas pengembangan, seperti "memperkenalkan fitur-fitur baru ke basis kode yang ada atau memindahkan basis kode ke bahasa pemrograman baru," kata Flavio Villanustre, kepala petugas keamanan informasi global di LexisNexis Risk Solutions.
“Alat-alat AI ini juga membantu arkeologi perangkat lunak yang diperlukan untuk memahami basis kode yang tidak terdokumentasi dengan baik. Selain itu, AI dapat berfungsi sebagai sumber daya yang berguna ketika kasus uji harus dibuat -- terutama di lingkungan pengembangan perangkat lunak yang digerakkan oleh pengujian. , Alat AI dapat membantu mengidentifikasi perpustakaan dan kerangka kerja pihak ketiga yang dapat berguna dalam proyek tertentu."
Namun, tidak semuanya merupakan kabar baik -- dan para peneliti dalam studi Microsoft/MIT/Princeton/UPenn menyoroti satu peringatan utama: manfaat Gen AI berkurang di kalangan pengembang yang lebih berpengalaman.
“Pengembang yang kurang berpengalaman menunjukkan tingkat adopsi yang lebih tinggi dan peningkatan produktivitas yang lebih besar,” kata mereka. "Copilot secara signifikan meningkatkan penyelesaian tugas bagi karyawan yang lebih baru dan mereka yang berada di posisi yang lebih junior, namun tidak untuk pengembang dengan masa jabatan lebih lama dan di posisi yang lebih senior."
Alat berbasis AI “sangat berguna bagi pengembang yang kurang berpengalaman,” kata Edward White, kepala pertumbuhan di beehiiv, sebuah layanan buletin digital.
"Mereka menawarkan saran real-time untuk pemfaktoran ulang dan pengoptimalan, membimbing pengembang junior melalui praktik terbaik saat mereka membuat kode. Alat ini dapat mengidentifikasi inefisiensi atau pola berulang dan merekomendasikan perbaikan, menjadikan kode lebih bersih dan efisien. Umpan balik instan membantu pengembang mempelajari cara melakukannya tulis kode yang dapat dipelihara, ikuti konvensi penamaan yang tepat, dan gunakan struktur yang lebih baik."
Namun, meskipun fokusnya adalah pada pengembang yang kurang berpengalaman, Smith mengatakan para profesional yang sudah lama bekerja juga dapat melihat manfaat dari Gen AI. “Menurut pengalaman saya, pengembang veteran mendapat banyak manfaat dari bantuan AI,” katanya.
“AI sangat efisien dalam menulis kode boilerplate, dan ini membebaskan pengembang untuk melakukan hal-hal rumit yang dibuat khusus yang tidak dapat dilakukan dengan baik oleh AI. Secara umum, pengembang dengan pengalaman yang lebih sedikit kesulitan memecahkan masalah yang kompleks, dan AI biasanya tidak dapat membantu mereka dalam menulis kode boilerplate. aspek itu."
Bukti dari pakar industri menunjukkan bahwa keseimbangan harus dicapai. Baik Gen AI diterapkan oleh pengembang berpengalaman atau belum berpengalaman, para profesional dan eksekutif TI harus mewaspadai adopsi alat-alat ini secara besar-besaran dalam inkarnasi mereka saat ini.
“Meskipun asisten biasanya mampu menulis fungsi umum tertentu, berinteraksi secara wajar dengan perpustakaan yang ada, menulis kasus uji, dan menjelaskan kode yang ada, asisten tersebut membuat kesalahan tertentu yang dapat dihindari oleh programmer yang mahir,” kata Villanustre.
“Alat berbasis AI ini juga memiliki tantangan ketika menangani algoritma yang lebih kompleks dan dapat menulis kode yang tidak aman atau tidak aman. Menurut saya, alat AI saat ini sudah sepadan dengan programmer tingkat pemula, dan masih memerlukan pemantauan oleh profesional perangkat lunak yang lebih berpengalaman. "
Smith juga mengatakan peningkatan kecepatan dari alat Gen AI adalah pedang bermata dua. “Pengembang menulis kode buruk; AI membantu mereka menulis kode buruk lebih cepat,” katanya.
“Peningkatan jumlah kode yang dihasilkan sebuah tim dapat menimbulkan lebih banyak bug dan kerentanan dari biasanya. Gelombang kode baru ini dapat dengan cepat membuat tim pengujian dan keamanan kewalahan. Tim perlu mengotomatiskan pos pemeriksaan, pengujian, dan pemindaian keamanan untuk mengimbangi kecepatan dalam pertempuran. aspek jahat dari AI generatif semakin maju."
Kualitas kode yang dihasilkan juga menjadi masalah. “AI hanya akan bagus jika pelatihannya,” kata David Brault, pakar di Mendix. Data pelatihan mungkin mencakup "kombinasi kode yang ditulis dengan baik dan di bawah standar". Perpaduan ini mungkin menghasilkan kode dengan kualitas dan konsistensi yang berbeda-beda dan bahkan dapat menimbulkan utang teknis.
Tantangan lain terkait kode yang dihasilkan AI adalah risiko ketidakcocokan dengan sistem yang ada, terutama arsitektur yang kompleks atau lama.
“Meskipun alat AI dapat menghasilkan kode yang efisien untuk tugas tertentu, alat tersebut mungkin tidak selalu mempertimbangkan ketergantungan, kerangka kerja, atau struktur unik dari sistem lama,” White memperingatkan.
“Ketidakcocokan ini dapat menyebabkan masalah seperti perilaku yang tidak terduga atau bahkan menyebabkan gangguan jika kode yang dihasilkan AI diterapkan tanpa pengujian menyeluruh.”
Para profesional TI juga harus mewaspadai masalah hukum yang mungkin muncul di kemudian hari. “Penggunaan kode yang dihasilkan AI memerlukan kehati-hatian terkait duplikasi, kekayaan intelektual, dan potensi masalah perizinan,” kata Mira Nathalea, kepala pemasaran SoftwareHow, penyedia tinjauan perangkat lunak.
"Pengembang dan perusahaan harus mewaspadai risiko yang terkait dengan saran kode yang tidak terverifikasi. Ada risiko tanpa disadari memasukkan kode yang mungkin tidak selaras dengan persyaratan perizinan proyek, yang mungkin mengakibatkan konflik kekayaan intelektual. Pengembang harus meninjau saran yang dihasilkan AI dengan hati-hati untuk mempertahankannya." kualitas kode dan kepatuhan hukum."
Para profesional dan eksekutif perangkat lunak juga harus secara hati-hati mengelola masalah etika yang dapat timbul dari pembuatan kode berbasis AI.
“Mengabaikan pertimbangan etis dapat menyebabkan masalah yang tidak diinginkan, seperti risiko privasi, penyalahgunaan data, atau bias dalam algoritme,” kata Joel Popoff, CEO Axwell Wallet, pembuat barang bawaan sehari-hari yang ramah teknologi.
“Jika kode yang dihasilkan AI tidak dievaluasi secara cermat, kode tersebut mungkin tidak sepenuhnya mematuhi peraturan atau standar etika, terutama di bidang seperti privasi pengguna dan perlakuan yang adil.”
Popoff mengatakan penting untuk menerapkan prosedur tinjauan etika yang disesuaikan dengan kode yang dihasilkan AI untuk memitigasi risiko tersebut. “Hal ini termasuk mengaudit keluaran AI secara berkala, memastikan bahwa data ditangani secara bertanggung jawab, dan secara aktif memeriksa bias dalam keputusan otomatis,” katanya.
“Menetapkan transparansi tentang bagaimana AI memproses dan menggunakan data membantu menjaga kepercayaan dan menjaga proses pengembangan selaras dengan prinsip-prinsip etika.”
Oleh karena itu, ada sejumlah persoalan dan kekhawatiran yang harus dipertimbangkan. Namun, jika digunakan secara bertanggung jawab, AI mungkin akan merevolusi profesi pembangunan.
“Salah satu keuntungan terbesar menggunakan AI dalam pengembangan adalah kemampuan untuk mengotomatiskan tugas-tugas yang membosankan dan berulang-ulang yang tidak disukai pengembang karena membuang-buang waktu dan hanya menambahkan sedikit nilai bisnis pada solusinya,” kata Brault.
“Sebaliknya, dengan mengotomatiskan rutinitas tingkat rendah ini dengan AI, pengembang dapat menghabiskan lebih banyak waktu untuk menemukan cara kreatif untuk memecahkan masalah bisnis kompleks yang berdampak pada perusahaan mereka. Bahkan, pengembang akan menjadi lebih berharga karena keahlian mereka akan diperlukan untuk memvalidasi dan mengamankan kode yang dihasilkan AI serta membangun komponen, templat, dan kerangka kerja yang dapat digunakan kembali untuk menetapkan standar tata kelola guna mengintegrasikan AI dengan sistem yang ada.”
