It's been in the back of my mind for a few years now: it seems software development has prioritized developers' experience over user experience. I read an article recently that echoed this sentiment. It is mis-titled as "Putting devs before users: how frameworks destroyed web performance", because it notes that frameworks are being blamed for prevalent poor website performance, when it is only the scapegoat, and the real cause lies in the attitudes and mindsets of the developers and those whom they report to.

With said mindset being that web development and design should be ‘fun’. I fully believe a lot of developers and software engineers put their job satisfaction above their users or customers... Everyone wants to look good in front of their peers or the higher ups, and everything ends over engineered and unwieldy as a result... Instead, do what’s needed for the job, and provide an experience that the user will enjoy using, with as few resources as are needed.

The main point of this article is sound: software development has gotten its priorities mixed up. What's most important should be the satisfaction of the customer or user - whether the software accomplishes its intended purpose as smoothly and painlessly as possible. With that single goal satisfied, developers can then dedicate resources to expanding support to as many use cases and edge cases as possible, think of future maintainability, and if time allows, making their own lives more convenient.

It shouldn't be the other way around, where because it's not easy to do or convenient, support is limited to only what can be easily supported, languages and frameworks are chosen due to them being new and hip but not necessarily performant, and customers need to adhere to how the software works.

However, things are the way they are for a reason, and there are plenty of legitimate reasons why the current mindset is the way it is. Software developers are expensive to hire, and they are more or less spoiled. That's why they are treated more like the customer than the employee. Their valuable time needs to be saved, because it is expensive (though I also wonder whether adding ping pong tables to a workplace helps with better productivity). Frameworks are supported by the communities that use them. Whereas writing something from scratch is only supported by the person who wrote it, which lasts until he or she retires or is let go, using a framework (if vetted and chosen properly), should mean that there is wider and longer-term support, better documentation, and better security. That means the software is better from a maintenance standpoint. So, while the main point for the article is valid, the article fails to address legitimate counterarguments, which I have provided a few examples of here.

Listen to Aisha
Written on January 16, 2020
Updated on April 21, 2020. © Copyright 2020 David Chang. All Rights Reserved. Log in | Visitors