Software Design is one part Science, one part Art, a healthy portion of Passion and ample amounts of Data.
It doesn't matter what the product is, passion above all is the single most valuable asset in creating successful products. Without this important ingredient it is impossible to get the entire team excited and supportive of the mission ahead, especially the more challenging and mundane projects.
To cultivate passion, one has to understand the product/business model. Why is this important to the people that need it? From there, converting those practical and emotion needs into a compelling "story" that can be supported by stunning visuals and solid numbers. Then comes the technical architecture and design, as every "A" level team wants to create something that is interesting and challenging. Many times this requires working prototypes, interactive models for these technically challenging ideas that are difficult to grasp by mere words and whiteboards. Then comes data, every application lives and breathes data, if you don't have the chomps to get deep into the underlaying data model you don't have a chance in converting concept into reality. Especially in this day and age, where data is everything,
Coder at Heart
"Too valuable" to code has been the story unwilling imparted on me for the past two decades. Yet the majority of the time, my concepts are so difficult to initially grasp, that I end up coding prototypes myself. Then transition the project into the "professional" team to do a bulk of the development work. Transitioning to the role of the architect, the code reviewer, occasional contributor and bug fixer. Though consistently, I am the one who gets the dirtiest with data, looking at data structures, cleaning, translating, refining and loading data for almost every application I have designed and implemented.