Jadi Software Engineer di Tengah Gempuran AI, mending Mati aja?
Jadi gini rasanya kuliah di jurusan yang peluang kerjanya mulai saturated.
10 tahun lalu atau mungkin lebih tepatnya di era 2010-an awal, startup lagi booming-boomingnya (sebagai catatan startup di bidang tech). Investor berlomba-lomba untuk mencari startup yang bisa mereka investasikan, dana dengan angka yang ga masuk akal pun seringkali diberikan untuk nge-gaji talent/programmer yang kerja di startup itu.
Dulu saya inget banget, Gojek, Tokopedia, Traveloka, dan beberapa startup unicorn lainnya memang lagi naik-naiknya. Seakan-akan orang dengan jurusan IT atau komputer itu adalah jurusan yang paling keren dan menjanjikan. Banyak banget anak muda yang pengen masuk jurusan itu, termasuk saya.
Ah, indahnya startup, ngoding pake mac sambil ngopi cantik di coworking space.

Gambar di atas adalah coworking space WeWork di Revenue Tower SCBD. Dulu saya pernah kerja di startup yang punya kantor di WeWork. Ngoding sambil ngopi gratis sepuasnya untuk bahan story IG.
Kemudian datanglah pandemi 2020 dan tech winter. Banyak startup yang collapse, termasuk startup yang dulunya tempat kerja saya juga (hampir) collapse. Pegawainya bener-bener dipangkas sampai 50%.
Ga cukup sampai di situ, datanglah AI yang bisa ngoding dan gantiin software engineer.
Are we cooked chat?
Well, itu pertanyaannya, sekarang barrier to entry untuk jadi software engineer itu makin rendah banget. Dulu kita harus belajar coding, algoritma, data structure, dan lain-lain selama bertahun-tahun untuk bisa jadi software engineer. Sekarang? Cukup dengan prompt engineering aja, kita bisa bikin aplikasi yang cukup kompleks dengan bantuan AI.
Tapi, apakah ini berarti kita harus panik dan mikir “wah, nanti saya ga bisa kerja lagi karena AI bisa gantiin saya”? Menurut saya sih engga juga. Meskipun AI bisa bantu kita buat aplikasi, tapi tetap aja kita butuh orang yang ngerti bisnisnya, yang bisa ngasih arahan ke AI, dan yang bisa nge-maintain aplikasi itu setelah jadi.
Menurut saya belajar basic-basic software engineering itu tetap penting kok. Soalnya decision tetap ada di kita. Saya punya kenalan yang bisa buat software dengan bantuan AI sampai jadi, tapi dia ga tau CORS itu apaan dan saya harus ngejelasin dari awal.
Saya klo jadi engineer dan ada user interview juga nyarinya yang paham konsep dasar, bukan cuma yang asal prompting doang.
Menurutku bisa paham konsep dasar itu penting banget, kita ga cuma asal buat software tapi bisa buat high quality software yang scalable, maintainable, dan secure. Tiga point itu sih yang penting banget, karena software yang kita buat bakal dipake sehari-hari sama user, jadi harus bisa diandalkan dan aman, dan bukan asal jadi.
Karena kalau di industry kita bakal ngadepin probelm software yang menurutku menjengkelkan dan bikin pusing, yaitu technical debt. Jadi kita bikin software yang asal jadi, terus kita ga ngerti kenapa software itu bisa jadi kayak gitu, terus kita ga ngerti kenapa software itu bisa error, terus kita ga ngerti kenapa software itu bisa lambat, dan akhirnya kita cuma bisa pasrah dan nunggu user complain.
Waktu aku jadi software engineer, problem yang sering banget aku hadepin itu:
- Race condition state
- Memory leak
- N + 1 query problem
- Otak atik code trus malah nyenggol fitur lain
- Spaghetti code
yang di mana kalau aplikasi masih kecil mungkin ga begitu terasa. Tapi kalau aplikasi udah gede dan usernya dah banyak, wah siap-siap dapet komplenan. Soalnya bisnisnya juga bakal kena imbasnya, user bakal kecewa, dan akhirnya kita yang disalahin, atau biasanya frontdesk yang bakal kena semprot duluan dari user wkwkwk.
Jujur, GPT belum sepinter sekarang waktu aku masih kerja, jadi ga bisa diandalkan untuk problem yang aku sebutin tadi. Ga tau ya kalau sekarang AI udah bisa benerin masalah itu. Karena masalah kek gituan banyak banget solusinya: harus mahamin context bisnis, nanya ke engineer lain kenapa dulu dibuat kayak gitu, apakah penting buat disolve masalah itu sekarang, apakah masalah itu bisa disolve dengan cara lain yang lebih gampang, tradeoff-nya apa, dan lain-lain. Jadi banyak banget pertimbangannya, dan itu semua harus dipahami dulu sebelum kita bisa ngasih arahan ke AI untuk ngebenerin masalah itu.
Sebenernya masalah itu ga bakal muncul kalau codingan kita emang bagus dan dibuat se-telaten mungkin.
ya ini dengan catatan kalau bisnisnya ga tiba-tiba pivot atau tiba-tiba usernya nambah gila-gilaan, atau tiba-tiba ada security issue, atau faktor external lainnya.
Lebih tepatnya munculnya ga secepat itu, kalau kita nulis code ga asal-asalan, code review se-detail mungkin, dan selalu rajin untuk nulis unit-testing wkwkwk.
In the end kita harus tetap refactor codingan kalau dirasa udah tua banget, ASAP ya jangan ditunda-tunda atau bakal jadi tech debt, tapi seengaknya dengan nulis codingan yang bagus dari awal: Itu mempermudah saya atau orang lain untuk memahami codingan itu.

Yang dimana untuk urusan begituan decision tetap ada di saya, AI ga bisa ngasih keputusan yang tepat karena dia ga ngerti konteks bisnisnya, dia ga ngerti usernya, dan dia ga ngerti apa yang kita butuhin.
AI ga tau kapan saya harus refactor codingan, dia ga tau root cause dari masalah yang muncul, maybe dia tau symptons-nya tapi yang paham seluruh context itu tetap saya.
Sejauh ini AI kepake untuk nulis codingan yang simple, boilerplate, or redundant atau sekedar rapihin codingan yang udah ada.
Trus gimana nih?
Overall jadi programmer di era sekarang udah ga se-spesial dulu, tapi dibilang apakah field ini beneran mati, ya engga. Dulu jadi programmer terasa spesial karena era startup lagi booming, sekarang? Ya biasa aja, karena banyak banget orang yang bisa ngoding dengan bantuan AI. Tapi tetap aja, kita butuh orang yang ngerti bisnisnya, yang bisa ngasih arahan ke AI, dan yang bisa nge-maintain aplikasi itu setelah jadi.
Bagi temen-temen yang lagi kuliah di jurusan IT, Computer Science, atau sekitarnya, please don’t skip the basics. Fundamental itu penting banget daripada langsung ke framework atau library yang lagi hype, mendingan paham dulu konsep dasarnya. Yang kita pelajarin di kuliah mungkin ga langsung kepake waktu kerja, tapi itu bakal jadi pondasi yang kuat buat kita untuk ngerti konsep-konsep yang lebih advanced nanti.
Dulu saya pikir langsung pakai framework yang lagi nge-trend tanpa paham konsep dasar udah paling gila, tapi sekarang, vibe-coding udah jauh lebih gila.