Why users care about how you write code
November 12, 2015
Your coding practices and technology choices impact user experience...
The only thing that matters in software is the experience of the user.
I totally agree with this statement, but I believe that it has broader implications than Ryan's suggesting.
At a previous employer, I was asked to add a single checkbox and label to the contents of a popover. When asked how long this would take, I considered that the logic for that part of the app was in a Backbone view that was over 1,000 lines long and it extended another Backbone view that was over 2,000 lines long. I estimated it would take a week, and the PM was horrified. What's worse is it actually took somewhere around two or three weeks.
Why did it take so long? The code was unmaintainable. I was able to add the checkbox easily enough, but getting the data from the checkbox to update the model was a nightmare. If that wasn't enough, the number of bugs I introduced with my hacky example was frightening because (of course) those files had leaky abstractions all over the place and absolutely no tests.
Now, consider if the component had been built with SOLID programming principles (DRY, SRP, etc. etc.). I probably could have finished that feature in a day or less.
So did the way the app code was written impact the end user? You betcha. Did the user care that they had to wait weeks rather than days for the new feature? Yeah, they totally cared.
So yes, it’s true. The only thing that matters in software is the experience of the user. We created computers to improve our lives, and if the software we’re using doesn’t do that then it’s failed.
The experience of the user is indirectly, but strongly coupled to how we build software
So the big question: Does it matter to the user that we’re using the latest JS framework, build tool, or deployment service? Of course not!
Our measure of success should be how well we deliver what the user wants (and no more). Our choice of tools should be based on that fundamental goal.
At the same time, the latest tech and a good UX are not mutually exclusive. The latest and greatest technology can be a great way to accomplish this goal.
So why does this matter?
User Experience includes a lot more than just base functionality. How your application is written, built, and deployed can make a big difference.
Big thanks to the people who helped review and edit this post, especially Kyle Robinson for basically being the article’s editor.