Live data from Hacker News

Is “data scientist” the new “programmer”?

blogs.harvard.edu

231–240 of 246 posts

Re: Is “data scientist” the new “programmer”?

#231

Earlier quoted context omitted.

I feel like you are roughly describing research programmers versus system administrators or operators in academic computing environments. I think a big difference between research programmers and production/ops people is that as researchers we often chase a transient goal. Build some complex and horrible integration to compute a result or put something in a paper. We used to call these Rube Goldberg machines rather t…

I’m not referring to transient research prototypes, but to robust long-lived systems needed for experimentation and reproducible results tracking, and services that are directly customer facing. We are often required to create new services and functionality because it is how our company can grow, and we have to have ease of access to experimental working space, with freedom to do things like custom compilations of ML…

We may be talking past each other. I am on the research side of academic computing/informatics and have faced these struggles my whole career, encountering some very reluctant IT divisions.

We have had to bite the bullet and use colo facilities to self-host internet-facing deployments that the overhead-funded IT groups would not touch with a ten foot pole. From these experiences, I also acquired a more nuanced perspective on the IT division perspective and constraints, and how they derive from overall organizational policy and economics. We also had funny situations where we tried to help other PIs benefit from our new-found independence, and immediately regretted it. They did not understand what self-hosting means. I think anybody trying to toss integrations over the fence to an ops team needs to have an extended tour of duty trying to operate their own solutions in production WITHOUT assistance before they form bold opinions about operations constraints.

When there are strong time-to-market constraints (which includes publishing papers in academics), you are forced to find solution points that are different than if you are planning to run something for long periods at low overhead and low accumulative risk. These solution points also have to take into account the staffing and resources for that ongoing production.

Those things like bleeding edge libraries and assumption-breaking deployment constraints are the headache for ongoing operations and maintenance. It's not enough to have an existence proof that some complex integration can be built and passes its tests. You need a plan for how all the components will be maintained, patched, and upgraded. You need contingency planning when some of those bleeding edge components are going to become deprecated. You need to consider what staff capabilities are assigned to do that maintenance work or what will happen when the institutional knowledge used to form the original integration is not on-call to reintegrate it in the face of unexpected events.

Re: Is “data scientist” the new “programmer”?

#232

Earlier quoted context omitted.

My current job title is "Data Engineer", before this role I was a "Process Engineer". In my opinion those two jobs are actually pretty similar. When I was working in process engineering I was trying to optimize the outputs from our industrial process on a day to day basis in this role broadly speaking I try to optimize the data extracted from the same industrial process. Mostly I'm concerned with how can we extract d…

What I would consider the difference between an engineer and not engineer (I am not an engineer) is delivering a qos or sla driven by measurement of tolerances and either empirical or imputed information from existing qos or tolerance information... Not necessarily the optimization part. Everyone does optimization to some degree (possibly negative) but not everyone is an engineer.

I think of engineering as the practical counterpart to science. Science is finding patterns/uncovering truths/building and testing models; engineering is the deployment of technology to fulfill an objective.

Re: Is “data scientist” the new “programmer”?

#233
post #225

Earlier quoted context omitted.

Why do you compare point to point, it is meaningless? The result for 0.1 + 0.2 shows 0.3. It doesn't show you wrong result. If you print it prints 0.3, nothing else. Why do you compare point to point? I have never once in my Statistics education compared point to point. You always need to see the probability of the result if it is within 2 points. But if you want to compare use all.equal(0.1 + 0.2, 0.3)

I thought that's what you mean by "equal". It didn't appear to me that you were merely talking about the default formatting of numbers printed on the REPL, which is utterly inconsequential to developing and porting applications.

R is not used for developing applications. https://www.r-project.org/about.html

Re: Is “data scientist” the new “programmer”?

#234
post #77

Earlier quoted context omitted.

Not on my R: > (0.1 + 0.2) == 0.3 [1] FALSE

