Paul W. Homer is a software developer, writer, and occasional photographer, who was drawn into software development several decades ago and has been struggling ever since with trying to build increasingly complex systems.
FROM ALL OF OUR EXPERIENCES, including both success and failure, we learn a great deal. In a young industry like software development, disseminating this experience and knowledge is vital in helping sustain progress. What each team learns in its own tiny little corner of the world is possibly influential across the globe.
Realistically our fundamental knowledge base for software development—that is, the knowledge that is absolute and theoretically correct—is small compared to what is necessary to successfully develop a project. To compensate, we guess, rely on intuitive judgments or even pick randomly. In that, any major development project generates empirical evidence into what works and what fails. We're gradually working through the permutations, which we want to apply back to the industry as a whole.
At an individual level, we are all trying to grow and come to understand how to build larger and larger systems. The course of our careers will take us toward ever-increasing challenges, for which we want our past experiences to help guide us. Being there is one thing, but to get the most from the experience ...