Citizen Programmers

The Citizen Programmer, a piece at Simple Talk, really made me stop and think a bit. On one hand, the idea of building a platform that enables any end-user to perform rudimentary programming is a noble goal. If you can do that, then you can dramatically reduce the costs associated with waiting for developers to build applications.

On the other hand, the article praises the Visual Basic of the 90s, which allowed almost any one to build an application.

And that was a problem. Despite the tremendous number of applications built, far, far too many of them were poorly written, prone to crashing computers, unable to scale to more than a single user in many cases, and were almost un-maintainable over time. These applications removed people from their knowledge work, having them spend time programming instead of their regular job. That might be good in some cases, where people had talent and desire to build software. It certainly forced the person coding the system to better understand the idea behind the work that they were doing.

However in many cases, I think we might have ended up wasting lots of time. Certainly the people spending more and more time maintaining an application weren’t necessarily getting more work done. People dealing with buggy software might have been doing their job more slowly overall. There were also the problems with turning a VB application over to professional programmers who were loathe to work on it, and perhaps did little work to keep the application running. A lack of responsiveness from technology departments might restart the whole process with another poorly written VB application, each one a custom work of art that stumbled along inside of a business.

I do think that giving tools to enable end users to perform some of their own analysis and review of data is important. I like the idea of PowerPivot and other tools that let users query data and build their own reports. I don’t know if we need professional developers for every piece of software, though I am sure we need software to be written faster and in a more agile fashion. In all cases, however, I know we do need professional DBAs to manage data and ensure it’s protected and intact as the speed and scale of our systems continue to grow.

Steve Jones

The Voice of the DBA Podcast

Listen to the MP3 Audio ( 2.7MB) podcast or subscribe to the feed at iTunes and LibSyn. 

About way0utwest

Editor, SQLServerCentral
This entry was posted in Editorial and tagged . Bookmark the permalink.

2 Responses to Citizen Programmers

  1. I don’t like these trains of thought, because I started my career as a clerk writing a crappy VB app. Granted, I wanted to be a “real programmer” so my motivation was to write the least crappy VB6 possible, and eventually get good enough to write a propery Win32 app in procedural C. Thankfully C# came around so I could have my semi-colons, and I came to my senses that there was something to this OO thing,

    Nowadays I work with analysts that have degrees from places like Harvard and Oxford in things like statistics and geography. These guys write crappy code in VBA, T-SQL and R that does real science. Sometimes I help make that code proper maintainable code. It would not scale to have me or another developer sit with all of these guys and write their code for them. I mentor them to write better code, and take over the code that’s worth “doing right”

    This is one of the last industries where a self motivated college dropout can rise through the ranks if they are motivated enough to be self taught. Lets not build walls to ruin that.


  2. way0utwest says:

    I agree that it does cast aspersions at lots of people that grew to write better code, but far too many of them didn’t, and more importantly, I think we should own the bad code we wrote. I certainly wrote some bad code. I was ignorant, but I also wrote those bad VB4 apps.

    I’m not saying all code needs to be elegant or even efficient, but we should be learning to do better, and if the needs exceed our skills, let’s get help or let someone else code.

    I certainly do think that Citizen programmers are useful and should exist. Just not necessarily because the citizen decided it should be so.


Comments are closed.