Or would it be better to simply have a go to person to help create and optimize these programs?
Or would it be better to simply have a go to person to help create and optimize these programs?
A bigger problem is the stop start nature of software development in academic research. Students and postdocs come and go and tools are frequently abandoned to the new inexperienced student or are kept frozen in time on that one old machine that still works. Many researchers are simply afraid of coding.
We recently had a student from my former lab interview with us and he presented all his Ph.D results captured and processed in a tool I wrote several years earlier. It had seen zero development even though the commments through listed possible improvements. I doubt anyone even looked at the source code because it just worked and he had no idea I had wrote it even though my name was in the header comment.
When it came time for the researchers to submit transcripts I had the pleasure of reviewing probably the worst python program I have ever seen.
1) The request JSON was manually built using strings and string substitution. One immediate bug I saw was that the researcher forgot to wrap one of his keys in quotes. `{key: “val”}` is not valid JSON of course.
2) The python program did not actually make the web requests. It generated curl commands as strings and then printed them to std out.
3) The researcher then took all these generated curl commands and evaled them.
You seriously can’t make this stuff up.