Why Software Engineering Is Similar to Lawyering

2013 February 1
by Steven B. Levy

Software engineer Mark Bernstein has an interesting piece on designing a “simple” additional feature for a software product.

If you’ve never thought about software design as an insanely complicated craft – a la creating a great contract – take a look at his piece. Almost all of it will still make sense even if the only thing you know about software is that it’s the stuff that runs on computers. You don’t even need to know what his product does.

The process will sound familiar to most attorneys, even if the details seem a foreign language. Start with a simple-sounding request. Figure out the myriad ways that other parties can interact with your object (whether a contract or a software feature). Write clauses (or code) to handle those interactions. Now look at how what you’ve just done alters work you did previously….

 

One Response
  1. 2013 February 1

    Steven, you and Mark have perfectly explained why abstraction is such a powerful pattern in both law and software development. Tabs are a solved problem if you are using the right library. What’s astonishing is how poorly we have done so far in building similar abstraction techniques in the legal sphere.

Comments are closed.

Page optimized by WP Minify WordPress Plugin