Bad UX and Death by a Thousand Cuts

I’ve recently been thinking about the phrase “death by a thousand cuts” for the cumulative effect of bad UX experiences daily across different tech and services.
I seem to be a major sufferer of this problem, where almost everything I use has a minor or major aggravation,

Case in point, I just literally threw my phone on a table after a walk because

  1. it decided to reboot itself when I walked out the front door and wanted to play a podcast;
  2. I lost service – yet again – and had to reboot, yet again;
  3. it turned onto accessibility mode and I had to Google how to turn it off when I got home.

Or, trying to do emojis in Teams after you’ve used Slack?

  1. you can’t do standard emojis;
  2. typing “:” starts the joyemoji, which seems half-baked, and has no search, and
  3. when you type “:p” automatically used the original Skype emoji tongue out.

What product developers fail to realise is a small design or UX annoyance in their product is not isolated – at least, not for the user. For a user perspective is “one more” issues in a larger set of products they have to deal with. When you come that across a day and a week, that makes for a lot of extra work, effort, unnecessary attention and not to mention aggravation for the person.

When people you respect start acting like dicks

There’s someone in my professional community I’ve listened to and respected for many years now.

I’ve consumed almost all their content. I listen to everything they have to say. I’ve engaged with them online. And I’ve even spent money on them.

But lately I’ve noticed a creeping from the shadows: they’re starting to act like a bit of a dick.

I’ve notice a bit of… how do I describe it – I think arrogance and hypocrisy are the words I’m looking for.

It’s nothing overt. More in they way they speak. What was once a consistent positive attitude and refusal to engage (at least publicly) with negative behaviour is now starting to turn. Where, on one topic they tell people “if you don’t like it, just ignore it”, on another topic they’re engaging in a fight they should just ignore.

While it’s not intolerable, it is a turnoff. To the point where every time I’ve wanted to engage with them online over the last few weeks I’ve decided against it, because I’m envisaging a hard-stop negative response from them rather than opportunity for a discussion.

And this is not good for the person, because they are their brand. They earn their living because of who they are – co ntinua leading authority in their domain.

And while they continue to be an authority, if long-time loyal “fans” (see Kevin Kelly) like me start turning away (perhaps even becoming vocal about their disappointment and affecting future listeners) then the authority will dilute their brand by turning away the people who matter most.

Sure, they won’t go out of business. But what was once the equivalent of Nike with a strong ambassador like Michael Jordan will become just another mall shoe store, selling a utility we all need but having none of the passionate following of something special.

I continue to listen to this authority figure. For now. But with me their reputation is already diminished. And if their attitude continues to aggravate me I have no problems tuning them out of my life (has they have themselves advised in the past). Life is too short for aggravation and there’s always someone else I can turn to for advice.

The Key to Success

The answer you usually hear in speeches is “follow your passion”.

Bulls**t! The person saying that is almost always already successful and rolling in money thanks to a stroke of good luck.

The real answer is much harder:

Find something you’re good at and spend a few decades working your ass off!

And while you’re doing that you’re going to fail multiple times.
You’re going to work for people you hate. In jobs that suck the life from you.
You’re probably going to get depression.
And a mid-life crisis. Not to mention being hit by a few other crisis’s along the way.

You’re going to want to give up (many times). Then find enthusiasm aging. And give up.
You’ll be told you’re an idiot. And lose friends. Question yourself daily. And maybe have the odd good moment, only to be followed by more crap.

It is going to be a hard, often lonely, slog.

I know this:

I’m living it.

I’m not successful. Not the success I’m have in mind. But I want to me. I will me. I’m working hard for it. And if I don’t get it I’ll die trying.

Until then I work every day for it. Not 80 hour weeks – not anymore. That is, not wasted 80 hour grinds.
I’m still “working” every minute I’m awake, but I’ve learnt to re-focus some of that energy to other things: Learning. Thinking. Walking. Rest. Re-evaluation.

True success isn’t the founders of Facebook, Google or Tesla. They got lucky. Yes, the did some work, but not what the work everyone else has to do.

For the average person success is a lot a vision and a lot of guts, the ability to adapt, and the fortune to positions themselves to strike when opportunity is right.

And a hell of a lot of hard work and failure leading up to it.

I’ll be an overnight success some day…. 20-something years in the making.

The responsibility of a software developer is to “deliver stakeholder value”

The responsibility of a software developer is to “deliver stakeholder value”.

 

Stakeholders are people and business.

We are tasked with creating things that provide positive value to those who commission it (the business) and use it (the customer).

Our responsibility and priorities are the following 3 tenents of software development:

Security: Ensuring the software we develop does not harm the business or customer, either directly or indirectly.

Usability: The customer can effectively discover, learn and usability the software in the easiest, most satisfying way possible. It should bring calm and cause a smile.

Sustainability: Ensuring once the software has been created it can be easily and effectively maintained into a long and unforseeable future. That includes ensuring it is cost effective, upgradable, extensible, buildable and deployable.

 

Software development is not about playing with technology.

It has nothing to do with language features, tools or frameworks.

Learning and change are not the reason for doing the work.

Cool should only apply when we find a way to improve on one of the tenents or delight a stakeholder.

Methodology, patterns, practices and paradigms are irrelevant if they don’t fit the tenents.

Software Development Team Leads

Software development “Team Leads” do not write code.

(Except in small business.)

Any job that asks for a “lead” and expects them to write code is really asking for a “senior developer” while paying lip service to “managing the team as a leader”.

True team leads don’t have time to write code, because they are:

  • Meeting with the business
  • Planning
  • Designing
  • Reviewing
  • HR-ing
  • Thinking
  • Learning

Command-line editors: there is no debate

It’s 2019.

Why the heck are we still having the vim vs emacs vs other command-line vs basic-text-editor debate for writing code?!

Don’t use either!

There are editors, IDEs and tooling today for a far superior writing, debugging and supported experience.

It is NOT “cool” or “good experience” to write in command-line editors. That’s like a modern mechanic having a Model T Ford in the workshop to use a reference for repairing a Tesla.

IT people and software developers are here to serve businesses and consumers in the best way possible, not scratch around in an old sandpit. We even have modern tools that give us a superior experience for FREE (I’m looking at you Visual Studio Code).

I certainly won’t hire someone if their tool of choice is command-line based or they use “grep” in conversation. That’s a time and financial loss waiting to happen.

The Cloud (is not the rose that it seems)

The Cloud doesn’t remove the need for infrastructure and operations people. Nor does it particularly make infrastructure easier.

It simply shifts where the hardware runs and who owns it.

And for small software teams it still means the developers and project manager are “the” operations and infrastructure people.

The big difference now is The Cloud makes it much easier to accidentally spend vast amounts of money on infrastructure you had no idea you deployed (or who deployed it), where you struggle to understand what it does or why you need it, and you can never seem to figure out how it is charged on your bill.

I know this because I live it.

 

(Also published on LinkedIn)