Writing great code can positively influence the end user, but more often, code quality is of greater interest to people within our own profession. It can become a closed loop. We are tempted to scratch only our own backs.
Programmer, hacker, and developer alike, it is your job to adapt to your trade. Today, our trade still means great code. It still means classes and methods. And proper scope. It still means understanding algorithms, and efficiency, and elegance. It still means comments, comments, comments. But, it also means writing markup. It means writing CSS. It means, occasionally, exporting a proper PNG from some Adobe product without fudging the transparency. It means knowing what kerning is, if only enough to ask a question or to appreciate it.
We need to understand that design is consistency in user interface as much as it’s consistency in method names. Design is every layer, even ones near the surface.
— Matthew Howell, Developers Should Design
While I totally agree with this, design isn’t the easiest thing to learn. While, writing code and algorithmic is something quite easy to learn and to improve, I fell like design is something more of an innate talent. For example, while I can appreciate good UI and UX, and don’t I’d ever be able to make a decent one by myself.
My resolution this year was to actually try to improve my understanding of people relations with the software they use, in order to have a better view of what I needed to know before jumping into design itself. But sometimes, seeing beautiful UIs, I feel like I should really live this domain to people with better experience with it.