Good design is not pixel perfect buttons or interfaces, it is all about the little affordances you present to users when they click the button or while interacting with the application.
A friend asked me to build a web application to store and retrieve a set of student information for events. I thought it would be a nice weekend project and obliged to create one. A simple CRUD application with PHP, SQL and Bootstrap. I wanted to build it python but he wanted it in PHP as finding a PHP developer to maintain is easier.
They started using the application for a while and then ditched it. Apparently, a sales guy from a local web agency came to them with a proposal to sell a similar software, they felt it was much easier to work with. The agency offered yearly maintenance, regular backups and also provided hosting using their local server for a nominal fee.
I checked out their application, it was similar to mine, only difference is the use of neat design, placement of buttons, font sizes, colors and animations for interactions. Those small things made people pay a premium, which made me realize a lot of things. A thoughtful design makes people feel good when they use your application, taking a few hours to plan the layout, adding animations to show feedback will make a huge difference to the applications you make.
This incident made me love design and start appreciating neatly designed things around me. I started following design blogs and read books like The design of everyday things by Donal Norman. After reading that book, I began to notice all these bad designs around me and thinking of ways how I can do design them better. Bad UX now irks me, the choice of font, kerning, typography all matter now, the choice of colors, information hierarchy and subtle animations make me love any application more. It made me appreciate neat thoughtful designs and to ponder on ways to fix bad design I come across.
There is a lot to learn, a lot to try, fail and repeat.