Engineers (of all types) are logical, analytical, and overly detail-oriented individuals. Because of this, their focus lies in the project on which they are working. Ok, everyone knows that, but the more interesting facet is that engineers see the world in a completely different way. Of course, they are fully aware of the future customer, and they are also cognizant of project requirements, but what is different, is how that information is processed.
The minute the design meeting begins with management and product managers, the engineer is ready to start looking at new features. As people begin to talk, one by one, the engineer sits back and listens to what they are asking him/her to do. Time ticks on and the engineer is creating a mental (or physical) list of what will be required, and in the back of their mind, the cogs are spinning as they ponder the logistics of implementing new features. System architecture and processes are being accessed and cataloged for future applicability, complex tasks are filed away for later consideration. During the design, the engineer may realize that one feature will be much easier to accomplish if the requirements were tweaked, and many times will voice that opinion. Sometimes their advice is heeded, others it isn’t.
All in all, I don’t know many (or any) engineers who love the design process. Most prefer to get to work and see how they will integrate their new ideas into the existing system, rather than spending a number of hours in group discussion trying to iron out exactly how something should work. That isn’t to say that a design isn’t helpful, but more that if the design could be done by someone else, the engineers would be much happier.
The interesting thing about engineering is that a system design is critical to successful implementation of large projects. The engineers don’t really enjoy making the design, but understand it as a necessary evil that must be completed before they really begin laying down the foundation. Why it’s interesting is that managers don’t like the design process either. In many situations, the design, review and revision process can take a good amount of time when you look at the entire timeline of the project (after all, a great design means shorter implementation time and trial and error). This time is generally not respected by managers, and after a month of time designing the system, a manager can tend to come by and ask for something to see. Obviously they aren’t looking for design documents, but real, concrete progress they can see.
It’s all about the details, implementation considerations, simplicity, and future expandability. Their view of the world is utterly not on the end customer, but rather in how to complete the specific tasks required to get their project completed in a timely fashion.
Am I missing something? Do you feel differently? Please let me know in the comments!