(no title)
throwaway57023 | 6 years ago
Also, most programs usually have a maintainer team that's exactly one (1) person strong, and that person is usually an underpaid grad student or postdoc with a billion other tasks at hand and not much time left for that issue you opened three months ago.
On the other hand, hey, you never have to fear the dreaded 'code review', so it's not all bad.
GordonS|6 years ago
Hah, not always.
A short while back I was tech lead for an AI project, the goal of which was to reduce the weight (and, ergo, cost) of large steel structures.
The megacorp consultancy I work for decided to staff this project only with AI people, about half of which were fairly fresh graduates. Now, they all had a great grasp of AI, both old-skool (neural networks, genetic algorithms, particle swarm optimisation etc) and more recent innovations. But these were not developers.
The customer was a Microsoft shop, and mandated that we use C# (which was cool, it's my favourite language!), but it was immediately apparent that the "devs" had only basic training in Java. The code was a fcking mess, and we had numerous issues around software engineering concerns such as source control, DevOps and processes - the customer eventually canned the project due to the bugginess of the platform. They really did have some brilliant minds on the project, but those were not the minds of software engineers.
On a more recent AI project, unusually I was consulted first on staffing, and I insisted on a mix of AI research types and* software engineers - unsurprisingly, this project was far more successful.
dEnigma|6 years ago
ujuj|6 years ago
The reasoning is that since it's research code that is used to get results only and not be used in a product, doing tests is not useful. I disagree completely: being sure that your implementation of your model or equations is exactly doing what is should is very important to evaluate your model, and yield correct results.
dimtion|6 years ago
Code review should not be about being right or wrong, but as a team to provide the best work possible. People should accept that everybody make mistakes, and the goal of the environment/society is to minimize the consequences of those inevitable mistakes, not judge individuals based on arbitrary metrics.
ShroudedNight|6 years ago
lupire|6 years ago
chimi|6 years ago
DataWorker|6 years ago
pishpash|6 years ago
analog31|6 years ago
They may also be the only qualified programmer in their group. A lot of research, while officially housed in some specific department, is quite multidisciplinary.
I work in an R&D group in industry, and our team invited a software engineer to join our group and teach us better practices.
macspoofing|6 years ago
Depends on which industry. For example, writing code in research is actually a lot like writing Excel macros in Finance.
unknown|6 years ago
[deleted]
DougBTX|6 years ago
That sounds like a group of people willing to cut corners to get approval from their boss... which isn’t all that different from the incentives in “industry”.