4 ms·
I've worked in academia doing a lot of simulation/modeling work with scientists that are experts in their field. Brilliant people but my experience is that scie
by thraxil 4y ago
I've worked in academia doing a lot of simulation/modeling work with scientists that are experts in their field. Brilliant people but my experience is that scientists often generate the worst code you've ever seen. They are very smart, able to reason about extremely complex things, but they have often only learned just enough programming to solve the immediate problem they're working on and rarely need to maintain code past executing it once or twice to generate the data for their paper. So functions that are thousands of lines long with tons of mutable global state, loops nested halfway across the screen, no error handling, hacks like `eval`-ing strings because no one ever told them what a hashtable was, etc. The main difference from what OP has described is that despite those problems, the smart scientists are usually not hard to work with or stubborn about wanting to add unecessary complexity; learning "proper" software development was just never a focus for them.
- jrumbut 4y agoThe other thing I've run into in a similar context is perfectly performed manual work ("you didn't know about the merge function, so you manually typed the 15,000 rows of data into Excel?" And invariably, after coding it up, no errors found) or reimplementing things you could easily find in open source ("you didn't know about the merge function, so you found a textbook on relational algebra and implemented your own RDBMS in VB macros?" Again, a bug free toy database). Some people are just smarter/faster/better than the rest of us, but they're no better at reading programming language documentation.
- hooverd 4y agoHonestly, the NIH should give grants for software engineers to come in and clean things up.