Invariant Properties

  • rss
  • Home

Learning R

Bear Giles | October 27, 2014

It’s well-known that you must “always be learning” to survive in this industry over the long term. Far too many people have found a comfortable niche, stayed in it for years, and then found themselves struggling to find a new job after the inevitable end of the job. It doesn’t matter how good you are when the company goes out of business, the company shifts shuts down your department because of declining sales, etc.

The demand for the old technology doesn’t go away, of course, but it can be seriously reduced. It’s not fun when there’s only two jobs for every three people looking and the others are willing to work for less.

Survivors also know that half of the battle is figuring out what to study. It looks like the average lifetime of a technology is about 15 years. That doesn’t mean C or Java (or Fortran or Cobol) goes away after 15 years but greenfield development starts to move into new technologies. Sometimes it has a new name (e.g., C morphing into C++), sometimes it does not (Java becoming functional or Cobol becoming object-oriented). It takes 3-5 years to really understand a technology so it sounds like you have plenty of time to prepare but you never know which technologies will take off and which will be stillborn. It’s tempting to stay close to what you know, e.g., learning Groovy in addition to Java, but the real game changers take off in entirely different directions. Maybe the industry stays with functional Java instead of moving to Scala but I’m glad I studied the latter since it makes the former a lot clearer.

This is my long-winded way of saying that I’m currently studying the GIS, R and Python triplet. Well, the first two at the moment. Many of my contracts over the past few years have involved a spatial component and it’s a natural extension to ask what more can be done. R is widely used for analysis and presentation. Python, for whatever reason, keeps coming up in connection with the first two techologies.

I’ve found a good resource for learning R – the Data Science specialization at Coursera. Don’t be misled by the fact that only one course has ‘R Programming’ in the title – of the three substantial courses I’ve taken all have required learning R in more depth in addition to learning how R is actually used in practice.

Coursera also has classes on GIS, e.g., From GIS to Google Maps to Spatial Computing, but they don’t appear to be offered on a regular basis. That makes it hard to give recomendations.

(Udemy has introductions to Python but they appear to be intended as introductions to programming in genral. I haven’t found a good resource for people who already know how to write software in other languages.)

R is… interesting. It clearly comes from a different perspective than every other language I’ve used, including PostScript. That doesn’t mean it’s bad, it just uses a very different conceptual framework. And that’s a Good Thing since it’s forcing me to look at problems from a new perspective – and maybe I’ll how I can solve problems with a quick call to an R script instead of days of effort in Java et al. It’s not “travel broadens the mind” but I would like to think it will make me a better developer overall.

Categories
Uncategorized
Comments rss
Comments rss
Trackback
Trackback

« AWS certifications When recruiters start calling you in your dreams… »

Leave a Reply

Click here to cancel reply.

You must be logged in to post a comment.

Archives

  • May 2020 (1)
  • March 2019 (1)
  • August 2018 (1)
  • May 2018 (1)
  • February 2018 (1)
  • November 2017 (4)
  • January 2017 (3)
  • June 2016 (1)
  • May 2016 (1)
  • April 2016 (2)
  • March 2016 (1)
  • February 2016 (3)
  • January 2016 (6)
  • December 2015 (2)
  • November 2015 (3)
  • October 2015 (2)
  • August 2015 (4)
  • July 2015 (2)
  • June 2015 (2)
  • January 2015 (1)
  • December 2014 (6)
  • October 2014 (1)
  • September 2014 (2)
  • August 2014 (1)
  • July 2014 (1)
  • June 2014 (2)
  • May 2014 (2)
  • April 2014 (1)
  • March 2014 (1)
  • February 2014 (3)
  • January 2014 (6)
  • December 2013 (13)
  • November 2013 (6)
  • October 2013 (3)
  • September 2013 (2)
  • August 2013 (5)
  • June 2013 (1)
  • May 2013 (2)
  • March 2013 (1)
  • November 2012 (1)
  • October 2012 (3)
  • September 2012 (2)
  • May 2012 (6)
  • January 2012 (2)
  • December 2011 (12)
  • July 2011 (1)
  • June 2011 (2)
  • May 2011 (5)
  • April 2011 (6)
  • March 2011 (4)
  • February 2011 (3)
  • October 2010 (6)
  • September 2010 (8)

Recent Posts

  • 8-bit Breadboard Computer: Good Encapsulation!
  • Where are all the posts?
  • Better Ad Blocking Through Pi-Hole and Local Caching
  • The difference between APIs and SPIs
  • Hadoop: User Impersonation with Kerberos Authentication

Meta

  • Log in
  • Entries RSS
  • Comments RSS
  • WordPress.org

Pages

  • About Me
  • Notebook: Common XML Tasks
  • Notebook: Database/Webapp Security
  • Notebook: Development Tips

Syndication

Java Code Geeks

Know Your Rights

Support Bloggers' Rights
Demand Your dotRIGHTS

Security

  • Dark Reading
  • Krebs On Security Krebs On Security
  • Naked Security Naked Security
  • Schneier on Security Schneier on Security
  • TaoSecurity TaoSecurity

Politics

  • ACLU ACLU
  • EFF EFF

News

  • Ars technica Ars technica
  • Kevin Drum at Mother Jones Kevin Drum at Mother Jones
  • Raw Story Raw Story
  • Tech Dirt Tech Dirt
  • Vice Vice

Spam Blocked

53,793 spam blocked by Akismet
rss Comments rss valid xhtml 1.1 design by jide powered by Wordpress get firefox