So it’s definitely riddled with bugs. And I can’t imagine that much matlab code following rigorous software engineering practices.
So it’s definitely riddled with bugs. And I can’t imagine that much matlab code following rigorous software engineering practices.
I don't know how many job postings ask for a software engineer who knows MATLAB, but I can't recall any
I got frustrated because my concerns that my team's development practices were causing issues on a regular basis, were ignored. I was continuously able to predict what issues we would run into, but no-one seemed to care - I even had a manager tell me, that it was good that our software was buggy, since the client would continue paying us to fix it
I've since left the biotech industry. There's a limit to how many times I want to run my head against that particular wall
- "a single 15k line C file that had been worked on for a decade" [0]
- code review of the model: [1]
- corresponding HN discussion: [2] (including sad appeals to authority: you're not an epidemiologist)
- other HN discussion [3] (including ridiculously blaming programmers for making C++ available to non-programmers)
[0] https://twitter.com/ID_AA_Carmack/status/1254872369556074496
[1] https://lockdownsceptics.org/code-review-of-fergusons-model/
This is a deep problem. Many scientists don't understand software engineering and more and more need to write bigger and bigger programs. And most of the time they don't open source their code.
Open source science.
In short when someone tells me the stuff is too complicated because too clever and advanced I tend to disbelieve them.
that said I have of course written my too complicated stuff lots of times, but if asked I don't say it was because I'm clever.
names anonymized so as to not accidentally hurt anyone's feelings.
on edit: actually one time the code was clever but not especially difficult, they just used the algorithms line because they didn't want anyone messing with their stuff.
It's a cliche to have a "what idiot wrote this" outburst, then realise it's your own code, because most of us have written our fair share of "clever" code
My boss explicitly stated that he doesn't want to see any "clever" or "smart" code in our product - write code based on simple fundamentals, benchmark before deciding to optimise, and be respectful in your reviews
I like my boss a lot
Communication takes time, coordination takes time, there is an incremental cost to each news person added to a team. From experience, perhaps with 2-3 people who happen to gel well together you may get close to proportional scaling of output, but with 8 it’s really unlikely in the real world.
More importantly, typical reviewer have only small partia area where he has good idea about which commit is bad idea. He however does not understand whole codebase.
Knowing what the whole does and knowing what my module does are two different things.
Looking back at my reply, I think I should have added a bit of background to clarify my comment
My master's degree is in bioinformatics and I worked in the biotech industry until about a year ago. I mainly worked as a consultant for top 20 pharma companies, but also did work on different in-house projects and in academia
From my experience in the industry, I find it very unlikely that the software mentioned in the article is structured in a modular way. I've yet to see good software practices outside one or two academic projects. Most pharma companies still use copying and renaming folders as version control. Naturally I'm sceptical of any code coming from the biotech industry
On top of that, it's written in MATLAB. I have only ever seen this used by statisticians and university researchers, never by software engineers
I'm therefore willing to bet, that when the reviewers open the source code, they'll find unstructured mess of spaghetti code, that has never been refactored, reviewed or tested
So yes - I agree in all your points, but I find it unlikely that they're being applied to this particular project