3 ms·
I edited my comment to address this point. > Shouldn't incentives be better aligned. Should this type of complaining be celebrated? IMO it's not as clear cut
by throwawayjava 9y ago
I edited my comment to address this point.
> Shouldn't incentives be better aligned. Should this type of complaining be celebrated?
IMO it's not as clear cut as some people think. Honestly, is the cost worth the cost to tax payers if the super high quality implementation is going to be out-of-date in 3 months?
It depends on the research project and how fast the field is moving.
At base, I wonder if the current system isn't reasonable. If research can't even stay fresh long enough to make it from conference paper to journal paper, maybe we shouldn't be throwing hundreds of thousands of engineering dollars at quality implementations.
- marcus_holmes 9y agoI think you're building a straw man of "hundreds of thousands of engineering dollars" here All we're talking about is better quality code. This isn't a huge cost. It's usually just a matter of a small change in mindset while coding, and a few minutes refactoring and commenting once the code is working. Those minutes are repaid (and more!) the very next time the author has to revisit that code again. Good quality code saves money, it doesn't cost it. You can leave error conditions unmanaged, leave the UI as a complete mess, don't worry about internationalisation, none of the things that add serious cost to a commercial project. This is not that. If research coders aren't aware of code quality currently, maybe it's time that they got taught it? Writing good code will help researchers who write code, not hinder them.
- throwawayjava 9y ago> I think you're building a straw man of "hundreds of thousands of engineering dollars" here Been there, done that, no. Refactoring a crappy implementation into a high quality, documented code base takes an enormous amount of time. And literally no one in academia cares about it. Industry doesn't care about it either because there's a presumption that any software created while in academia is inferior quality. If you advise students to do this type of work with the expectation of any type of personal reward, you're a liar. They're basically doing software engineering that academia won't reward them for, and their year of software engineering won't count as job experience if they go into industry. And they aren't being paid software engineering salaries. It's just exploitative. > All we're talking about is better quality code. This isn't a huge cost This flies in the face of what the market bears in tech salaries. But no matter; I'll just never pay my software devs more than 30k, and also only give them maybe 20% of their time for actual software development... I'm sure I'll get high quality code! /s > Those minutes are repaid (and more!) the very next time the author has to revisit that code again. Which for 99% of research code will literally never happen. > If research coders aren't aware of code quality currently Tons of grad students leave academia after their phd, take very high paying jobs in industry, and become valued members of software engineering teams. Research jobs are not software jobs. The goals and incentives are different. Sometimes it makes sense to create a maintainable research software system, but usually it makes no sense because the code is throw-away for testing an idea. That's OK. No one owes you an epsilon of your product.
- marcus_holmes 9y agoyou're talking about Person A writing bad code and then Person B turning that into good quality code. I'm talking about Person A just not writing bad code in the first place.