Take the 2-minute tour ×

I am a seasoned python,java,...other programmer having a (fairly advanced) mathematical education (so I do understand statistics and data mining, for example).

For various reasons I am thinking to switch to SAS/BI area (I am naming SAS because it might be, for me, a possible way to enter in BI).

My question, for whoever might have an experience of both: is it, in BI current state, worth it?

I mean, the days of big ideas in BI for business seem to be over (there are the APIs, managers think that they know what you can do with them), and my mathematical background might turn out to be superfluous. Also, the big companies now have their data organized, have their BI procedures well established, and trying to analyze it from a different standpoint might not be what they want.

Another difference is: while in Java etc. development one codes and codes and codes, I don't know if this is the case for BI; in fact, from what I read on the net, a BI (or OLAP, ...etc) developer, in a big organization, is usually in a state of standby, and does in fact little coding.

share|improve this question
Would you see BI as being a report writer or something else? –  JB King Apr 18 '12 at 16:42
add comment

3 Answers

Our company does social network analysis and used to have SAS programs which turned out to be an unbelievable PITA if you write scripts longer than 200 lines. I don't know the enterprise approach, but the basic programming language has many bugs that the SAS company won't fix (still no working unicode for many functions, etc.). It is undebuggable, unmaintainable and thus only good for short statistical throw-away scripts. The editor makes no attempt what-so-ever to support the programmer. SAS has no real variables, but only basic macros which break for many strings. There are SAS conferences where people present bloated PDFs how to solve programming issues which are trivial in any other language. Not surprisingly the majority of SAS folks learned SAS long time ago and is rather old now.

While it might have over-priced solutions for all statistical functions, the language is dead and hopeless for anything a little more algorithmic.

That's my experience, but feel free to be critical and convince yourself whether the SAS language is outdated. (Their services apart from the programming language might well be OK though)

Our company switched to Python now, so that now the computer programs do the work instead of us being annoyed by a script language from the last millenium. The scripts are a factor 80 faster.

With a cleverly designed Python framework you can do all the analysis better.

share|improve this answer
add comment

BI is a hot area right now, with the whole "Big Data" idea slowly entering the general corporate conciousness.

Be aware that it's quite different from traditional software development work. Some general characterisations follow:

  • A lot of BI work is maintenance and management of data feeds. This can be painful and laborious if you like beautiful code. It certainly gives you a fun variety of interesting challenges every day when the ETL fails :-)
  • There is also a lot of custom / ad-hoc work performing specific analyses. The best BI people are great communicators as well as great technologists, because they need to work with business leaders to identify the specific analysis required and translate that quickly into a good technical solution. This can get you good expose / access to senious leaders of your organisation if you are good.
  • You will have to manage interfaces with lots of other groups and work with lots of people to build workable solutions (internal departments, external data providers etc.). If you like this kind of thing then BI could be for you. It's a bit like EAI in this regard.
  • There is some heavy duty coding in BI (e.g. writing complex MapReduce queries for Hadoop) but it's probably the minority. The reality is generally much more mundane - using existing (imperfect) tools to try and wrangle the data into some sort of usable form.

As for specific technologies - I'm not sure I'd bet my career on SAS. It's somewhat "old school" analytics compared with the new guys, and it is expensive proprietary software (which should be a warning sign to most technologists immediately!)

I's suggest having a look around at other technologies first. Some examples to get you started:

  • Hadoop is a clear leader for Big Data style applications. More of an emphasis on the data than the analytics, but there is a big ecosystem growing around it.
  • R is a tool for statistical computing that has gained a lot of traction recently, arguably it's the open source computitor to SAS
  • Weka is cool if you want to get into data mining / machine learning. Plus it would allow you to leverage your Java skills.
  • Incanter is a pretty new solution for statistical analysis in Clojure which looks very promising. If you like the cutting edge, this is an interesting place to be!
share|improve this answer
add comment

I think one of the things you'll find is that SAS works vastly different from most programming languages. Indeed, switching between a programming language like Python and SAS is actually rather painful. The way things are organized, and I find even the way you think about things, especially data, is pretty divergent.

I'd actually argue that SAS the language is actually an extremely scriptable command line interface to a data analysis package, rather than a programming language itself. That being said, businesses are absolutely becoming more interested in being able to extract information from the mountains of data many of them collect.

If you want to hedge your bets and not be locked into a proprietary, horrendously expensive language, you could also pick up R as a language. It's closer to traditional programming languages (indeed for me going from SAS to Python made R make much more sense than then I tried a direct path from SAS to R).

share|improve this answer
@GiovanniRossi My pleasure, and good luck –  Fomite Apr 4 '12 at 17:10
add comment

Your Answer


