It sounds like maybe he should invest some research time into improving software interfaces.
I get the frustration with getting mired in infrastructure before you can actually start producing useful things. I experience that regularly. But you know what? It's going to be there for your whole career, and it's often a useful driver which inspires people to improve the things that annoy them. I usually learn very useful things in the process which improve my ability to comprehend the entire system.
I think there's a balance to be found here - it's unreasonable to expect students to spend their entire semister in an advanced CS research class learning how to use rudimentary tools, but maybe it's also unreasonable to put people into advanced CS research classes before they've learned how to use their field's rudimentary tools. The student should know how to do it, and the professor should attempt to ensure that they don't have to.
On a different topic: My anecdotal experience is that academically produced or oriented software is nearly always among the worst offenders of this - it is overly complex, poorly documented, and not well supported. This leads me to wonder if there are attitudes in academia that such things are "bullshit" that get in the way of "real work", which lead to this problem in the first place.
I get the frustration with getting mired in infrastructure before you can actually start producing useful things. I experience that regularly. But you know what? It's going to be there for your whole career, and it's often a useful driver which inspires people to improve the things that annoy them. I usually learn very useful things in the process which improve my ability to comprehend the entire system.
I think there's a balance to be found here - it's unreasonable to expect students to spend their entire semister in an advanced CS research class learning how to use rudimentary tools, but maybe it's also unreasonable to put people into advanced CS research classes before they've learned how to use their field's rudimentary tools. The student should know how to do it, and the professor should attempt to ensure that they don't have to.
On a different topic: My anecdotal experience is that academically produced or oriented software is nearly always among the worst offenders of this - it is overly complex, poorly documented, and not well supported. This leads me to wonder if there are attitudes in academia that such things are "bullshit" that get in the way of "real work", which lead to this problem in the first place.