AI tidak hanya memudahkan pembuatan kode. AI membuat pengodean lebih menyenangkan.

19 Februari 2025

Penyusun

Tim Mucci

Writer

Gather

AI meningkatkan pengalaman pengembang

AI generatif (gen AI) mengubah cara pembuatan film, cara pemasaran dilakukan, dan cara permainan dijalankan. Kendati banyak perhatian media terfokus pada apa yang dapat dilakukan oleh gen AI dalam hal transformasi digital, pembuatan konten, dan peningkatan produktivitas, hanya sedikit perhatian yang diberikan pada cara AI dapat membuat penulisan kode menjadi lebih memuaskan, bahkan menyenangkan.

AI generatif yang berfungsi sebagai asisten pengodean tidak hanya membantu teknisi perangkat lunak melakukan pekerjaan mereka lebih cepat; tetapi juga meningkatkan kepuasan dan keterlibatan pengembang. Para pengembang menggunakan gen AI untuk menulis kode boilerplate dan membantu menentukan pemformatan dasar, sehingga mereka memiliki lebih banyak waktu untuk berkonsentrasi pada aspek-aspek kreatif dalam pekerjaan, seperti memecahkan masalah, membuat logika baru, dan merancang sistem yang unik. Tugas-tugas kreatif tingkat tinggi ini sering kali merupakan tugas yang disukai oleh para pembuat kode.

Sebuah studi McKinsey menemukan bahwa para pengembang yang menggunakan alat bantu gen AI dua kali lebih mungkin melaporkan kebahagiaan, kepuasan, dan kemampuan untuk mencapai kondisi yang nyaman dalam bekerja.

Bayangkan seorang pengembang yang telah ditugaskan untuk membangun aplikasi web baru untuk platform e-commerce. Pengembang dapat merancang pengalaman pengguna dan mengimplementasikan fitur-fitur seperti mesin rekomendasi dan harga dinamis. Namun, bahkan sebelum mereka dapat memulai elemen desain yang menarik, pengembang memiliki segudang pekerjaan berat yang harus diselesaikan.

Mereka perlu menyiapkan backend, yang membutuhkan penulisan kode boilerplate yang sama dengan yang telah mereka tulis puluhan kali sebelumnya, menjalankan inisialisasi, mendefinisikan rute dasar, dan mengonfigurasi middleware. Tidak ada satu pun yang unik untuk proyek ini, tetapi setiap elemen diperlukan untuk aplikasi. Setelah pekerjaan dasar selesai, koneksi ke database perlu dibuat dan driver database perlu disiapkan bersama dengan skema untuk produk, pelanggan, dan pesanan, bersama dengan banyak tugas non-kode dan non-pengembangan lainnya.

Meskipun pengembang mungkin bersemangat untuk mendapatkan fitur-fitur inti yang akan membuat platform ini unik dan menyenangkan bagi pengguna, pekerjaan boilerplate menghabiskan sebagian besar waktu proyek. Meskipun penting untuk meletakkan fondasi yang kuat, produktivitas pengembang mungkin melambat karena pekerjaan rutin ini terasa seperti pekerjaan rumah dibandingkan dengan aspek pengodean yang lebih kreatif.

Desain 3D bola yang menggelinding di lintasan

Berita + Insight AI terbaru 


Temukan insight dan berita yang dikurasi oleh para pakar tentang AI, cloud, dan lainnya di Buletin Think mingguan. 

Tantangan yang melekat pada pengodean

