Khi xem các câu trả lời của bạn trong một số ý kiến tôi không biết nếu bạn nhận ra rằng những gì bạn đang trải qua là khá phổ biến, đặc biệt là khi làm việc trong các lĩnh vực đặc biệt, nơi cần các chuyên gia tên miền (hãy gọi họ là nhà khoa học) để tìm ra cách kết hợp và điều chỉnh các thuật toán cho các vấn đề trong tầm tay.
Thay vì phàn nàn về nhà khoa học và mong họ thay đổi, chỉ cần nhận ra rằng bạn không nên mong đợi nhà khoa học quan tâm nhiều đến "chất lượng mã". Rất khó để khiến các nhà phát triển phần mềm khác quan tâm đến "chất lượng mã" chứ đừng nói đến ai đó có lợi ích chính nằm trong miền chứ không phải lập trình.
Bạn đi đâu từ đây phụ thuộc phần lớn vào mức độ tự tin của "nhà khoa học" trong khả năng hiểu công việc của họ. Nếu họ tin tưởng rằng bạn có thể hiểu mã của họ và sẽ không làm hỏng nó khi bạn sửa đổi mọi thứ thì thường không có vấn đề gì. Họ sẽ dựa vào chuyên môn của bạn.
Tuy nhiên, nếu nhà khoa học không muốn bạn thay đổi mã của họ thì rất có thể bạn chưa "kiếm được" sự tự tin của họ. Nếu đó là trường hợp sau đó thay vì tập trung vào sửa chữa nhà khoa học, bạn nên tập trung vào "sửa chữa" chính mình. Ý tôi là điều đó là thực hiện các bước để đạt được sự tự tin của họ. Có lẽ cách dễ nhất để làm điều này là như sau:
Là một phần của quy trình thử nghiệm của bạn:
- Bắt đầu biến các thuật toán thành một cái gì đó dễ hiểu hơn (ví dụ: sơ đồ, PDL, ký hiệu toán học)
- Tìm hiểu để hiểu các thuật toán.
- Hãy chắc chắn để xác định các trường hợp cạnh.
- Hỏi nhà khoa học nếu đại diện "thay thế" đơn giản hóa của bạn là chính xác
- VÀ QUAN TRỌNG NHẤT xác định các vấn đề mà bạn tìm thấy; VÀ không có âm thanh "buộc tội" nói điều gì đó như "Tôi đã xem xét thuật toán và nhận thấy XYZ là nó phải làm điều này hay nó được cho là làm điều đó?". Không có gì có được sự tự tin của họ tốt hơn viên đạn này.
Khi bạn bắt đầu tìm thấy lỗi VÀ đã thể hiện sự quan tâm trong lĩnh vực họ quan tâm thì tỷ lệ cược trở nên cao hơn rất nhiều, ít nhất họ sẽ cho phép bạn bắt đầu sửa đổi mã để làm cho nó trở nên "chuyên nghiệp" hơn. Thông thường, họ thậm chí sẽ không cảm thấy cần phải viết mã nguyên mẫu nữa. Họ sẽ chỉ viết một cái gì đó lên một trong những ký hiệu "thay thế" mà bạn đã dạy họ (mà không hề nhận ra) và họ sẽ tự tin rằng bạn sẽ hiểu ý của họ.
Bằng mọi cách, nỗ lực đầu tiên của tôi là đưa ra một số gợi ý về cách nhà khoa học có thể giúp "giao tiếp" tốt hơn để giúp bạn; nhưng có vẻ như bạn đã thử điều đó. Vì vậy, bước duy nhất mà bạn có quyền kiểm soát là những gì bạn làm. Kiếm được sự tự tin của họ và hầu như luôn luôn là chuyên gia tên miền sẽ cảm thấy nhẹ nhõm khi chuyển mã hóa cho người khác và không phải lo lắng về tất cả các chi tiết nhỏ đi vào viết mã. Họ muốn tập trung vào việc cải thiện các thuật toán.
Đôi khi, tất cả những gì bạn có thể làm là đưa ra một gợi ý và để lại sau đó. Bạn sẽ không gây ấn tượng với sếp hoặc cấp cao nếu bạn tiếp tục làm điều gì đó mà họ đã từ chối hoặc quyết định họ không muốn làm, ngay cả khi bạn đúng 100%. Trong thực tế, điều này sẽ làm hỏng một mối quan hệ, cho dù bạn là người gợi ý hay người được gợi ý. Chỉ cần tập trung vào những gì BẠN có thể làm để làm cho công việc của bạn dễ dàng hơn.