The Source for Java Technology Collaboration
User: Password:



Start New Message Delete Post a Reply

Article: 
 The Blacksmith and the Bookkeeper, Part 2
Subject:  Nicely worded, but not well-reasoned
Date:  2004-10-17 13:27:45
From:  cstaley


I'm afraid I'm not that impressed. The wording of these articles is sophisticated, but the reasoning leaves something to be desired. For instance, here's a quote directly from his second article:

The knowledge required of the bookkeeper, on the other hand, included key components that could not be standardized and automated: the unique context of each individual or enterprise. While it may be true that some transactions are similar to other transactions, and that all transactions have something in common, it is the sum of those transactions in a given account that makes each account unique. Add to that the almost infinite number of combinations when it comes to various choices that can be made to account for the finances of each unique individual or enterprise, and task of building a "bookkeeping factory" becomes daunting.

The keeping of books requires abstract interaction with a litany of concerns that are outside "the body" of the individual or enterprise, including suppliers, customers, service providers, and governmental entities. That changing fitscape of exogenous forces amounts to the economic equivalent of fluid dynamics, which may be recognizable in terms of tendencies and patterns, but is also quite unpredictable when it comes to the minutia required to individually model and then automate in practice.


Substitute "website design" or "software development" for "book keeping" in these two paragraphs, and the prose still makes perfect sense. So the proper application of the metaphor is that software development is like bookkeeping, not blacksmithing.

And we do have "bookkeeping factories" -- QuickBooks is an example. And we do have website design factories -- J2EE or .NET are examples. But these just are just building blocks and still require expertise to assemble into unique artifacts.

I've been hearing for years that automation of software was "just around the corner". (I remember a colleague in the early 80's earnestly telling me that IBM had technology that would automate programmers out of existence by the end of the decade.) Thing is, they were *right* to some degree. OO libraries, GUI libraries, DBMSs, web design libraries, and new languages have resulted in vast improvements in efficiency. Building a modern website or application with 1980 software tools would probably take 2-3 times the cost and effort it does today, but since we continue to demand more and more of our software, the demand for people to write it remains high.

And btw, there are plenty of blacksmiths today. They've just moved upscale, and we call them "machinists" or "engineers".

 Feed java.net RSS Feeds