Tag: privacy

Ethics

I recommend the video on youtube of the excellent presentation on ethics in software development which was given at this year’s Devoxx UK by Steve Freeman (of GOOS fame) and Jonathan Rothwell. Ethics is an important element of software craftsmanship, which I have discussed previously here. We’re not necessarily in charge of what happens in the world, but nothing happens without software these days, so nothing happens without our involvement. Involvement implies moral choice, and moral responsibility for the choices we make.

Particularly troubling in the presentation is the mention of an article by a journalist who stumbled upon software developers at a Nazi rally in Seattle, WA. I have tried to steer clear of politics in this blog, but maybe we can no longer separate code from politics. Can I no longer assume that all who read this blog are “fine people”? I may have to take political positions on this blog now because evil has come to our digital world as our digital world exerts more and more influence over the physical world. Code is neither good nor bad. It’s a tool. But we have a responsibility to advocate that it, like other tools, be used for good. I like that the internet has made it easy to express our uniqueness and made it possible for people who feel different to find others who are like-minded. There’s no more “normal”, and that’s probably good, but hate should never be acceptable.

Freeman and Rothwell also cite several times the excellent writings/talks of Maciej Ceglowski, who I consider to be the Socrates of Silicon Valley. He is the cold shower that pulls us out of sci-fi fantasies and into the real world that we software developers are really creating. The reality of what we’ve created is not always as pretty as the story that was told to sell its creation, and behind the idealism of changing the world there is greed.

We might want to think about protecting privacy and human attention and even truth, which have been increasingly under attack by software developers, whether intentionally or as a side effect. Even the environment is under threat by software, as the ponzi scheme that is crypto-currency demands ever-increasing energy resources in order to insure scarcity.

There is hope. Personally, I’ve been fortunate to be able to work recently on software that facilitates compliance with Europe’s GDPR law, which is an important step forward for the protection of privacy.

Advertisements

Quick thoughts about Seth Godin’s article “Our Software must get better”

I’m a long-time Seth Godin fan, so I read with interest his recent article about software quality.

With the examples he gives of inadequacy in software – iTunes user experience, the Macintosh’s built-in address book’s slowness and difficulty with importing and exporting data, and general unreliability and lack of Macintosh-compatibility of stamps.com – he’s focused mostly on the user experience aspects of software, which I think misses a key point. I think the biggest problems for software users these days are not slowness, confusion, frustration and extra clicks – though these can be real problems. The big issue for software users today, IMHO, is in the realm of data security, transparency and privacy.

Software in general is getting really good at collecting data profiles of the people who use it. I think this can be done in an ethical, transparent and generally secure way which generates value for the software’s creator in a fair and honest exchange for the user experience that consumers want. Is that what’s happening now? Not enough to satisfy European governments, who are taking action on this issue.

Seth Godin is smart enough and experienced enough to set up a kickstarter for a better Mac address book that is fast and can handle imports. But he would like software users to take ownership of the quality of the software that they use, by explicitly paying for what they use and by insisting on a user experience that meets their needs. On a large scale, that would be a pretty radical change, which would surely have a positive impact.

For the moment, most users either don’t know what “better” is or don’t care enough to pay for it. The trend among the giants of the software industry landscape seems to be that better means “smarter”, which means “knows what you want”, which is a problem in the aforementioned realm of data security, transparency and privacy. If you collect personal information, you must protect it forever and use it in a way which is ethical and transparent. If your smart assistant in the cloud knows that you have an appointment next Tuesday with Doctor So-and-so and the Such-and-such Clinic, who else will know that? The only data which is 100% guaranteed to be private is data which is never collected.

Ironically, the respect for privacy seems to be better in free software (Mozilla, Linux, etc.) than in software which people pay for. Godin alludes to this in his point “C” as to why software is mediocre.

Seth Godin would obviously like us, the software craftspeople of the world, to insist on better user experience, and, ideally, he’s right. It should be part of the software craftsperson’s ethics to improve the user experience. It’s not always clear, though, who should be responsible for defining what constitutes improvement or deciding what time and resources should be allocated for it.

At a minimum, we as developers can strive to create software which is easy enough to change that the user experience can be improved easily once we understand what improvements need to be made. We can also strive to treat the users’ personal data as a precious commodity to be protected, we can sanitize our inputs, and we can use the best encryption techniques available for passwords and other sensitive data.