Programmers are Like Attorneys

|

Programmers are like attorneys. They know a lot about the law, but don’t know much about their client’s domain. They learn new domains every time they take a new case. Over time, they may cultivate specialties, as they develop more expertise in a particular area.

Still, their attitude is “Have Law, Will Travel” (talk about dating yourself).

People think that a good lawyer can litigate anything, or that a good programmer can hack anything. Both statements could not be further from the truth. You'd not want to hire a probate lawyer to defend against a drug charge, nor a union pension fund disbursement programmer to write a realtime data acquisition system.

It takes years to master the law, but mere mastery of the law is often not enough. One must also know as much about the domain being litigated as a denizen of that domain.

Like lawyers, we spend years acquiring arcane expertise in realms like programming languages, and optimization techniques. Once we hang out our shingles and begin to practice our trade, business rules, medical details, or even rocket science must become our stocks in trade as well.

Like lawyers, what programmers do is often misunderstood, and both professions have found themselves the targets of derision, even contempt. Garbage Collection guru Henry Baker once likened the role lawyers play in modern society to that of the samurai in ancient Japan. No one really liked having either around, he said, but if the other guys had theirs, you had to have yours, and whoever had the most, or the best, would probably prevail.

Another attribute that programmers once shared with the legal profession was decent compensation. Sigh. And a modicum of prestige. Sigh. Some of the last of the secular priesthoods.

Both engage in a level of face-to-face interaction with their customers that resist attempts at outsourcing. The work products of both exhibit a custom, one-of-a-kind character.

Both adhere to rigid dress codes, and work irregular hours.

About this Entry

This page contains a single entry by Brian Foote published on October 26, 2002 8:05 PM.

A Programming Language Parable was the previous entry in this blog.

Buzzkill at the EMP is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Pages

November 2012

Sun Mon Tue Wed Thu Fri Sat
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  

Brian's Links

Homepages

Diarists

Brian Marick
Martin Fowler
Ralph Johnson (That's Completely Bogus!)
Dave Thomas (The Pragmatist)
Glenn Vanderberg
Patrick Logan
Lambda the Ultimate
Joshua Allen (Better Living Through Software)
Mariann Unterluggauer (Motz)
James O. Coplien
Eugene Wallingford
Blaine Buxton
Nickieben Bourbaki
Travis Griggs
Ivan Moore
Mike Mikinkovich
Superboy & Ward
Rebecca Wirfs-Brock
Nat Pryce
Tim Ottinger
Forrest Chang
Gregor Hohpe
Sam Gentile
Robert Hanson
Chad Fowler
Jonathan Edwards
James Robertson
Bruce Eckel
Andrew Stopford
Tully Monster
Grady Booch
Dave's Ramblings
ShiningRay
Solveig Haugland
Dave Hoover
But Uncle Bob
Doug Schaefer
Smallthought
Ted Leung
blog.talbot.ws
The Farm
Ian Clysdale (Random)
Gilad Bracha
Keith Devens
Urbana-Champaign Techophiles
Stefan Lauterer (Tinytalk)
Planet Python
Chris Koenig
Peter Lindberg (Tesugen)
Jason Yip
Sean McGrath
Jeff Erickson (Ernie's 3D Pancakes)
Steve Freeman (Mock Turtle Soup)
hakank (komplexitetemergens)
Deciduous Ponderings
Take One Onion
Project.ioi.st
Ken Schreiner
Hen so.com
Michael Mahemoff (Software as She's Developed)
Tootruthy
Champaign Media Watch
Jason E. Sweat's Weblog (PHP, etc.)
Raymond Lewallen (Code Better)
Keith Ray
Raymond Chen (The Old New Thing)
Neil Gafter
Joe Walnes
Ivan Moore
LD/dazza (Lost in La Manche)
Scott Rosenberg (Wordyard)
Dave Stagner (Sit down and shut up!)
Walter Korman (Lemurware)
Munawar Hafiz (The space between)
Rafael de F. Ferreira (Rafael Rambling)
Mike Hostetler (Where Are The Wise Men)
Jordan Magazine
Andriy Solovey (Software Creation)
Mike Griffiths (Ideas and essays on code development)
Ashish Shiraj (Ashish Kumar -- Software Test Engineer)
Nathaniel T. Schutta (Just a thought...)
Lynn Cherny (Ghostweather R&D Blog)
Dominique Boucher (The Scheme Way)

Powered by Movable Type 5.14-en