Apa Software Engineer akan Digantikan AI?
Saat tulisan ini dibuat sedang trending video demonstrasi dari Devin, produk kecerdasan buatan yang diciptakan untuk menggantikan pekerjaan software engineer. Untuk kalian yang belum lihat, bisa lihat disini.
Sebagai seorang software engineer juga, aku merasa ingin ikut bergabung dalam diskursus ini.
Banyak yang pro dan kontra mengenai hal ini, yang diperdebatkan tentunya mengenai apakah hal ini akan mengancam pekerjaan software engineer. Menurutku ada 3 alasan kenapa kita sebagai software engineer (yang baik) tidak perlu khawatir mengenai hal ini.
1. Pertanggungjawaban
Pada dekade lalu populer konsep sistem kemudi otomatis pada mobil, yaitu mobil bisa melakukan pengemudian sendiri dari suatu titik ke titik lain sehingga pengemudi bisa duduk santai tanpa melakukan apa-apa, sehingga banyak pihak yang mencoba mengembangkannya karena terlihat meyakinkan untuk bisnis.
Coba lihat sekarang apakah sistem tersebut sudah dipakai secara luas? Belum.
Kenapa? Karena masih belum sempurna, masih banyak kasus terkait kecelakaan yang sistemnya masih mengambil keputusan yang kurang tepat. Kalaupun tersedia di kendaraannya, pengemudi masih tetap memilih mengemudikan sendiri mobilnya. Alasan lain adalah perbedaan kondisi jalan pada setiap negara, sehingga kalaupun fungsional hanya baru bisa digunakan di negara tertentu.
Bagaimana dengan AI untuk koding ini? Sama, sebagai orang yang sudah menggunakan produknya (ChatGPT, Perplexity, v0, Claude) aku juga masih sering menemukan kesalahan dalam hasilnya.
Kalau hanya membuat aplikasi yang dipakai sendiri mungkin ini tidak terlalu berpengaruh, tapi bagaimana kalau kode yang ditulis untuk pengembangan pesawat terbang? Militer? Keuangan? Tetap perlu ada software engineer manusia berpengalaman yang melakukan pengecekan pada hal yang dilakukan oleh AI tersebut.
Karena seandainya terjadi kesalahan fatal, kita tidak bisa meminta kecerdasan buatan untuk bertanggung jawab.
Tentu saja pengembang mereka bilang akan menyempurnakannya, tapi insinyur di sistem kemudi otomatis dulu juga bilang begitu namun sampai sekarang mereka masih belum bisa menggantikan pengemudi manusia.
2. Persaingan
Mari berandai-andai. Seandainya proyek tersebut sukses, tentu akan ada kompetitor yang ingin menciptakan ‘Devin lain’ yang lebih baik atau memiliki keunggulan unik tersendiri. Karena begitulah hukum pasar di dunia ini, manusia akan berlomba menciptakan produk yang lebih baik jika itu menguntungkan. Salah satu kompetitor yang aku tahu adalah Magic.dev.
Untuk mengembangkan ‘Devin lain’ ini pastinya mereka akan mempekerjakan software engineer manusia juga.
Pada akhirnya masih akan ada pekerjaan software engineer tersedia untuk manusia.
Coba jawab pertanyaan ini, menurut kalian kalau memang Devin sudah bisa mengembangkan AI yang bisa menulis kode, kenapa mereka masih tetap hiring software engineer manusia? 😁 (Cognition ini adalah pencipta Devin)
3. Pengetahuan
Bayangkan ada seorang pemilik restoran yang merupakan orang awam (tidak mengerti hal teknis) ingin membuat aplikasi untuk restoran, apa cukup dengan bilang “Buatkan aku aplikasi restoran” ke AI? Tidak.
Desainnya bagaimana? Apa pilihan warna dan penempatan tombolnya? Perlu orang berpengalaman dalam pengembangan tampilan pengguna yang bisa memasukkan perintah lebih spesifik untuk bisnis casenya.
Alur aplikasinya bagaimana? Perlu login terlebih dahulu atau tidak? Perlu orang berpengalaman dalam pengembangan alur bisnis yang tahu bagaimana baiknya tentang ini.
Struktur kodenya bagaimana? Apa pilihan database dan desain sistemnya? Perlu software engineer berpengalaman yang tahu apa hal yang efektif dan efisien untuk ini.
Seandainya aplikasinya sudah selesai apakah itu sudah cukup? Tidak, karena masih akan dibutuhkan pemeliharaan, perbaharuan, dan peningkatan pada sistem tadi.
Sehingga software engineer berpengalaman akan lebih membantu pemilik restoran tadi dalam memecahkan masalah bisnisnya.
Karena keunggulan yang dimiliki oleh kita sebagai manusia (yang baik) adalah memiliki inisiatif dan berpikir progresif.
Menurutku AI ini malah akan menjadi sidekick bagi software engineer, membantu kita menulis kode yang “membosankan” yaitu yang lebih memakan waktu untuk mengetik daripada berpikir. Dengan begini standar bagi junior software engineer tentunya juga akan makin naik.
Sehingga mungkin saja nantinya title kita misalnya bukan sekedar “frontend developer” lagi, bisa saja di saat itu kita telah menjadi software engineer yang sekarang bisa fokus membuat aplikasi dari ujung-ke-ujung (end-to-end) dengan lebih baik karena sudah dibantu kecerdasan buatan.
Menurutku jangan terpaku dengan tugas sebagai seorang “penulis kode”, karena peran software engineer yang sebenarnya adalah “pemecah masalah”, ini adalah hal universal yang bisa diterapkan ke dunia ini bahkan di dunia yang kita tidak perlu menulis langsung kode lagi.