1
$\begingroup$

I'm interested in majoring in statsitics in my university as an under-grad. I am wondering whether I need to be a good programmer to do statistics because I really struggled in python and java even though I studied them for 1.5 years.

$\endgroup$

closed as primarily opinion-based by Greenparker, whuber Jun 5 '16 at 21:21

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • $\begingroup$ What do you mean by job for "statistician"? This could range from "data scientist" that does lots of coding and "big data" stuff, to person who makes all the time the same PowerPoints with tables and graphs from SPSS... It really depends on industry and your aspirations. Moreover: people who are good at programming usually aim at the positions that require it, and the ones who are not, do not. $\endgroup$ – Tim Jun 5 '16 at 19:49
  • $\begingroup$ This is pretty opinion-based: maybe we should make it wiki? $\endgroup$ – Tim Jun 5 '16 at 19:51
  • $\begingroup$ Closely related thread: stats.stackexchange.com/questions/195034/… $\endgroup$ – Tim Jun 5 '16 at 20:09
  • 1
    $\begingroup$ @Tim, I can't think of a statistician position in the industry that requires no programming whatsoever. Maybe in academia? $\endgroup$ – Aksakal Jun 5 '16 at 20:14
  • 3
    $\begingroup$ 1) What is a statistician's job, is it strictly defined? 2) good programmers in a specialized statistical language/syntax or in a general / low level one (such as С++)? 3) Is good programming an ability to implement anything or to implement something efficiently (fast code etc.)? $\endgroup$ – ttnphns Jun 5 '16 at 20:36
6
$\begingroup$

You increase your chances of getting hired in the industry very significantly if you can code well. You will also be able to ask for much higher salary. Overall, if you keep struggling then your options will be very limited not only at the start but throughout your career.

Now what is a "good programmer"? You don't have to be as good as professional programmers, but you must be able to code any algorithm you came up with. It may not be the best written code, but it must do what's required in terms of the logic of the algorithm. For a statistician that's the definition of "good" in my opinion. You should be able to implement any statistical algorithm and method that you studied so far, that's your measure of how good you are.

UPDATE: To your struggles with Java: that's not a typical stat language, so I wouldn't hold this against you. Python is used in data science a lot, but look at who uses it: mainly people with some kind of a programming background. Some statisticians like Python, of course, but it is (like Java and C++) a system programming language. I'd call it a "proper programming language", i.e. one that even pro programmers use without reservations. What I'm trying to say is that mere fact that you're struggling with these two particular languages is not yet a sign of an issue. However, if you struggle with programming in any language (any that you tried) then you have to think about the future in this profession seriously.

$\endgroup$
  • 3
    $\begingroup$ As about "good" programmers: actually some argue that statisticians are usually very bad programmers and many statistical packages are badly written ;) $\endgroup$ – Tim Jun 5 '16 at 19:52
  • 1
    $\begingroup$ I would add that having good programming and computer skills more generally, like understanding closures and JSON, is really useful. For anybody, really, but especially for anybody who does data analysis (as opposed to purely mathematical statisticians). $\endgroup$ – Kodiologist Jun 5 '16 at 19:52
  • $\begingroup$ @Tim, one could argue then that if they are bad programmers, then they are not "doing their job well" as the OP described. I think being a decent programmer is essential in modern statistics. $\endgroup$ – StatsStudent Jun 5 '16 at 19:53
  • 1
    $\begingroup$ The acme of achievement for many statisticians is being able to write a script that works for a specific problem, runs from start to finish, & is clear & non-redundant. Then the code serves as a document of precisely what was done, & we ourselves or knowledgeable colleagues can use it to help explain the analysis or easily adapt it to similar problems. But anything like writing software requires anticipation of what the program will do in a wide range of circumstances; & it's not, or shouldn't be, surprising, that we're not often very well prepared for it. So I'd reply to @Tim that ... $\endgroup$ – Scortchi Jun 6 '16 at 12:06
  • 2
    $\begingroup$ ... statisticians are often quite good programmers, but usually very bad software engineers. $\endgroup$ – Scortchi Jun 6 '16 at 12:10

Not the answer you're looking for? Browse other questions tagged or ask your own question.