2 min read

Nilai dari 'Boring Technology': Kenapa Stack Biasa Sering Menang

Nilai dari "Boring Technology": Kenapa Stack Biasa Sering Menang

Dalam dunia teknologi, ada godaan konstan untuk menggunakan hal baru. Framework terbit kemarin. Database yang katanya 10x lebih cepat. Bahasa pemrograman yang menjanjikan zero-cost abstraction. Tapi pengalaman bertahun-tahun menunjukkan bahwa tim yang menggunakan teknologi "membosankan" — PostgreSQL, Redis, Python, Java, Linux — seringkali menghasilkan produk yang lebih baik dan lebih bertahan lama.

Ini bukan kebetulan. Ini adalah prinsip engineering yang dikenal sebagai boring technology.

Apa Itu "Boring Technology"?

Istilah ini dipopulerkan oleh Dan McKinley, seorang engineer senior di Stripe, dalam tulisannya "Choose Boring Technology" (2015). Teknologi "boring" bukan berarti buruk atau usang — sebaliknya. Ini adalah teknologi yang sudah mapan, dipahami luas, dan memiliki track record panjang dalam produksi.

Ciri-ciri teknologi boring:

  • Usia: Sudah ada 5-10+ tahun.
  • Adopsi: Digunakan oleh ribuan perusahaan, bukan hanya pionir.
  • Dokumentasi: Tutorial, buku, dan jawaban Stack Overflow berlimpah.
  • Ekosistem: Tools, library, dan dukungan komunitas matang.
  • Prediktabilitas: Perilakunya sudah sangat dipahami — tidak ada kejutan di jam 3 pagi.

Contoh: PostgreSQL (1996), Linux Kernel (1991), Java (1995), Python (1991), Redis (2009), NGINX (2004).

Mengapa Pilihan "Boring" Menang

Ada beberapa alasan mengapa teknologi yang membosankan seringkali menjadi pilihan paling rasional:

1. Battle-tested di Produksi

Teknologi baru belum pernah menghadapi kondisi nyata: lonjakan trafik mendadak, korupsi data akibat race condition, edge case yang tidak terduga. PostgreSQL telah diuji oleh jutaan tim selama hampir tiga dekade. Hampir semua bug sudah ditemukan dan diperbaiki. Sebaliknya, database baru mungkin menjanjikan performa 10x, tetapi Anda lah yang akan menemukan sharp edges — dalam produksi, jam 3 pagi, saat on-call.

2. Pool of Knowledge yang Besar

Ketika Anda menggunakan teknologi populer, Anda tidak sendirian. Masalah yang Anda hadapi hampir pasti sudah dihadapi orang lain. Jawaban ada di Stack Overflow, GitHub Issues, forum, atau buku. Biaya debugging menurun drastis. Sebaliknya, teknologi baru memaksa Anda menjadi pionir — Anda akan menghabiskan waktu berjam-jam membaca 3 halaman dokumentasi yang ada dan source code yang belum matang.

3. Kemudahan Hiring

Teknologi boring berarti Anda bisa merekrut lebih mudah. Jauh lebih mudah mencari engineer yang mengenal PostgreSQL, Python, atau React daripada spesialis di database grafis baru atau framework JavaScript yang baru dirilis bulan lalu. Ini bukan masalah kecil — biaya hiring adalah investasi terbesar dalam software engineering.

4. Risiko Operasional yang Rendah

Tim operasional (DevOps, SRE) sudah memiliki playbook untuk teknologi mapan: cara backup, monitoring, scaling, recovery. Teknologi baru berarti menulis playbook dari nol. Satu insiden yang disebabkan oleh ketidaktahuan operasional bisa menghabiskan biaya berkali-kali lipat dari "keuntungan performa" yang dijanjikan.

Kapan "Boring" Tidak Tepat

Tentu saja, ada situasi di mana memilih teknologi baru adalah keputusan tepat:

  1. Masalah yang tidak bisa diselesaikan oleh teknologi lama. Misalnya, streaming real-time membutuhkan Kafka; message queue tradisional tidak cukup.
  2. Eksplorasi dan learning. Side project, POC, atau innovation time. Di sini teknologi baru adalah investasi pembelajaran, bukan risiko produksi.
  3. Keunggulan kompetitif sejati. Dalam kasus yang sangat jarang, teknologi baru memberikan keunggulan yang tidak bisa ditandingi — biasanya di perusahaan yang teknologinya adalah produk inti.

Tapi aturan McKinley berlaku: untuk setiap komponen dalam stack Anda, maksimal satu teknologi baru (innovation token). Pilih satu area untuk mengambil risiko teknis; semua area lainnya harus boring.

Implikasi Praktis

  • Sebelum memilih database baru, tanya: apakah PostgreSQL really tidak cukup?
  • Sebelum mengadopsi framework baru, cek umur, stabilitas API, dan jumlah pengguna produksi.
  • Hitung total biaya kepemilikan: learning curve, hiring difficulty, operational burden, ecosystem maturity — bukan hanya performa benchmark.
  • Tim kecil (1-5 orang) harus lebih konservatif daripada tim besar. Inovasi adalah kemewahan yang hanya bisa dinikmati oleh tim yang memiliki slack.

Referensi

  • McKinley, D. (2015). Choose Boring Technology. Dan McKinley's Blog.
  • Fowler, M. (2018). Dependency Injection Principles, Practices, and Patterns. Dalam konteks prinsip meminimalkan risiko arsitektur.
  • Coplien, J. O., & Harrison, N. B. (2004). Organizational Patterns of Agile Software Development. Menekankan nilai prediktabilitas dalam tim.
  • Zawinski, J. (1995). Pengamatan tentang software bloat dan siklus adopsi teknologi dalam industri.