In a word, my vote is, “No.”
Why do I say this?
My experience has been that developers think differently than typical users. They think in software architecture and bits and bytes, file structures and programming interfaces and logic and sound engineering discipline.
Software users, by and large, don’t care about ANY of that. They care about function, usability, cool UIs, ease of use. They care about computer performance and how long it takes for the software to load and that the program doesn’t crash and lose all of their hard work.
Developers worry about compile time and degree of difficulty of executing certain tasks, meeting release dates and making sure their code is well-structured and that they’ve done cool things.
Yes, developers want to please customers and want their software to sell like crazy.
The point is, they approach software from a different perspective than users. Without the user perspective, they’ll miss.
Let’s compare the car industry. Do engineers style the cars? No, they don’t. If they did, they’d design structurally sound vehicles that were easy to assemble and would probably be rather bland.
Instead, there is a design studio that works on wild and radical designs, and tame that down into cars for the road. Yes, I know that some cars come out looking like abominations. Remember the Gremlin and the Pacer, not to mention the Pontiac Aztec? But there are also incredible cars that look really cool, with swoopy shapes and cool interiors and cars that capture your heart and soul.
Software needs that same passionate approach to the UI. User Interfaces that interact with people, that excite them, make them go, “Cool!” User interfaces that intuitively operate the same way people do–people who aren’t techno geeks that can debug Windows crashes in three minutes or less.
While I think the world of software developers, software needs DESIGNERS. User Experience folks, also known as UX. Artistic flair is a good idea as well. People who put insight and thought and passion and FUN into software.
What they come up with might be difficult to program. C’est la business. Those who will conquer the software world in the future will have UIs that interact with the user, that are cool and fun and leading-edge functionality. Customers don’t care how hard it is to make–and those who make it will succeed.
If you want viral growth with your software, create the UI with users in mind–the users who will actually use your product. Know who your users are, their likes and dislikes and habits and trends. Then create software that fits right into their lifestyle and computing style.
That’s the first point in creating great products, the first pillar of going viral.
(Just for the record, I have many good friends who are developers and I think the world of them. Some have even done a credible job designing UIs. To create great UIs, however, you need a specialist.)