Practical X Scholar Programmer

March 2, 2010

A couple of weeks ago, I was called to solve a problem on a project. I had no particular expertise in the task at hand: XPath. We had to write an XPath expression to find a piece of data inside an xml document.

Both the XPath processor and the xml document generator (it was being generated automatically) were black boxes. That means we couldn’t change the xml file nor the XPath processor. The problem was a simple one: The XML document was generated with a default namespace, and we didn’t knew how to process it. I wrote a (simple) XPath processor to test the behavior of the expressions we were using and, after an hour or two, we discovered the problem and the solution (For the curious: we were using //<tagname> and had to use //*[name()='<tagname>’]. To check the difference, RTFM).

Then I asked myself: Why were I trying to get a solution to the problem before getting a deeper understading of the underlying technology? Then I realized that this behavior divides programmers in two groups: Scholar programmers X Practical programmers.

The Scholar programmer is the one that, reagardless the time/cost constraints, is only worried in learning. He manages to get some things done once in a while, but it is not that common. He is mostly worried in learning, and is closely related to Resume Driven Development. This guy can be useful to your team, if you can make him work based on deadlines.

The Practical programmer is the entire opposite. For him, the important stuff is to get things done right away. He is obsessed with solving the next big problem. Do not be fooled: This guy can ruin your team. He will get things done and all… But he will not learn new stuff. He insists that you should keep using your old solutions, instead of trying new stuff. In the end, his short term decisions will make everyone’s life harder.

Obviously, no one can be 100% on one side nor on the other. “Virtue is in the middle” applies really well to this situation.

So, where do you fit better?


4 Responses to “Practical X Scholar Programmer”

  1. roberta Says:

    wonderful post, gama! i’ve run in quite a few issues recently due to ‘quick fixes’ from practical programmers. unfortunately, sometimes people mistake ‘getting the things done right away’ for productivity.

  2. Pablo Says:

    Nice thoughts.
    I think I’m practical enough since I can hack myself out of most corners. But my problem is that it *hurts*. It physically hurts when I see badly written code. It seems I’m deeply scholar, but forced into the dark world of practicality by the perversity of the universe. 🙂

  3. Eduardo Says:

    It is a very funny thing that this phenomenon happens also with people who work with servers. Practical people are necessary but sometimes can make their work a complete mess. I think that the truth lies in the middle.

  4. Mariano Says:

    Very good this post. I thanks a lot of for your help in my project. I think the most important is the scholar programming because this evolute the project.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: