Dalam rekayasa, selera yang baik adalah konsep yang berbeda dari keterampilan [Artikel terjemahan]
(blogbyash.com)Dalam rekayasa perangkat lunak, ‘selera yang baik’ bukanlah preferensi terhadap tumpukan teknologi tertentu, melainkan kemampuan untuk secara fleksibel memilih nilai-nilai rekayasa yang paling sesuai dengan situasi proyek yang diberikan.
Selera adalah konsep yang berbeda dari keterampilan
- Selera teknis adalah kepekaan yang independen dari keterampilan, seperti selera dalam memasak; bahkan tanpa bisa menulis kode dengan sangat baik secara langsung, konsep ini terlihat dari kemampuan membedakan “kode ini enak dilihat/tidak enak dilihat”, “keputusan desain ini saya suka/agak meragukan”.
- Pilihan seperti for loop vs
map/filterbukanlah soal keunggulan teknis yang mutlak, melainkan sekadar perbedaan selera yang terbagi menurut nilai yang lebih dianggap penting oleh masing-masing orang (keterbacaan, kesederhanaan, performa, dan sebagainya); pada akhirnya, engineer akan menilai berdasarkan kumpulan nilai yang paling mereka utamakan.
Selera rekayasa = prioritas nilai
- Sebagian besar keputusan dalam rekayasa perangkat lunak adalah persoalan trade-off di antara nilai-nilai seperti performa, keterbacaan, akurasi, fleksibilitas, skalabilitas, ketahanan, portabilitas, kecepatan pengembangan, dan lain-lain, dan jarang ada situasi di mana satu pilihan selalu benar secara absolut.
- Selera seorang engineer didefinisikan oleh nilai mana yang mereka prioritaskan dan seberapa besar prioritasnya; misalnya, jika lebih mementingkan kecepatan dan akurasi daripada kecepatan pengembangan, mereka akan cenderung memilih Rust atau cloud tertentu, dan jika lebih mementingkan ketahanan daripada kecepatan, mereka akan secara alami memilih hal seperti distribusi multi-region.
Selera buruk: pemujaan ‘best practice’ yang tidak fleksibel
- Selera buruk muncul sebagai sikap memaksakan metodologi yang diyakini berhasil di masa lalu (verifikasi formal, menulis ulang dengan bahasa tertentu, multi-region yang berlebihan, metaprogramming yang rumit, dan sebagainya) tanpa memedulikan konteks, meskipun nilai yang mereka sukai tidak cocok dengan proyek saat ini.
- Mereka membenarkan pilihan dengan bertumpu pada standar absolut seperti “ini best practice”, dan bisa dianalogikan sebagai kompas yang bekerja baik dalam situasi tertentu tetapi ketika konteks berubah justru mengarah keliru, sehingga menuntun tim ke arah yang salah.
Selera yang baik: memilih nilai yang sesuai konteks dan fleksibel
- Selera yang baik adalah kemampuan untuk memilih dengan tepat nilai mana yang harus didahulukan dan mana yang harus dikorbankan dalam batasan masalah, organisasi, dan bisnis tertentu; karena itu, hal ini sulit diukur lewat tanya jawab sederhana atau tes teori, dan hanya tampak dalam desain serta hasil proyek nyata.
- Barulah ketika kita berulang kali mengamati di banyak proyek pola bahwa proyek yang memasukkan desain yang kita setujui berjalan baik, sementara proyek yang mengambil pilihan yang tidak kita setujui mengalami kesulitan, kita bisa memverifikasi bahwa “selera saya dalam konteks ini tepat/tidak tepat”.
Cara menumbuhkan selera yang baik
- Argumennya adalah bahwa selera yang baik tidak diperoleh dari satu jawaban benar atau buku teks tunggal, melainkan perlahan terbangun lewat pengalaman di berbagai jenis proyek sambil terus secara sadar meninjau kembali “bagian mana yang berjalan mulus dan bagian mana yang sulit”, “pilihan nilai mana yang kemudian justru menjadi beban”.
- Kuncinya adalah fleksibilitas: jangan menganggap bahasa, pola, atau arsitektur tertentu sebagai aturan mutlak, melainkan tekankan pentingnya sikap terbuka terhadap domain baru dan selera rekan kerja, sambil terus mencoba berbagai sudut pandang dan bahasa untuk memperbarui selera dasar kita secara berkelanjutan.
Belum ada komentar.