Pengodean memakan waktu dan rawan terhadap kesalahan. Dibutuhkan waktu dan sumber daya yang signifikan untuk mendapatkan hasil berkualitas tinggi. Studi menunjukkan bahwa, dalam siklus pengembangan tradisional, pengembang menghabiskan rata-rata 1 jam sehari untuk pengodean yang sebenarnya, sementara aktivitas yang berulang-ulang dan tidak terdiferensiasi menghabiskan sebagian besar waktu mereka. Tugas-tugas ini sering kali melibatkan penanganan basis kode lama, mendokumentasikan proses, menulis tes, mengelola rilis, men-debug kesalahan, dan mengidentifikasi kerentanan keamanan. Sebagai contoh, hari biasa bagi seorang programmer mungkin dimulai dengan meninjau kode atau meninjau permintaan penarikan. Hal ini dapat diikuti dengan pemecahan masalah bug yang dilaporkan oleh tim jaminan kualitas dan kemudian menyusun rencana penerapan—semua sebelum mereka dapat menulis satu baris kode baru.

“AI generatif memungkinkan pengembang untuk mengotomatiskan tugas-tugas yang membosankan dan duniawi yang membutuhkan waktu untuk membangun perangkat lunak, jelas ilmuwan data IBM Anna Gutowska. Contohnya adalah sesuatu yang sederhana seperti bot yang menjalankan skrip di pagi hari dan menghasilkan “laporan pemeriksaan kesehatan” untuk perangkat lunak Anda. Artinya, ada lebih sedikit waktu yang dihabiskan untuk menjalankan skrip manual dan lebih banyak waktu untuk menggunakan keterampilan.

Pengembang juga menghadapi tantangan untuk senantiasa mengikuti perkembangan teknologi dan kerangka kerja yang berubah seperti React, Kubernetes, atau Flutter. Ini bukan prestasi kecil, karena lingkungan pengembangan perangkat lunak berkembang pesat. Untuk mengimbangi kemajuan ini, diperlukan investasi waktu yang signifikan dalam pembelajaran dan eksperimen yang berkelanjutan, sehingga menyisakan lebih sedikit waktu untuk aspek-aspek pengembangan yang kreatif dan bermanfaat. Kebutuhan konstan untuk menangani tanggung jawab ini, dikombinasikan dengan tekanan untuk menghasilkan kode yang kuat dan bebas dari kesalahan, dapat menjadikan pengodean profesi yang penuh tekanan dan membebani.

Alat AI generatif juga berperan dalam alur kerja DevOps dengan membantu otomatisasi penerapan, integrasi berkelanjutan, dan pemantauan. Di luar bantuan pengodean, AI generatif dapat memberikan analisis data dan membantu pemrogram menafsirkan kumpulan data yang kompleks untuk mengukur dampak keputusan arsitektur dan pengoptimalan sistem dengan lebih baik.

AI menyukai hal yang membosankan

AI mungkin tidak “menyukai” tugas-tugas yang membosankan, tetapi AI sangat baik dalam menemukan dan meniru pola yang rumit, menjadikannya solusi ideal untuk mengotomatiskan aspek-aspek pengodean yang berulang-ulang. Tugas-tugas seperti pembuatan kode boilerplate— bagian perancah yang membosankan namun penting—dapat dihasilkan dalam hitungan detik oleh alat AI generatif. AI juga dapat membantu integrasi antarmuka pemrograman aplikasi (API) dengan menghasilkan titik akhir secara otomatis, dengan menangani permintaan autentikasi dan penataan dan mengurangi upaya pengodean manual. Contoh lain, seperti yang dijelaskan dalam Wired, adalah alat AI yang disebut agen SWE. Alat bantu AI ini mengidentifikasi bug dalam repositori GitHub, menemukan file yang relevan, dan mengubah kode dengan benar, sehingga menghemat waktu debugging yang potensial bagi pengembang amatir.

Alat-alat ini bukan hanya sekadar asisten; beberapa di antaranya mirip dengan mentor tingkat ahli. Sistem AI generatif dapat memberikan penjelasan, contoh, dan panduan secara real-time, sehingga pengembang dapat menghabiskan lebih sedikit waktu untuk memecahkan masalah dan lebih banyak waktu untuk berinovasi. Pergeseran ini memungkinkan mereka untuk fokus pada penulisan kode yang berkualitas, seperti merancang solusi kreatif atau meningkatkan arsitektur sistem, sekaligus mengurangi beban kognitif yang terkait dengan pemecahan masalah yang berulang-ulang. Dengan secara otomatis mendeteksi dan menyempurnakan perubahan kode, AI membantu mencegah regresi dan memastikan bahwa implementasi baru selaras dengan praktik terbaik.

