- Saat terus mengulang otomatisasi kecil, pada suatu titik kita mencapai ambang kognitif di mana semua alat dan sistem tampak sebagai sesuatu yang harus diperbaiki
- Semakin bertambah kemampuan teknis, kita tidak lagi sekadar menyadari masalah, tetapi juga memikul beban emosional yang terasa seperti tanggung jawab
- Dorongan untuk memperbaiki kadang melampaui peningkatan produktivitas semata dan menjadi sarana mengatur emosi, bahkan terkadang membuat kita terjebak dalam sistem yang kita buat sendiri
- Seiring waktu, sistem pada akhirnya pasti rusak, dan ilusi tentang solusi yang sempurna itu tidak ada
- Pada akhirnya, kemampuan yang benar-benar dibutuhkan bukanlah memperbaiki segalanya, melainkan kelapangan hati untuk bertahan tanpa harus memperbaiki sesuatu
Awalnya dari otomatisasi kecil
- Dimulai dari pekerjaan kecil untuk meningkatkan produktivitas, seperti skrip Python untuk mengubah nama file atau pintasan perintah
git - Setelah langsung memperbaiki ketidaknyamanan dalam sistem, semua hal di dunia mulai terlihat seperti target yang bisa ditingkatkan
- Pada suatu titik, itu berubah dari sekadar “bisa dilakukan” menjadi dorongan moral yang terasa seperti “harus dilakukan”
Bobot kemampuan teknis
- Sebelum mengenal pemrograman, perangkat lunak yang merepotkan mungkin bisa diabaikan, tetapi sekarang masalahnya terlihat dengan jelas
- Kode yang rapuh atau konfigurasi yang di-hardcode oleh pengembang lain terasa seperti celaan
- Terjadi perubahan persepsi di mana semua sistem dan perangkat lunak tampak seperti daftar TODO yang harus diperbaiki
Hidup yang terus-menerus merapikan ulang
- Setiap kali terjebak dalam pikiran, “Aku bisa membuat ini lebih baik,” lalu tenggelam dalam membuat alat sendiri
- Direktori kode yang berantakan, tak terhitung banyaknya percobaan dan pengabaian, serta perancangan ulang struktur tanpa akhir kadang menjadi kerja yang mengikat diri sendiri
- Seperti metafora Kafka tentang “membangun sangkar lalu menunggu burung datang,” kita bisa terjebak dalam membuat alat tanpa tujuan yang jelas
Perangkat lunak itu membusuk
- Bahkan skrip yang tampak sempurna pun suatu hari akan menjadi tak berguna karena perubahan dari luar
- Perubahan tata letak situs web, perubahan versi paket, kesalahan dependensi, dan sebagainya
- Saat masalah muncul, yang terasa bukan sekadar ketidaknyamanan, melainkan rasa bersalah
- Pada akhirnya kita berhadapan dengan kenyataan bahwa pemeliharaan berkelanjutan memang diperlukan
Ilusi bernama otomatisasi
- Kita sering memelihara harapan palsu bahwa “sekali disetel, nanti tak perlu disentuh lagi”
- Kita menganggap pemrograman sebagai kemenangan dalam menyelesaikan masalah, padahal ini hanyalah perang yang tak pernah selesai
- Tidak ada konsep selesai; kita hanya terus menggali parit yang selalu kebanjiran
Saat coding menjadi sarana mengatur emosi
- Tindakan membuat alat kadang merupakan reaksi psikologis untuk mengendalikan kekacauan hidup
- Semakin kompleks sistemnya, justru semakin muncul perasaan bahwa diri sendiri lebih tertata
- Untuk menghindari hidup yang rumit, kita mencoba aplikasi baru atau melakukan refactoring demi mendapatkan penghiburan untuk diri sendiri
Burnout yang datang tanpa tanda
- Burnout bukan semata-mata berasal dari kerja berlebihan, tetapi dari rasa tanggung jawab yang berlebihan
- Menyalahkan diri sendiri dengan pikiran “kalau aku bisa memperbaikinya, kenapa tidak kulakukan?” memperparah stres
- Rasa tanggung jawab teknis yang tak ada habisnya bekerja sebagai beban yang merusak diri sendiri
Belajar seni melepaskan
- Tidak semua masalah harus diselesaikan
- Terkadang, mengetahui bahwa sesuatu tak perlu diperbaiki justru merupakan bentuk kontrol yang lebih besar
- Mengakui adanya cacat dan tetap memakainya apa adanya juga bisa menjadi pilihan yang sadar
Keahlian sejati adalah kejernihan emosi
- Lebih penting daripada kemampuan memperbaiki adalah kemampuan batin untuk tidak selalu harus memperbaiki
- Kemampuan membedakan kapan harus berhenti, dan proyek mana yang sebenarnya hanya untuk menghibur diri sendiri
- Kita perlu melepaskan obsesi untuk memperbaiki segalanya, dan mencari ketenangan bahkan di tengah ketidaksempurnaan
> Pada akhirnya, keterampilan paling sulit dalam pemrograman adalah
> "belajar membiarkan sesuatu yang rusak tetap begitu adanya"
21 komentar
Segala sesuatu punya tujuan. Jika tujuannya sudah tercapai, tidak perlu terus diperbaiki. Tetapi jika tujuannya belum tercapai, maka harus diperbaiki.
Memahami dengan jelas tujuan proyek tampaknya menjadi titik awalnya.
Akan terasa lebih mudah kalau kita sadar bahwa di dunia ini ada juga perusahaan bernilai ratusan miliar won hanya dengan mengikat dan merapikan API bank dan perusahaan pembayaran yang berantakan wkwk
Ku x..
Jika melihat sistem yang dibuat dengan VB 6.0 dan COM + OLE + ActiveX masih tetap berjalan dengan baik lalu Anda sampai ngeri dan muncul hasrat untuk menulis ulang, maka Andalah orang yang akan menderita
Pada akhirnya, keterampilan paling sulit dalam pemrograman adalah
mempelajari "cara membiarkan sesuatu yang rusak tetap apa adanya"
Saya setuju. Saya tipe orang yang suka memulai banyak hal, jadi selalu kerepotan...
Otomatisasi yang dirangkai seadanya oleh seorang programmer biasa tentu saja pada akhirnya akan rusak.
Konten yang bagus
Titik burnout
: ketika susah payah mengotomatisasi pekerjaan, yang menikmati manfaatnya justru rekan di sebelah, sementara diri sendiri malah ditugaskan untuk mengotomatisasi pekerjaan lain;
Saya salah satu orang yang mengotomatisasi pekerjaan 15 menit sampai butuh 2 hari, lalu jadi "penganggur bergaji".
Rasa tanggung jawab yang berlebihan itu seperti penyakit akibat profesi bagi programmer, jadi harus diselesaikan lewat sistem.
Tim Quality Assurance yang harus melakukan assurance.
Apakah QA bisa menahan rasa tanggung jawab berlebihan dari developer? Saya kurang paham, jadi saya bertanya.
Kalau kesalahan terus ditimpakan ke developer dengan bilang, “kamu yang salah ngoding,”
developer akan tertekan oleh rasa tanggung jawab dan jadi enggan mencoba hal-hal baru,
dan pada akhirnya hanya akan menulis kode aman yang tidak membawa kemajuan.
Itulah maksudnya QA harus melakukan assurance.
Untuk melakukan coding yang progresif, pasti ada tingkat risiko tertentu yang harus ditanggung,
dan yang seharusnya memverifikasi serta bertanggung jawab atas itu adalah QA.
Ternyata tulisan ini bisa dibaca seperti itu juga, ya? Kalau saya, kalau memang harus dipermasalahkan, saya justru merasa tulisan ini adalah kritik terhadap yak shaving.
Seperti yang dikatakan roxie, pembahasan tentang isi tulisan itu memang tepat jika disebut tentang yak shaving,
namun jika saya kaitkan dengan pengalaman pribadi saya, jadinya malah menjadi cerita yang agak berbeda dari isi tulisan tersebut.
Bukankah ini juga bisa dijelaskan dengan fenomena NIH (not invented here)? Saya rasa kita tidak boleh lupa bahwa pemeliharaan pada akhirnya adalah biaya tetap, dan bahwa biaya itu juga mencakup upaya manusia.
Untuk bisa terus melakukan hal ini dalam jangka panjang, sepertinya kita juga perlu sesekali berlatih meletakkan beban tanggung jawab dan emosi sebelum terjebak dalam lingkaran psikologi kompensasi akibat rasa tanggung jawab yang berlebihan.
Saya juga termasuk orang yang belum terlalu pandai mengaturnya sih wkwk... isinya bagus.
Menurut saya ini poin yang bagus. Tanggung jawab, secara harfiah, adalah perasaan memikul tanggung jawab, jadi pada dirinya sendiri ia memang tidak menuntut imbalan. Namun seiring waktu, saat tubuh dan pikiran makin lelah sementara rasa tanggung jawab tidak mudah hilang, tampaknya kita mulai mengharapkan imbalan untuk menutup kesenjangan itu (meskipun sebenarnya tidak seharusnya menghubungkannya seperti itu). Tanpa kita sadari.
Ya, kompromi yang setidaknya lebih baik daripada "membiarkan sesuatu yang rusak begitu saja" mungkin adalah "jangan sentuh sampai benar-benar rusak" :)
Pendapat Hacker News
Ada kutipan yang saya pelajari saat berteater. Kutipan itu menjelaskan bahwa proses seni adalah menjadikan hal yang sulit sebagai kebiasaan, menjadikan yang sudah menjadi kebiasaan terasa mudah, lalu menjadikan yang mudah itu indah
Menyampaikan pendapat pribadi tentang masalah UI
Mengungkapkan kesulitan dalam proyek pribadi
Menyatakan rasa hormat kepada software engineer
Mengkritik perfeksionisme
Membagikan wawasan pribadi
Menyebutkan bahwa keluarga dan anak-anak membantu mengatasi perfeksionisme
Menulis software secara langsung lebih menyenangkan dan memberi solusi yang lebih sederhana
Berpendapat bahwa budaya yang terobsesi pada hal-hal baru adalah akar masalah
Psikolog mengelompokkan orang menjadi mereka yang selalu memaksimalkan dan mereka yang mencari yang cukup baik
Sepertinya kalimat yang lebih tepat adalah "belajar melepaskan hal yang tidak penting" daripada "membiarkan sesuatu yang rusak begitu saja"
Hal yang memang harus diperbaiki, ya harus diperbaiki
Saya setuju. Menurut saya, kita perlu tahu betul apakah kita sedang mempercantik taman sendiri, atau benar-benar mengerjakan hal yang penting, lalu berani melepaskannya.