HeadlinesBriefing favicon HeadlinesBriefing.com

Mengapa Membangun Perangkat Lunak Masih Sulit: Analogi

Hacker News •
×

Sekarang jam 1 siang di hari terakhir Hackathon, tersisa 5 jam. Selama 2 jam terakhir, kami membuat NOL kemajuan. Aku mengutuk hari ketika Lovable lahir. Begitu aku memperbaiki satu masalah, masalah lain muncul, dan aplikasi kami hampir tidak bisa digunakan.

Awalnya menjanjikan. Aku bergabung dengan 2 teman insinyur dan 3 perekrut untuk membangun ‘Honey Crew’, sebuah sistem rujukan pintar. Kami memilih Lovable agar tim perekrutan bisa memeliharanya nanti. Pada hari pertama, kami MELESAT, menyelesaikan 90% proyek. Pada hari kedua, perbaikan kecil merusak semuanya. Bug tanpa akhir, kelambatan, stres. Para perekrut tidak bisa memahami apa yang salah.

Bagaimana bisa? Alergi terhadap ‘kerja infra’. Seorang pemimpin senior suka mengatakan bahwa dia alergi terhadap ‘refactor’ dan ‘kerja infra’. Setelah LLM, dia bertanya: “Tidak bisakah kamu memberikan tugas ini saja ke Chat GPT?” Banyak pemimpin non-teknis menganggap insinyur melebih-lebihkan.

Seorang rekan kerja merumuskannya: “Kamu menulis kode, yang hanya kata-kata dalam bahasa yang tidak aku mengerti, kan? Kenapa selalu menjadi lebih rumit?” Aku kesulitan menjelaskannya sampai aku hampir membeli rumah. Bayangkan jika perangkat lunakmu adalah sebuah rumah. Seorang kontraktor berkata: “Aku tidak akan merekomendasikannya. Terlalu tua. Akan jauh lebih sederhana dan murah untuk menghancurkannya dan membangun dari awal.” Dia bisa menjadi insinyur perangkat lunak yang hebat.

Proses membangun rumah telah dikenal selama ribuan tahun, dan tetap saja setiap rumah baru memiliki masalah yang berbeda. Kenapa kamu tidak bisa menyelesaikan masalahnya dengan cepat? Atapmu bocor. Kamu bisa menaruh ember di lantai, atau menemukan akar penyebabnya. Kenapa kamu tidak bisa menyelesaikan kasus penggunaan spesifik ini saja, tanpa semua “infra” itu? Menambahkan infrastruktur untuk mendukung lantai 2 JAUH lebih murah sekarang daripada nanti.

Jadi sekarang jam 1 siang di hari terakhir hackathon, dan semuanya terasa rusak. Kami menghentikan kegilaan vibe coding kami dan dengan hati-hati meninjau satu area pada satu waktu sampai kami memiliki alur sederhana yang bisa didemonstrasikan dan berfungsi. Pahami, rencanakan, implementasikan. Jauh lebih lambat dari kecepatan hari pertama kami, tapi setidaknya kami berakhir dengan alur yang berfungsi dan bisa didemonstrasikan.

Entitas Utama: Perusahaan: Lovable