"IBM watsonx Code Assistant™ mampu mengidentifikasi beberapa potensi kerentanan, kebocoran memori, dan praktik pengodean yang buruk... dan memberikan rekomendasi untuk perbaikan." - Masukan klien tentang IBM watsonx Code Assistant

 

AI generatif juga mempercepat pembelajaran bagi pengembang. Ini membantu mereka dengan cepat memahami bahasa pemrograman baru, kerangka kerja, dan paradigma sekaligus menawarkan insight ke basis kode yang kompleks atau asing. Bagi pengembang junior, manfaatnya sangat nyata.

“Kami tidak memiliki harapan besar, tetapi kami terkejut dengan betapa bagusnya hal itu, " kata pengembang keseluruhan lapisan IBM, Asher Scott, merujuk pada watsonx Code Assistant. "Hal itu membantu saya membawa keterampilan saya ke tingkat berikutnya."

Para pengembang junior melaporkan peningkatan yang signifikan dalam produktivitas dan akuisisi keterampilan, yang membantu mereka mengembangkan keahlian dan kepercayaan diri mereka lebih cepat daripada metode tradisional. Dengan menghilangkan hambatan untuk masuk dan menyederhanakan proses pembelajaran, AI memberdayakan para pengembang di setiap level untuk mengatasi tantangan dengan lebih bersemangat.

Kepuasan kerja dan fleksibilitas

Menurut survei KPMG, separuh dari programmer yang disurvei percaya bahwa AI dan otomatisasi telah memberikan dampak positif pada karier mereka dengan meningkatkan produktivitas dan membuka peluang baru. Demikian pula, survei OpenAI ChatGPT mengungkapkan bahwa 50% pengembang disurvei melaporkan peningkatan produktivitas dengan menggunakan AI, dengan 23% mengalami peningkatan yang signifikan.

Survei GitHub memperlihatkan bahwa peningkatan produktivitas ini menawarkan efisiensi lebih besar pada alur kerja pembuat kode yang ada. Pengembang yang menggunakan alat pengodean AI melaporkan peningkatan kepuasan karena kemampuan mereka untuk mengotomatiskan tugas-tugas yang berulang atau membosankan untuk berfokus pada desain solusi daripada kode klise. Asisten kode membantu mengurangi ketegangan mental dan berpotensi mencegah kelelahan. Mereka membantu pengembang memenuhi standar kinerja dengan lebih mudah, menghasilkan kualitas kode yang lebih baik, output yang lebih cepat, dan lebih sedikit insiden.

Dampak AI generatif pada kepuasan kerja sebagian besar berasal dari kemampuannya untuk memberikan insight dan menyederhanakan alur kerja pengembangan yang membosankan. Sebagai contoh, alat pengembangan yang didukung AI, seperti watsonx Code Assistant (WCA), GitHub Copilot, dan SWE-agent, telah mendemonstrasikan kekuatan pembuatan, debugging, dan pengoptimalan kode secara real-time.Efisiensi semacam ini tidak hanya mengurangi rasa frustrasi tetapi juga membebaskan para pengembang, terutama pengembang junior, untuk fokus menyelesaikan masalah yang lebih kompleks dan bermanfaat. Dengan mengotomatiskan tugas rutin, alat yang didukung AI meningkatkan fungsionalitas, yang memungkinkan pengembang untuk berkonsentrasi pada inovasi alih-alih pengodean berulang.

Menurut GitHub, 57% pengembang yang disurvei mengatakan bahwa menggunakan alat pengodean AI membantu mereka mengembangkan keterampilan bahasa pengodean mereka, yang mereka anggap sebagai manfaat utama menggunakan aplikasi ini (dengan manfaat kedua adalah produktivitas yang lebih besar). Hal ini menunjukkan bahwa para pengembang melihat penggunaan alat pengodean AI sebagai cara untuk meningkatkan keterampilan saat mereka bekerja, alih-alih menambahkan tugas lain ke dalam hari kerja mereka untuk pembelajaran dan pengembangan.

