Saturday, February 16, 2013

Know Your Data Professionals: Processors vs. Programmers

I've recently been asked to help nontechnical business professionals distinguish between data processing and database programming. Here's my best shot at a clear & concise distinction.

Data processing involves organizing and manipulating data files using a variety of applications including Microsoft Excel and various relational database management systems (RDBMS) like SQL Server and MySQL. It focuses on the data, the specific values contained in the data, and the data’s relationship to the information it represents. A good data processor has a deep understating of the data's business context. Data processing is typically repetitive. A good data processor can consistently execute the same process the same way over and over. Anomalies in data processing are generally the result of either variations in source data or manual errors in processing. A good data processor will be familiar enough with the data's business context to be able to correct variations in source data to the extent that normal processing can occur.  

In contrast, database programming involves building procedures that organize and manipulate data files in a consistent and automated manner. While database programming pays attention to the data, its primary focus is on the procedures that act against the data. A good database programmer will have a deep understanding of the technical infrastructure around the data.  Database programming is not at all repetitive. A good programmer instinctively adheres to the DRY principle. DRY stands for “don’t repeat yourself.” A good programmer will always code an automated solution to a repetitive challenge. Anomalies in database programming are generally the result of errors in the procedure code. A good database programmer will be able to debug the code in such a way that a future instance of the same anomaly will be handled automatically by the procedure, requiring no additional intervention.

A good data processor is critical in the early stages of a project, to ensure a full understanding of the data and the business processes represented by the data. Once a data processor has worked out the best approach to project data, a good database programmer can automate the various processes, freeing the data processor from repetitive work, allowing them to move onto the next project, and reducing the likelihood of processing errors. 

No comments:

Post a Comment