Software Philosphy, the ‘Why’ in Software Development
I don’t know if I’m like other software developers. I often ask myself, “Self, why are you writing that chunk of code like that.” It’s times like these that I feel more like a Software Philosopher. My observation is that philosophers are never content until they’ve discovered the ‘Why’ about their object of study. Why do we love? Why do we hurt? Why do we or don’t we believe in God? Why do you put your curly brace on the same line? Why didn’t you use a pattern there? Why did you use this pattern here? Sure, it may work, it may get the job done, but should it be done that way, does it have a reason?
Software Philosophers will wax elegant about patterns, naming conventions, and code formatting to name a few. They know those who have come before them, writing books, explaining methodologies, sharing ideas on the art of software. They will religiously defend their choices, argue for hours, even becoming emotionally involved in the code they write. You will know how they feel about their code, whether good or bad.
Every member of your team need not be a Software Philosopher. It does help if there is more then one, after all, they need someone to argue with, someone who will argue back. Sprinkle them like salt in your team and it will change your code, affect your development process, and introduce design. Be sure to balance them with other developers that can ground them when necessary, keeping things on schedule.
Do you have any Software Philosophers on your team? Have you met them? Are you a closet Software Philosopher? Leave a comment, I would love to hear about your development team.
Photo Credit: Proggie
—
Andy Stanberry writes code and philosophizes for Lijit and attempts to maintain a blog at negativemargins.com







