DEV Community

Cover image for 💸Developer yang Membayar Hutang Teknis
Ferry Ananda Febian
Ferry Ananda Febian

Posted on

💸Developer yang Membayar Hutang Teknis

Dalam dunia pengembangan perangkat lunak, sering kali developer dihadapkan pada situasi di mana deadline ketat harus dipenuhi, sementara fitur yang kompleks tetap harus segera selesai. Kondisi ini kerap memaksa developer untuk mengambil jalan pintas dalam penulisan kode, seperti mengorbankan clean code, efisiensi, atau skalabilitas demi mengejar target waktu.

Namun, setelah tekanan deadline mereda dan ada waktu luang, developer yang bertanggung jawab akan kembali ke kode tersebut untuk melakukan perbaikan dan optimasi. Proses ini dikenal sebagai "membayar hutang teknis." Dengan kata lain, developer mengambil kesempatan untuk merapikan, menyempurnakan, dan mengoptimalkan kode agar lebih mudah dipelihara dan memiliki performa yang lebih baik di masa depan.

Memperbaiki dan Mengoptimalkan Kode

Salah satu contoh nyata dari pembayaran hutang teknis dapat ditemukan dalam pengembangan proyek FAMOUS yang sedang saya kerjakan, sebuah sistem manajemen armada dan hauling. Pada proyek ini, saya, Yanuar dan Amir melakukan rewrite dan optimasi pada dua fitur utama: Live Streaming Truck dan Peta Heatmap.

Live Streaming Truck:

  • Sebelumnya, fitur ini mengonsumsi banyak memori karena setiap sesi streaming menangani data video dalam ukuran besar tanpa optimasi. Hal ini menyebabkan lonjakan penggunaan sumber daya server dan latensi yang mengganggu pengalaman pengguna.
  • Setelah dilakukan optimasi, penggunaan memori berhasil dikurangi secara signifikan dengan menerapkan teknik buffering yang lebih efisien dan mengurangi overhead jaringan. Hasilnya, streaming menjadi lebih lancar dan responsif.

Sebelum rewrite Live StreamingSebelum Rewrite fitur Live Streaming memiliki lebih dari 1000 baris kode, hampir semua logic live streaming di kelola di front end

Setelah rewrite Live StreamingSetelah Rewrite fitur Live Streaming kini hanya memiliki 130 baris kode, hal ini bisa dicapai dengan penerapan clean code dan sebagian besar logic dikerjakan di backend

Peta Heatmap:

  • Fitur ini awalnya mengalami performa yang kurang optimal saat menampilkan titik-titik kepadatan lalu lintas dalam jumlah besar. Penyebab utamanya adalah cara pemrosesan data yang kurang efisien, di mana setiap perubahan data memicu render ulang seluruh peta.
  • Setelah dilakukan perbaikan, penerapan marker clustering, algoritma pemrosesan data dioptimalkan dengan pendekatan lazy loading dan penggunaan teknik agregasi data sebelum dirender. Dengan demikian, performa meningkat drastis dan tampilan heatmap menjadi lebih responsif.

Sebelum rewrite HeatmapSebelum Rewrite fitur Heatmap memiliki lebih dari 900 baris kode, kode ini tentu akan sulit dikelola di masa depan

Setelah Rewrite HeatmapSetelah Rewrite fitur Heatmap kini baris kode hanya kurang dari 300 baris

Melalui proses rewrite dan optimasi ini, performa aplikasi meningkat, konsumsi sumber daya lebih efisien, dan pengalaman pengguna menjadi lebih baik.

Kesimpulan

Membayar hutang teknis adalah langkah penting dalam pengembangan perangkat lunak. Meskipun terkadang developer harus mengambil jalan pintas untuk memenuhi deadline, mereka tetap harus menyisihkan waktu untuk melakukan optimasi dan penyempurnaan kode. Dengan demikian, aplikasi tidak hanya berjalan lebih efisien tetapi juga lebih mudah dipelihara di masa depan.

Dalam proyek FAMOUS, optimasi pada fitur Live Streaming Truck dan Peta Heatmap membuktikan bahwa membayar hutang teknis dapat membawa dampak besar terhadap performa dan stabilitas aplikasi. Oleh karena itu, setiap developer harus berkomitmen untuk terus melakukan perbaikan dan tidak membiarkan hutang teknis menumpuk hingga menjadi beban yang lebih sulit diselesaikan di kemudian hari.

Terima kasih sudah mampir di artikel keren saya. Semoga bermanfaat!

Top comments (1)

Collapse
 
ferryops profile image
Ferry Ananda Febian

first