The culture of art vs. the culture of engineering
You know what seperates an artist from an engineer? Let's say Joe designs something pretty cool. Mary sees it and uses that design. In Engineering, Mary is wise. In Art, Mary is a thief.
For years, in many IT shops, and throughout the computing world, we have built a culture where it is better to write your own definition, your own design, your own snippet of code, than it is to use someone else's. We still reward this thinking.
I work in the area of EA Frameworks. There are quite a few frameworks emerging these days, and most of them are wildly similar. The solution is right in front of us, and with some thinking, we are converging on the answer. Yet, few people have taken the time to learn any of these frameworks (except the oldest and least comprehensive, Zachmann). The number of people who have taken time to study two or more frameworks: geometrically smaller.
In Engineering, this would be foolish, but in Computer "Science" it appears to be simply acceptable for professionals to invent new definitions when existing ones will do, invent new frameworks when existing ones are ample, and invent new services when existing ones meet the stated needs.
We need a broad array of people to take the time first to LEARN what is available, before inventing new things. It is a culture of learning that is missing. We have replaced learning with invention in Computer Science. And as a result, we are a group of artists competing for space to show our artwork, instead of teams of engineers leveraging excellent ideas to build greater and taller and stronger constructions.
The lack of reuse is not a problem that we will solve by installing a SOA product or inventing a framework. Building a culture of engineering requires that we recognize and reward the people who reuse other's ideas and work, and that we remove the obstacles to their success.
You can reuse code TODAY. If your employer paid you to, and you took the time to learn, you could do it again tomorrow.
Comments
Anonymous
October 09, 2007
PingBack from http://www.artofbam.com/wordpress/?p=6393Anonymous
October 09, 2007
The comment has been removedAnonymous
October 09, 2007
Nick Malik wrote blog post " The culture of art vs. the culture of engineering " that described the problemAnonymous
October 09, 2007
It's a real and important problem. The saying goes that technology is easy to change but peoples thinking and behavior is difficult to change. To change the culture of software development significant efforts are necessary from management, gurus/evangelists and other influential persons.Anonymous
October 10, 2007
It is a great article Nick. Are we just artists or the frameworks on offer are too vast and there are too many of them? Maybe we are not specialized enough or maybe the frameworks are not easy decomposable to the block worth embedding ;)