The result for 0.1 + 0.2 is 0.3. https://imgur.com/xWpx1Cg Why do you compare point to point? I have never once in my Statistics education compared point to point. You always need to see the probability of the result if it is within 2 points. But if you want to compare use all.equal(0.1 + 0.2, 0.3)

    > all.equal(0.1 + 0.2 + 0.000000003, 0.3)
    [1] TRUE

Re: Is “data scientist” the new “programmer”?

#235
post #183

Earlier quoted context omitted.

In Python 0.1 + 0.2 is not equal to 0.3 because the result is 0.30000000000000004. In R 0.1 + 0.2 is equal to 0.3.

Not only is this technically wrong, but Python has a decimal module for performing these kinds of calculations. It uses floats/doubles for the native float type which produces exactly the type of results you see above.

What is the result of 3/2? In R it is 0.5. In Python it is 1.

Re: Is “data scientist” the new “programmer”?

#236

Earlier quoted context omitted.

I sometimes wonder if programmers instinctively overcomplicate things in interest of collective job security. Some of the stuff I've seen in (particularly awful) Java code bases is perplexing to the point where it seems intentional.

It's more likely the natural entropy of code - it's easy to add stuff to a system in a way that makes it more messy; and if the system already is a big mess, then it's much harder to do non-messy additions and the bigger mess it is, the harder it is to start cleaning it up.

I refer to this as the "spaghetti law of attraction". The burden of refactoring things gets higher and higher and no one wants to touch it. So they just add another try-catch block and do some side effect and get the PR merged.

Re: Is “data scientist” the new “programmer”?

#237
post #183

Earlier quoted context omitted.

Not only is this technically wrong, but Python has a decimal module for performing these kinds of calculations. It uses floats/doubles for the native float type which produces exactly the type of results you see above.

What is the result of 3/2? In R it is 0.5. In Python it is 1.

In Python 3 it's 1.5.

Re: Is “data scientist” the new “programmer”?

#238
post #225

Earlier quoted context omitted.

I thought that's what you mean by "equal". It didn't appear to me that you were merely talking about the default formatting of numbers printed on the REPL, which is utterly inconsequential to developing and porting applications.

R is not used for developing applications. https://www.r-project.org/about.html

This entire subthread is under a comment talking about "productionalizing" code developed in R. If you want to make an argument that R should not be used to make products, but only as an interactive notebook and to make nice plots, maybe make that instead of just mentioning small UI details.

Re: Is “data scientist” the new “programmer”?

#239

Earlier quoted context omitted.

What I would consider the difference between an engineer and not engineer (I am not an engineer) is delivering a qos or sla driven by measurement of tolerances and either empirical or imputed information from existing qos or tolerance information... Not necessarily the optimization part. Everyone does optimization to some degree (possibly negative) but not everyone is an engineer.

I think of engineering as the practical counterpart to science. Science is finding patterns/uncovering truths/building and testing models; engineering is the deployment of technology to fulfill an objective.

Yes this is my view as well Engineering is applying theoretical knowledge to achieve practical solutions.

In my world, which is industrial manufacturing there are scientific theories - fluid dynamics, thermodynamics, kinetics etc. which govern the fundamentals and limits of the process.

As an engineer your take this knowledge along with your own intuitive experience and work to ensure the reactor is operating at peak efficiency.

Re: Is “data scientist” the new “programmer”?

#240
post #183

Earlier quoted context omitted.

Not only is this technically wrong, but Python has a decimal module for performing these kinds of calculations. It uses floats/doubles for the native float type which produces exactly the type of results you see above.

What is the result of 3/2? In R it is 0.5. In Python it is 1.

You mean, in Python2, which uses integer division by default, it's 1 (as expected), and in Python3, which uses float division by default, it's 1.5.

If R is giving you 0.5, you should find another language (I assume you meant 1.5?)

Post reply on HN