This afternoon I was reading a local website that was comparing candidates for the up-coming US election. Obviously the “big guns” were there, such as Romney & Obama. But this site also covered smaller local elections.
As I was reading some of the answers from each candidate, I was struck with something. Even when the candidates weren’t that far apart, one tended to be more negative. I’m not even sure it was really one party. In fact, if anything, it seemed to be the incumbent was typically more positive and the challenger tended to be more negative.
The one question that stood out to me was on the US Senate level, both candidates endorsed private sector creating jobs and growing the economy. One spent all her time talking about the policies she’d repeal. The other spent his time talking about the policies he’d like to enact.
I was drawn more to the one who said he had policies he’d like to enact. It seems like a better idea to have a plan of what you want to do, rather than a list of things that you don’t like the last administration doing.
As I thought about this, I realized that a lot of times, we as software developers get into this, me in particular. Which is more beneficial:
- Never, ever, ever, ever call a stored procedure from your presentation layer.
- Have your application architected in a way that separates responsibilities, making it easier for future changes.
They both should result in the same action — keeping your presentation and data access separated. However, one explains why you want to do it, whereas the other just stands there and says “No! Don’t go in there.”
It’s relatively easy to point out the negatives, and relatively hard to provide solutions. How many websites have you seen that you said “This looks horrible”? I’ve had more than my fair share. And yet, just telling someone a design is bad, or an approach is wrong doesn’t really help them fix it.
Personally, I need to stop critiquing UI and designs. I have no skill in UI, and so the constructive feedback that I can offer is pretty trivial. Things like “line up these buttons.” Even things like “Simplify the UI” is not helpful, unless I can provide specific ways to do so.
Let’s focus on not just critiquing UI and design, but do so in a way that guides the developer in the way they should go. In short, as an industry, we should work hard to not be like the politicians who just tell us everything that’s wrong.