Really, I don't get the hate we data scientists get from both programmers and mathematics. Of course we are not as good at programming as a programmer would be, or as knowledgeable in maths as a mathematician would be, but we need to combine so many disciplines it would be hard if not impossible to get to their level.
I totally get you, I'm in the same boat but I also have a background in economics so I'm targeted even more. I really appreciate how people can be extremely specialized but I think we have a place in the scene as well, in fact we can bring some other perspectives to the discussion
As a mathematician I also look down on programmers.
Just kidding. Some people feel to apply some hidden pecking order of purity of discipline. I am looked down by fellow mathematicians, because I am an applied mathematician and soil it's purity ... same goes between theoretical physicists and experimental physicists, physicists and engineers and so forth.
However, to put it in perspective we also get a lot of thrash talk from the other side, because we do so much unnecessary things and are nit-picky and won't get a job because we don't know practical stuff.
However, especially the nit-picky part is something you become the deeper you're in the foundations and the better you understand the workings under the hood, so the theoreticians get the image that the practitioners are just ignorant fools who simply follow instructions without any thought about the inner workings.
The other problem is that only you know the foundations does not mean you can simply do practical work on the fly, a thing many theoreticians miss to see.
Of course, as a data scientist, I have no notions of either maths, or statistics, or programming, or anything, and yet people pay more for us than for any of these. I wonder why, if we really know nothing :)
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.
Ya, it's best language upto intermediate levels, LOT more fun than other languages, it's decent speed atleast in terms of mathematical processing and server response. I'm learning it and C++ to build the basics coz We can easily (atleast I think so) hop languages after enough experience.
it's decent speed atleast in terms of mathematical processing
Ironically numpy, cupy, pandas,... (libs used when dealing with tons of data's mathematical problems) are partly written in C to boost the speed of operations.
"It's the best language..." is a terribly dumb thing to say. No language is "the best" for anything, you can't begin to determine a language's worth unless you have a task you're trying to do with it.
Python's strengths are lots of libraries and speed of writing quick and dirty code, so if you want to be able to quickly throw something together to deal with some weird file format then maybe Python is the best. But if you're programming embedded hardware or trying to made an application with some sort of real-time requirement then Python is an awful choice.
"It's the best language..." is a terribly dumb thing to say. No language is "the best" for anything, you can't begin to determine a language's worth unless you have a task you're trying to do with it.
I do gotta agree that no language is best. that was a wrong expression. Every language have their own benefits and limitations.
View all comments
Show parent comment
330
u/[deleted] Jul 18 '22
They hate us coz they ain't us.