Untuk pengembang junior, AI generatif mempercepat peningkatan keterampilan dan pelatihan ulang dengan memberikan contoh real-time dan panduan kontekstual, membantu mereka memperoleh kompetensi dengan cepat dan berkontribusi lebih cepat kepada tim mereka. Dengan WCA, tim pengembangan yang bekerja di lingkungan pengembangan perusahaan yang kompleks—seperti modernisasi mainframe atau migrasi Java—dapat mengotomatiskan transformasi kode yang membosankan sekaligus menerima wawasan yang didorong oleh AI tentang praktik terbaik. Ini berarti pengembang junior dapat memajukan tugas mereka tanpa harus berhenti dan berkonsultasi dengan pengembang senior sesering mungkin, sehingga mereka dapat membangun kepercayaan diri dan otonomi lebih cepat.

AI juga mengubah cara pengembang melakukan pendekatan terhadap pembuatan prototipe dan inovasi. Pekerjaan yang dulunya membutuhkan waktu berjam-jam untuk melakukan pengodean manual kini dapat diselesaikan dalam waktu singkat. Misalnya, pengembang yang merancang fitur baru dapat menggunakan AI generatif untuk membuat draf implementasi, mengulanginya dengan cepat, dan mengintegrasikannya ke dalam proyek yang lebih besar. Perputaran yang lebih cepat ini memungkinkan lebih banyak eksperimen dan kreativitas, yang sering kali merupakan aspek paling memuaskan dalam pengembangan perangkat lunak.

Dengan mengotomatiskan tugas-tugas rutin, pengembang dapat beradaptasi dengan lebih mudah ke lingkungan kerja jarak jauh atau asinkron. Alat AI juga memungkinkan kolaborasi yang lebih baik dengan menghasilkan saran kode dan penjelasan yang mudah untuk ulasan dan dipahami oleh anggota tim. Peningkatan ini berkontribusi pada pengalaman pengembang yang positif, yang membuat pengembangan perangkat lunak tidak hanya lebih produktif tetapi juga lebih mudah beradaptasi dengan beragam kebutuhan tenaga kerja modern, sehingga berkontribusi terhadap kepuasan kerja dan keseimbangan kehidupan kerja yang lebih baik.

Alat bantu AI generatif juga membantu pengembang menyempurnakan keahlian mereka dengan menyediakan metrik sehingga pengembang dapat melacak dan meningkatkan produktivitas mereka. Selain itu, hal ini juga membekali mereka dan organisasi dengan pengetahuan yang dibutuhkan untuk mengadopsi teknologi baru secara efektif dan mengevaluasi dampak penuh dari integrasi AI. Hal ini, pada gilirannya, menumbuhkan budaya pembelajaran dan inovasi yang berkelanjutan di antara para programmer.

Pengembangan Aplikasi

Bergabunglah: Pengembangan aplikasi Enterprise di cloud

Dalam video ini, Dr. Peter Haumer membahas seperti apa pengembangan aplikasi perusahaan modern saat ini di hybrid cloud dengan menunjukkan berbagai komponen dan praktiknya, termasuk IBM Z Open Editor, IBM Wazi, dan Zowe. 

Sentuhan manusia tetap tak tergantikan

Keahlian manusia tetap menjadi bagian tak terpisahkan dari proses pengembangan perangkat lunak. Kendati AI dapat mengidentifikasi bug dan menyarankan perbaikan, AI tidak memiliki pemahaman dan intuisi yang mendalam seperti yang dimiliki oleh pengembang berpengalaman. Manusia lebih siap untuk memahami maksud di balik kode, menilai keselarasannya dengan tujuan bisnis, dan menerapkan konteks organisasi untuk memastikan bahwa kode tersebut memenuhi persyaratan proyek. Pikiran mesin mengalami kesulitan dalam menafsirkan tradeoff yang halus atau menavigasi skenario yang ambigu, sehingga penilaian manusia sangat diperlukan.

