Data Science and the need of programming?

Click For Summary

Discussion Overview

The discussion revolves around the role of programming in data science and machine learning careers, particularly from the perspective of individuals with backgrounds in computer science and related fields. Participants explore the balance between theoretical work and practical coding tasks, as well as the nature of jobs in this domain.

Discussion Character

  • Exploratory
  • Debate/contested
  • Technical explanation

Main Points Raised

  • One participant expresses a desire to focus on theoretical aspects and proofs rather than application coding in data science roles, questioning the extent of programming required.
  • Another participant, with extensive experience, suggests that while data science is a promising field, many jobs involve mundane coding tasks rather than exciting theoretical work.
  • A third participant shares experiences from two data science jobs, noting that one role involved minimal coding and algorithm design, while the other required more coding but still relied heavily on existing statistical methods.
  • There is a sentiment that many in software prefer prototyping and proofs of concept, but the reality is that companies prioritize the development of stable, marketable products, which can be less engaging.

Areas of Agreement / Disagreement

Participants express differing views on the balance between theoretical work and practical coding in data science roles. Some emphasize the desire for more theoretical engagement, while others highlight the prevalence of routine coding tasks in actual job settings. The discussion remains unresolved regarding the ideal nature of work in data science.

Contextual Notes

Participants mention limitations in their experiences, such as reliance on off-the-shelf algorithms and the challenges of transitioning from proofs of concept to robust applications. There is also a recognition of the variability in job roles and expectations within the field.

Chubigans
Messages
19
Reaction score
0
Hello. I have an undergraduate degree in CS and I'm beginning grad school to study AI and Machine Learning.

I've spent a lot of time doing "software engineering" (dealing with design patterns, web development, QA, Agile processes, SQL, GUI development) and I'm really sick of it. I don't use much of my computer science knowledge as a programmer. I studied CS because I find beauty in algorithms, but there's not much theory in writing web apps or .NET apps.

I love writing proofs, analyzing algorithms and data structures, writing python and LISP code, etc. I am really into *proofs of concept* as opposed to *ultra robust software*... I like to deal in ideas, not code. Love to read and write papers, love to share ideas and teach... so I'm looking for a career that involves that.

As a data scientist / machine learning engineer with a Ph.D. in CS, would I be expected to write a lot of "application" code, or would I spend the majority of my workday in the realm of theory, creating new ideas and hacking together prototypes in scripting languages?

Is it essentially just an advanced software development job?

Attached is an example job posting from CL:
http://sfbay.craigslist.org/sfc/sci/3722725371.html
 
Last edited by a moderator:
Physics news on Phys.org
I'm a software engineer with a computer science degree & over 20 years experience. Like you I'm a bit of a guru on theoretical computer science.

Calling yourself a "data scientist" is the way of the future. It gives a catchy marketing title for those of us with hard science degrees.

You are right, the majority of the code in this world is boring. Most of the world is business producing mundane things, who need mundane software. The "interesting" jobs I've had have been rare.
There is some non-boring work like research or startups, but they are not too many jobs.

Some ideas for less boring jobs:
- specialist govt departments with technical needs eg defence, defence contractors, environment, energy
- anything to do with statistics eg govt depts
- engineering-related jobs
- university - non-academic programming jobs

For fun read http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer/
 
I have a phd in physics and have worked two jobs in the "data science" type description. In the first job, there was very little need for coding, but there was also very little in the way of algorithm design. Mostly, it was tiny tweeks of off-the-shelf statistical algorithms, that sort of thing. To get an idea of how far from a robust-software environment, one of the "production models" that predated me was a series of excel notebooks, with data transferred via copy-paste.

In my newer job, I still don't do much in the way of algorithm design, but I do a fair amount of coding. For most business problems, existing methods work very well, so off the shelf statistical models (in R or any of the other statistical packages) are the name of the game. Its less like research into machine learning and more like applied machine-learning. But we do provide finished models in various forms for the client ,which is closer to robust-software, so much more of my time is spent on IT solution/routine coding type stuff. I spent most of yesterday coding up various unit-tests.
 
Last edited:
Almost everyone who works in software would prefer to do "proofs of concepts" and do the fun part of prototyping a new idea and then jump to a new project. The problem is there is no money in that for a company. Proof of concepts don't make money, deployed products do...

On real world software projects the devil is in the details. Coming up with a proof of concept is the easy part. Implementing that proof of concept into a marketable, usable, and stable product is the hard part. It also is the more boring part.
 

Similar threads

  • · Replies 30 ·
2
Replies
30
Views
11K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 4 ·
Replies
4
Views
2K
Replies
4
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 29 ·
Replies
29
Views
5K
  • · Replies 68 ·
3
Replies
68
Views
11K
  • · Replies 18 ·
Replies
18
Views
6K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K