A recent interaction with my “Web book” co-authors made me think. When we try to reason about architecture, when we try to come up with the essence of good architectures, good systems design, good practices, we effectively philosophize. We’ve been doing it all these years around REST, the Web, Web Services, state, distributed systems. I wonder whether companies need the role of “Software Philosopher” or “Systems Philosopher” in addition to “Developer”, “Software Architect”, “Tester”, etc.
I believe that an architect is effectively already playing that role to some extent… thinks about, scrutinizes, analyzes all aspects of a system/effort. However, a philosopher will have to be more… combining the qualities of an architect, a developer, a tester, a designer, a thinker… someone who understands the technology, understands the customers, understands the solution, visualizes the future and the implication, appreciates the strategy, builds the story, articulates the vision :-)
Then again… it might be all the philosophy books I’ve been reading on knowledge representation lately :-)
.savas. (Software Philosopher :-)