Adopsi teknologi AI generatif bukannya tanpa tantangan. Dampak teknologi tidak merata pada semua tingkat pengalaman. Pengembang junior sering kali memperoleh manfaat paling banyak, karena AI membantu mereka belajar dan berkontribusi lebih cepat. Bagi mereka, AI bertindak sebagai mentor, mengisi kesenjangan pengetahuan, dan mempercepat pertumbuhan. Sebaliknya, menurut MIT Sloan, pengembang senior melaporkan kenaikan yang lebih kecil sekitar 8%-13%. Apakah ini disebabkan oleh keahlian mereka yang melampaui teknologi atau keengganan untuk mengintegrasikan AI ke dalam alur kerja mereka, masih menjadi pertanyaan terbuka.

Kekhawatiran lain dengan pengodean berbantuan AI adalah risiko utang teknis. Ketergantungan berlebihan pada AI untuk perbaikan cepat dapat memperkenalkan jalan pintas yang terakumulasi dari waktu ke waktu, menciptakan kompleksitas jangka panjang yang menuntut upaya signifikan untuk menyelesaikannya. Selain itu, beberapa orang khawatir bahwa alat pengodean yang didorong oleh AI dapat menyebabkan erosi keterampilan, di mana para pengembang terlalu mengandalkan otomatisasi alih-alih mengasah kemampuan pemecahan masalah dan pengodean mereka sendiri. Jika pemikiran kritis dan keterampilan pengodean langsung mengalami kemunduran, para pengembang mungkin akan kesulitan untuk mengatasi tantangan yang kompleks dan berisiko tinggi di masa depan.

Namun, alat pengodean AI paling ampuh jika bekerja dalam kolaborasi dengan pengembang manusia, bukan menggantikan mereka. Sementara AI generatif dapat mempercepat alur kerja dan mengotomatiskan tugas berulang, nilai sebenarnya terletak pada peningkatan keahlian manusia—yang membantu pengembang berfokus pada pemecahan masalah kreatif, keputusan arsitektur, dan inovasi.

Contoh yang baik dari hal ini berasal dari RKube, penyedia solusi TI di Maroko, yang menggunakan Watsonx Code Assistant IBM untuk memodernisasi aplikasi Java. Dengan mengotomatiskan transformasi kode, pengembang dapat mengalihkan fokus mereka dari pemfaktoran ulang manual ke pemecahan masalah yang bernilai lebih tinggi, yang pada akhirnya menghasilkan alur kerja yang lebih efisien dan tenaga kerja yang lebih termotivasi.

Solusi terkait
IBM Enterprise Application Service for Java

Layanan penyewa tunggal yang dikelola sepenuhnya untuk mengembangkan dan menyediakan aplikasi Java.

Jelajahi Aplikasi Java
Solusi DevOps

Gunakan perangkat lunak dan alat bantu DevOps untuk membangun, menerapkan, dan mengelola aplikasi cloud native di berbagai perangkat dan lingkungan.

Jelajahi solusi DevOps
Layanan Pengembangan Aplikasi Perusahaan

Pengembangan aplikasi cloud berarti membangun sekali, mengulangi dengan cepat, dan menerapkan di mana saja.

Layanan pengembangan aplikasi
Ambil langkah selanjutnya

Layanan Konsultasi Pengembangan Aplikasi IBM Cloud menawarkan panduan pakar dan solusi inovatif untuk menyederhanakan strategi cloud Anda. Bermitralah dengan para pakar cloud dan pengembangan IBM untuk memodernisasi, menskalakan, dan mempercepat aplikasi Anda, sehingga memberikan hasil yang transformatif bagi bisnis Anda.

Jelajahi layanan pengembangan aplikasi Mulai membangun dengan IBM cloud secara gratis