As a developer do you ever feel like you’re just advocating for technology for technology’s sake without ever producing anything that makes society better?
Have you ever used a piece of software and realized that it was a terrible user experience. Are you a programmer who has a terrible developer experience?
There something seriously wrong with just building software as a means of job security without ever evaluating the goodness it does in society. How do you measure the benefit of software to society? Anyone can read The Daily WTF and easily conclude how everyday technical decisions made by developers produced insane results at the cost of dollars, I’m sure. It bothers me that we’re spending a lot of time and energy on software that ultimately frustrates users and leaves them with a negative picture of the promise of technology. I feel what can make me a more valuable developer is understanding this issue to make better informed decisions about my users. I wish more companies spent more time educating their developers rather than slaving them to fix bugs and comply with urgent requests.
In my experience, bad developer experience results in bad user experience even if the developer has no say in the product (this often indicates the product or management team doesn’t know what a good customer experience is). Does this mean there are a ton of developers who genuinely want to produce good software but are limited by poor teams or are developers addicted to technology stacks and acronyms and fail to see how their decisions affect user experience?
Are raw materials like wood more favored by people than bits? People refer paperback books to digital books because they include more senses (touch, smell). You can’t touch or smell digital products (yet). However, when it comes to efficiency, why are we still a cash society for the most part. There are still pockets of society where digital payments aren’t encouraged. Is this because the software and/or hardware isn’t people-friendly or that people just aren’t software literate?
Ask yourself what software has made my life easier better more fruitful and what about that software is the cause and how as a developer can I learn from that and reproduce the same end result? Working software is useless without working people, a technological illiterate society cannot benefit from software with poor user experience. A poor user experience is where any friction is encountered between trying a achieve a promised outcome. The ultimate outcome of any software is to connect humans. Measure what this software is promising and whether people are achieving this outcome as expected. This is software quality that matters.
Real career goals as a developer are not to prove wherever Angular is better than React but whether your philosophy of making lives easier should pair with that of the company you work for. Educate yourself on how to improve both your developer and customer experience. Constantly enlighten yourself and perhaps you may end up working with a team that sees software as a means to improve efficiency and happiness, instead of encouraging bad behavior and poor user experience. This is certainly one of my long term career goals.
At the end of the day I hope we can all develop a common conviction as developers with the ability to change how our customers and stakeholders view software, not as a means to force technology but a super power to connect people for people’s sake, so that people become the greatest asset not technology stacks.