Saturday, April 14, 2007
Is Software Engineering a Discipline?
Software engineering, more than any other engineering discipline that I can think of, must deal with the human element, and this is not limited to just the end product or results of our work. The human factor is huge in all aspects of what we do, beginning with the initial concept, all the way to the final roll-out.
Figuring out how to forge great results in the midst of chaos is elusive and is a characteristic of a great architect but not a great engineer. Many enterprises struggle with the chaordic balance between perception management and engineering discipline. Unfortunately, both sides will be in a constant struggle to prove their worth when in all reality success is in the mix...
Some folks have told me that the title of Enterprise Architect is boring. Many of my industry peers have been gravitating towards Software Ecologists while I have been noodling putting on my business card the title of Logic Carpenter. The one thing that I won't do is to even acknowledge that there is a thing called computer science as computer philosophy or computer art is more accurate.
This is why software tends to be different than other forms of engineering. A mechanical engineer working on a bridge needs to adhere to certain physical, non-human laws. A software engineer often doesn't have to worry about these limits; instead, folks need to ask themselves "What's the best way to communicate this idea to the next person who will need to understand". it?" Of course, I will struggle with this notion myself as I attempt to convince IT executives that while engineering disciplines are immensely valuable most folks won't find value in it...
Links to this post: