Programming vs. Data People Skill Sets

Programming takes a different mind set than Business Intelligence.  For one thing, when you program, for either Client Server or Web based, you have many things to worry about.  The user interface, is it intuitive enough for the user.  Functionality, does the program perform the required actions.  Networking, does the app use limited networking resources by limited the calls back to the server.  Database, have I created proper SQL statements and are they efficient.  Security, is my app prone to SQL Injections or some other hack.  Deployment, will my app run on multiple browsers or need additional plug ins/ DLLs to work properly.  Will it work on Mobile devices.  Plus they need to know the programming language, SQL, perhaps object oriented methodology, encryption, middle tier programming, etc.  Hence,  programming apps is no easy task.

Now take Business Intelligence.  Must know data, data modeling, SQL, coding efficiencies, DBA maintenance, ETL, Reporting, Dashboards, KPI, Analytics, Big Data, Hadoop, R, Map/Reduce, Hive, Pig, Oozie, SQOOP, SharePoint, Visual Studio, etc.  Challenging to know everything.

Yet different from Programming apps because there's a lot of Wizards built into the BI applications, you can even use Wizards to build you SQL if the truth be told.  When you get into OLAP cubes and MDX, you're talking about steep learning curves.  Once you cross over to Hadoop, that goes up tremendously.  Map / Reduce is something new and requires programming skills, which many BI people never learned.  There's the administration part which is no easy task and usually involves training.  Sure you can download a single node cluster to play around with, but that's not the same thing as setting up a 10 node cluster, administering, setting up permissions, loading the data, writing the jobs, exporting the data, doing the analytics, etc.

To summarize, Data people have difficult jobs as well, except the challenges they face are somewhat different than programmers.

Either way, text box learning can get you out of the gate.  Once you encounter real world problems, you're going to have to use your noggin, logic and problems solving skills.

And never stop learning!

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.

Thoughts to Ponder