How to Become a Data Scientist – On Your Own (2015)
datasciencecentral.com
datasciencecentral.com
Its regressive and completely out of step with the supposed meritocracy we like to think we follow in tech. Its also the path towards cartels. I get the feeling a large portion of data scientists would like to create the American Data Scientist Association, with credentials and bar tests.
I think I learned more in an hour than I did in the past week, thanks to this series. The author actually bothers to explain concepts (that turn out to be fairly simple btw) like 'gradient descent'. Highly recommended read if you have the time and interest. Just to whet your appetite:
...current machine learning algorithms aren’t that good yet — they only work when focused a very specific, limited problem. Maybe a better definition for “learning” in this case is “figuring out an equation to solve a specific problem based on some example data”.
Unfortunately “Machine Figuring out an equation to solve a specific problem based on some example data” isn’t really a great name. So we ended up with “Machine Learning” instead.
Second, "cost" is not new jargon. What is relatively new is thinking about probabilistic modeling in terms of abstracted cost functions, but only relatively.
There are dozens of tutorials, courses, etc that are clear and don't introduce unnecessary jargon. Nobody is trying to keep you out of data science.
As for the term "machine learning," it's because what we today call ML gree out of actual AI research. It so happened that a lot of progress was made very quickly by the ML researchers, so the ML-oriented terms became popular as some older statistics terms were subsumed.
Now, as you get into advanced topics of any field, you'll start to find difficult concepts, but 90% of the time, the foundation just appears hard because of the language you don't know.
Also, keep in mind Machine Learning is not "Machine Figuring out an equation to solve a specific problem based on some example data”. Machine Learning is a subset of AI which focuses on teaching the computer how to perform a task without explicitly programming the task execution logic. Currently, the known practical technique of doing so can be described as "Machine Figuring out an equation to solve a specific problem based on some example data”. This might not be true in the future, as better ML techniques are researched and discovered.
Also, it's good to keep in mind ML is a software engineer discipline, and data scientist just benefit from modern software, the same way Excel created jobs, this technique of ML created jobs. In the future, different ML techniques might create more jobs or replace the current ones. This puts the data science field at the mercy of ML research. Already I think it's been hard to keep up as a data scientist, since ML research is being financed greatly and advanced quickly.
I know some people who I would qualify as scientist without a PhD, but they are extremely rare. On the other hand, I've seen countless unqualified people apply and get (lousy) data science job because the "title" itself is very vague. I'd be more inclined to hire a PhD (who's been through a fairly painful scientific training) in, say, material science, then train her to data/programming, than get a good programmer and train her for science.
I'm not for a "Data Scientist Association"[0], but I'm not for diluting the value of all the effort I made to effectively become a data expert AND a trained scientist.
[0]Rant: there is a world outside America.
Start from the start though: epistemology is grossly underrated, but the scientific method (aka: calling bullshit) is my most valuable tool.
Its a six part series, and so far on the first two parts have been published:
Part 1: The Best Intro to Programming Courses for Data Science [1]
Part 2: The Best Statistics & Probability Courses for Data Science [2]
Any feedback would be appreciated.
[1] https://www.class-central.com/report/best-programming-course...
[2] https://www.class-central.com/report/best-statistics-probabi...
Every data scientist that's worth anything has either done a PhD or would be capable of doing a PhD, the distinguishing characteristics between PhD's and standard coursework is the incremental effort navigating uncertainty.
In the end, Data Science entails a great deal of uncertainty that makes most people uncomfortable.
I honestly do not understand why there appears to be so much desire to get into Data Science when becoming a Programmer is equally lucrative and substantially easier to bootstrap into.
Edit: Seriously, programmers make as much if not more than Data Scientists for what ends up being substantially less stressful work (all things being equal). I suspect if the people pursuing DS actually ended up doing the work and living with the responsibilities they'll regret their time investments.
there isn't a silicon ceiling on a ds pay like there is with programmers, and I disagree they are equally lucrative. I have never seen ds roles that were not substantially paid more than programmers; although with the explosion of the ds role, there are plenty of sub-par ds positions out there. (according to glass door, the average programmer makes 70k, the average ds makes 128 in san francisco). That disparity even holds for large tech like facebook.
as far as 'less stress', I believe that is subjective. some people would like to program, others more ds stuff, and often ds and programmers get to do a little of both.
CTO?
Have you worked in or near a c-suite before? Because both of those statements don't align with the reality that I've observed.
After working closely with dozens of tech companies, I have to say I've never seen a single "Chief Data Scientist." I also can't say I've even heard of a single company that has one (I'm sure some exist though). I have seen a Chief Technology Officer in virtually every tech company, which is essentially "programmer role in the c-suite" for the purposes of this discussion.
Furthermore, in the companies I've worked with that had in-house data scientists, they always treated them less well than the software engineers developing products.
I guess what I'm trying to say is that your statements don't match my experience, or the experience of anyone I personally know in this industry, and I'd be interested to see where your experience is coming from.
You're right, a CTO doesn't usually write software, a CTO manages programmers who write software (or VPs managing teams of programmers, etc). But a CTO generally comes from a coding background, and how much data science do you think a "chief data scientist" is really doing, as opposed to managing other data scientists? People in the C-Suite typically don't really do anything other than manage people managing others in the same background they came from.
I think the spirit of my point still stands, pedantry aside. There clearly exists a commonly used and recognized c-suite role for programmers, whether they use their programming ability hands on or in managing others. It's not at all clear to me that there is a commonly used nor well recognized c-suite role for data scientists that would be distinct from CTO.
As a category of employee and work division, data scientists have not yet become distinct enough from cross-polinated disciplines to have that sort of representation.
I don't know of many companies that have a "Chief Data Scientist" that reports directly to the CEO. In all honesty, they're more likely to report to a CTO.
Also, there's a reason why the C-suite people have the word "Officer" in their title as they're officers of the corporation and that implies additional legal responsibilities. It's not necessary that it be in their official title, but it typically is.
John Carmack, CTO of Oculus and programmer extraordinaire, to bring our TV user interface to the Gear VR headset.
Well, honestly, John did most of the development himself(!), so I've asked him to be a guest blogger today and share his experience with implementing the new app.
I think any time you're talking with c-suite type people, the stress level is pretty high. That's been my experience anyways.
The avg entry level software engineer makes 110k in San fran, and 95k in the US as a whole.
It's 128k in San fran for a data scientist and 113k in the US as a whole.
I'd suspect the Data Science entries are skewed upwards, as most of them are employed by big companies, while software engineering has a larger small to medium sized employment prospect which probably bring down the average in comparison, but brings more job opportunity.
I think you searched for programmer on glass door. Programmers don't even need a degree, just a boot camp and you're good to go. I'm not sure data science has an equivalent, maybe business analyst? That averages 69k in San Fran.
Also, if you look for Machine Learning Engineers, a specialty of Software Engineering, they make more then Data Scientist, with a 140k avg in San Fran and 122k national.
I dunno which is easier to get into with a hard science background, but it took me about 1 yr of being an analyst to get a good ds job.
That is the only good answer to why one would want to be a DS, if you don't find the work interesting you'll never succeed.
The key is that the degree has to involve actual work with messy big real-world data with a lot of uncertainties. It's possible to build that kind of experience on your own without doing an advanced degree, but it seems to be rare based on candidates who apply to work with us.
Olson is a great one, especially in GIS here is my contribution: https://twitter.com/randal_olson
I would love to have a job doing Data Science: I have a PhD in a relevant field so I recently pushed down hard on this area. I took the Coursera course, I'm learning all the various Python libraries, I learned R, and do anything I can every day to pick up a skill here or there. I even have a "Kaggle" account. What I don't have are job leads because there aren't actually that many jobs and the ones that do exist say "data science" but really mean other things.
I would argue not programmer, but perhaps computer scientist.
They are fundamentally different things to me. Programming, and its human facilitator, the programmer, can certainly be learned without a degree. I can teach myself to program fairly well in say, Python, in a few months.
What I can't teach easily, in my opinion or rather what can't be taught easily without some uni resources (going to college, maybe not, but to be honest i think the learning format has some advantages here), is say how to proof formal methods, Computational geometry, higher levels of information theory. Quantum Computing. all realms of computer science. Yes, lots and lots of CS depts teach you how to program in languages, but the ones I find that don't burn out in the long term aren't merely programmings, but have a strong understanding of the discrete mathematics that make up a lot of our modern systems.
I could go on, but I feel like its going to go into rant like an old grump territory.
I do have a bone to pick with this particular article as well:
"I will write separate articles on Data Science Books (I’ve read 127 of those in last six months)"
Unless those books are 20 pages long, you have not read them. Skimmed maybe, but completely read and logically understand the implications of those books? I have to call foul on this.
I personally learned programming on my own, and after about two years of doing it, I went back and started taking some computer science courses in data structures, discrete mathematics, algorithms as well as some other topics. I took some coursework through the University I got my undergrad from but most through local community colleges because they were 1/10th of the cost.
In my experience, I do not think you need a degree to be a programmer. You need to have extreme grit and motivation to learn it on your own.
I took the coursework after doing it because trying to learn advanced computer science topics on top of work in my own time simply wasn't working. It's not incredibly fun to learn, dissect and implement algorithms. At least for me it wasn't. Having no one to ask about advanced mathematics also sucked honestly. For those reasons, a quality education or professor is worth their weight in gold.
Even a former Master's supervisor of mine (who is officially retired) still does consulting with companies (typically game developers as he specializes in splines in computer graphics).
I'm actually in Engineering and at least in Canada, there's actually an accreditation body that reviews the engineering programs to ensure they live up to a standard. If the program meets that standard, the graduates only have to take a law and ethics exam (in addition to the experience requirement). If you're outside that system, you have to take a series of exams on the material. I know that it's different in the US, though. I believe that you do have to take a set of exams on the core material for your type of engineering as there's too many programs to properly vet all of them.