Analizując twoje odpowiedzi w kilku komentarzach, nie wiem, czy zdajesz sobie sprawę, że to, czego doświadczasz, jest dość powszechne, szczególnie podczas pracy w specjalistycznych dziedzinach, w których eksperci w dziedzinie (nazwijmy ich naukowcami), aby dowiedzieć się, jak zawierać i dostosowywać algorytmy do bieżących problemów.
Zamiast narzekać na naukowca i oczekiwać, że się zmienią, po prostu zdaj sobie sprawę, że nie powinieneś oczekiwać, że naukowiec będzie troszczył się o „jakość kodu”. Często trudno jest zmusić innych programistów do dbania o „jakość kodu”, nie mówiąc już o kimś, kto zajmuje się głównie domeną, a nie programowaniem.
To, dokąd się wybierasz, zależy w dużej mierze od stopnia zaufania, jaki „naukowiec” ma w twojej zdolności do zrozumienia ich pracy. Jeśli mają pewność, że potrafisz zrozumieć ich kod i nie zepsują go podczas modyfikacji, to zwykle nie ma problemu. Będą polegać na twojej wiedzy.
Jeśli jednak naukowiec nie chce, abyś zmienił swój kod, jest wysoce prawdopodobne, że jeszcze nie „zasłużyłeś” na ich zaufanie. Jeśli tak jest, to zamiast skupiać się na naprawianiu naukowca, powinieneś skupić się na „naprawianiu” siebie. Rozumiem przez to podjęcie kroków w kierunku zdobycia ich zaufania. Prawdopodobnie najłatwiejszym sposobem na to jest:
W ramach procesu testowania:
- Zacznij przekształcać algorytmy w coś łatwiejszego do zrozumienia (np. Diagramy, PDL, notacja matematyczna)
- Naucz się rozumieć algorytmy.
- Pamiętaj, aby zidentyfikować przypadki krawędzi.
- Zapytaj naukowca, czy Twoja uproszczona „alternatywna” reprezentacja jest poprawna
- I NAJWAŻNIEJSZE zidentyfikuj znalezione problemy; I bez brzmienia „oskarżycielski” powiedz coś w stylu „Spojrzałem na algorytm i zauważyłem, że XYZ powinien to zrobić, czy powinien?”. Nic nie zyska ich pewności siebie lepiej niż ta kula.
Gdy zaczniesz znajdować błędy ORAZ wykazać zainteresowanie ich obszarem zainteresowań, szanse stają się znacznie wyższe, że przynajmniej pozwolą Ci zacząć modyfikować kod, aby uczynić go bardziej „profesjonalnym”. Często nawet nie odczuwają potrzeby kodowania prototypu. Po prostu napiszą coś w jednym z tych „alternatywnych” zapisów, których ich nauczyłeś (nawet nie zdając sobie z tego sprawy) i będą mieć pewność, że będziesz wiedział, co mają na myśli.
Z całą pewnością moją pierwszą próbą byłoby zaproponowanie sugestii, w jaki sposób naukowiec mógłby najlepiej pomóc w „lepszej komunikacji”, aby ci pomóc; ale wygląda na to, że tego próbowałeś. Zatem jedynym krokiem, nad którym masz kontrolę, jest to, co robisz. Zdobądź ich zaufanie i prawie zawsze ekspert ds. Domen odczuje ulgę, że przekaże kodowanie komuś innemu i nie będzie musiał się martwić o wszystkie drobne szczegóły związane z pisaniem kodu. Woleliby raczej skupić się na ulepszaniu algorytmów.
Czasami wszystko, co możesz zrobić, to zaproponować sugestię i zostawić to później. Nie zrobisz wrażenia na swoim szefie lub seniorze, jeśli będziesz ciągle powtarzał coś, co już odrzucił lub zdecydował, że nie chce tego robić, nawet jeśli masz 100% racji. W rzeczywistości zaszkodzi to relacjom, bez względu na to, czy jesteś sugestatorem, czy sugestią. Skoncentruj się na tym, co TY możesz zrobić, aby ułatwić sobie pracę.