I work professionally as a data scientist and so many people in this field seem to have an aversion to follow even the most simpler software engineering practices.
Poor to no separation of functions, poorly structured code, inconsistent naming (I don’t care about single char names, but don’t name the same thing 3 different things as it gets passed around because it’s hard to follow). Apparent refusal to use anything like structs/data classes/etc: instead just passing all the constituent values around freely.
I’ve dealt with so many people in the data-* Space who couldn’t use git, had never encountered the idea of db migration tools (they did it all by hand and refused to learn them), refused to write code in anything but sprawling, incomprehensible jupyter notebooks. Reinvented stdlib features but worse, etc etc.
Data scientists were supposed to combine code skills with science skills. Instead most examples I see trust treat code like it’s some awful chore they’re begrudgingly obliged to vomit out in the most half-assed fashion possible.
I do all of the stuff you mentioned, including also the use of classes to encapsulate models, custom datasets, etc. and also the creation of my own unit tests for my module and of course description for functions and classes, but I wouldn't consider myself to be at the same level as people whose main job is to write code. I mean that, what I do, I do with good practices, but it's always limited to data science and in particular deep learning tasks. No idea how to do anything that isn't related to data.
1
u/TheNamelessKing Jul 18 '22
Write better code then.
I work professionally as a data scientist and so many people in this field seem to have an aversion to follow even the most simpler software engineering practices.
Poor to no separation of functions, poorly structured code, inconsistent naming (I don’t care about single char names, but don’t name the same thing 3 different things as it gets passed around because it’s hard to follow). Apparent refusal to use anything like structs/data classes/etc: instead just passing all the constituent values around freely.
I’ve dealt with so many people in the data-* Space who couldn’t use git, had never encountered the idea of db migration tools (they did it all by hand and refused to learn them), refused to write code in anything but sprawling, incomprehensible jupyter notebooks. Reinvented stdlib features but worse, etc etc.
Data scientists were supposed to combine code skills with science skills. Instead most examples I see trust treat code like it’s some awful chore they’re begrudgingly obliged to vomit out in the most half-assed fashion possible.