What is software development? Lets be Poets!
By Ed Taekema in Jython, Python on December 4th, 2008
I’ve been saying for a while now that software engineering is a social activity … and now Mark Ramm picks up a similar bone and points out that software development is really building a product to be understood by both a computer and other human participants. These days we are beginning to understand that the humans that need to understand our work are in some ways more important in the medium to long term than the computer targets that run our software.
Mark suggests that we abandon titles like software engineer or software architect (these terms focus on the machine that reads the code) and switch to something like software writer (emphasizes the human reader).
I think this is really a good point. In the comments to his post, someone suggests Software Poet. I think that is my favourite… after all code that is beautiful is easy to understand. Perhaps all the fights around coding standards, curly brace placements, whitespace in python, etc come from our sense of the beautiful and artistic we put into our software code.
If you enjoyed this post, make sure you subscribe to my RSS feed!
12/04/2008 at 8:36 am
I made that comment. Thanks for the noticing, there didn’t seem to be any positive feedback in the other comments for an idea I’ve really liked for a long time.
12/04/2008 at 10:00 am
Good point. I’ve called software “executable prose”, but “executable poetry” has a better ring! Think of software as a form of literature for a reader who does exactly what you write – nothing more, nothing less – as well as a bunch of human readers and critics whose attention can easily wander…
12/04/2008 at 12:25 pm
@Mike Lowe -
Software Poetry is really good … I especially like how you connected the limitations that poetic form puts on expression programming language structure. I think its a real good point.
12/04/2008 at 12:26 pm
@Greg Lloyd -
Seeing code as poetic has the additional advantage that if it is good, we, the authors, don’t mind going back and reading it. Helps with maintenance if the code is not tortuous … even if we are the authors and maintainers …