Dalam melihat tanggapan Anda dalam beberapa komentar, saya tidak tahu apakah Anda menyadari bahwa apa yang Anda alami cukup umum, terutama ketika bekerja di bidang khusus di mana dibutuhkan pakar domain (sebut saja mereka ilmuwan) untuk mencari cara menggabungkan dan menyesuaikan algoritma untuk masalah yang dihadapi.
Daripada mengeluh tentang ilmuwan dan mengharapkan mereka berubah, sadarilah bahwa Anda tidak seharusnya mengharapkan ilmuwan peduli banyak tentang "kualitas kode". Seringkali sulit untuk membuat pengembang perangkat lunak lain peduli dengan "kualitas kode" apalagi seseorang yang minat utamanya terletak pada domain dan bukan pada pemrograman.
Ke mana Anda pergi dari sini sangat tergantung pada tingkat kepercayaan "ilmuwan" dalam kemampuan Anda untuk memahami pekerjaan mereka. Jika mereka memiliki keyakinan bahwa Anda dapat memahami kode mereka dan tidak akan membuangnya ketika Anda memodifikasi sesuatu maka biasanya tidak ada masalah. Mereka akan mengandalkan keahlian Anda.
Namun, jika ilmuwan tidak ingin Anda mengubah kode mereka maka sangat mungkin bahwa Anda belum "mendapatkan" kepercayaan diri mereka. Jika itu masalahnya maka daripada berfokus pada memperbaiki ilmuwan, Anda harus fokus pada "memperbaiki" diri Anda sendiri. Yang saya maksudkan adalah mengambil langkah-langkah untuk mendapatkan kepercayaan diri mereka. Mungkin cara termudah untuk melakukan ini adalah sebagai berikut:
Sebagai bagian dari proses pengujian Anda:
- Mulailah mengubah algoritme menjadi sesuatu yang lebih mudah dipahami (misalnya diagram, PDL, notasi matematika)
- Belajarlah untuk memahami algoritma.
- Pastikan untuk mengidentifikasi kasus tepi.
- Tanyakan kepada ilmuwan apakah representasi "alternatif" Anda yang disederhanakan benar
- DAN PALING PENTING mengidentifikasi masalah yang Anda temukan; DAN tanpa terdengar "menuduh" mengatakan sesuatu seperti "Saya sedang melihat algoritma dan melihat XYZ apakah itu seharusnya melakukan ini atau itu seharusnya melakukan itu?". Tidak ada yang akan mendapatkan kepercayaan diri mereka lebih baik daripada peluru ini.
Setelah Anda mulai menemukan bug DAN menunjukkan minat pada bidang minat mereka, maka peluangnya menjadi jauh lebih tinggi sehingga setidaknya mereka akan membiarkan Anda mulai memodifikasi kode untuk membuatnya lebih "profesional". Seringkali, mereka bahkan tidak akan merasa perlu untuk membuat kode prototipe lagi. Mereka hanya akan menulis sesuatu di salah satu dari notasi "alternatif" yang telah Anda ajarkan kepada mereka (tanpa mereka sadari) dan mereka akan memiliki keyakinan bahwa Anda akan tahu apa artinya.
Dengan segala cara, upaya pertama saya adalah menawarkan beberapa saran tentang bagaimana ilmuwan dapat membantu "berkomunikasi" dengan lebih baik untuk membantu Anda; tapi sepertinya Anda sudah mencobanya. Jadi satu-satunya langkah yang Anda kendalikan adalah apa yang Anda lakukan. Hasilkan kepercayaan diri mereka dan hampir selalu pakar domain akan lega menyampaikan koding kepada orang lain dan tidak perlu khawatir tentang semua detail kecil yang masuk ke dalam penulisan kode. Mereka lebih suka berfokus pada peningkatan algoritma.
Terkadang, yang bisa Anda lakukan hanyalah menawarkan saran dan membiarkannya setelah itu. Anda tidak akan mengesankan atasan atau senior Anda jika Anda terus-menerus memikirkan sesuatu yang sudah mereka tolak atau putuskan tidak ingin mereka lakukan, bahkan jika Anda 100% benar. Bahkan, ini akan merusak suatu hubungan, apakah Anda adalah penasehat atau yang disarankan. Fokus saja pada apa yang ANDA bisa lakukan untuk membuat pekerjaan Anda lebih mudah.