Everything is Valuable

This is frequently hard for me to remember: everything I (anyone) does is valuable. The application of labor, whatever the goal, has value (well, this can include negative value, e.g. murder).

Certainly, some activities are more valuable than others. Activities which have leverage – when your action causes other actions – can have a much greater impact, and may be considered more “valuable.”

But most of the time, there is little obvious relationship between an action and its value. This is a measurement problem.

In the lack of available measurement, we must choose the belief that maximizes outcomes. Namely, that each action has value, even if it’s not measurable.

In general, it should be possible to place actions in an ordinal sequence, so choice is not impossible.

Note: As technology removes other barriers to production, the relative importance of labor (work over time) increases in importance, since it more frequently becomes the bounding resource. Moreover, since total social activity is determined by total available attention, the allocation of attention is in itself important. Lacking an external situation to drive choice, many allocations are preference-indistinguishable. Imposing an internal value judgment upon an allocation does not confer moral judgement, but personal preference (taste).

Funny: I’ve been reading books which discuss the importance of maintaining simple, clear language and a low Flesch-Kincaid score. I don’t think this post adheres to those guidelines.

Quick note on automation

Automation should result in organizational flexibility.

However, this is not a necessary consequence of automation.

Let met back up.

Prior to computers, all work needed to be performed by a human being. Humans, in general, are pretty smart: even the lowest paid workers usually have some ideas about how to do their job better (faster, more easily, with less error, etc). In general, management and organization involves taking those ideas; evaluating them; distributing them; and ensuring compliance.

Each step involves work by a human. However, people only have so much work they can perform in a day. This varies to some extent by person, and varies significantly based on the environment they’re in and the process that supports them, but is ultimately finite — and, in my opinion, quite low. I think you can get 3-5 hours of cognitively challenging / attentive work, per day, out of people on an ongoing basis.

Ideally, automating any part of a business’ process should act to reduce the amount of cognitively challenging work that employees do per day — enabling them to spend that portion on other work. This can either be directly value-adding, or kept as “flex” time for emergencies and one-off issues (which end up being surprisingly common).

Unfortunately, this does not always occur. I lay considerable blame at the feet of people conflating automation with enforcing compliance: a computer system can reduce competitive work, but it can also ensure that everyone follows a strict, unyielding process.

While process compliance is important, people tend to underestimate the number and importance of one-off exceptions to that process; leading to strife when employees need to make an exception the system does not allow for.

Similarly, computers can greatly increase the audit trail or visibility into the work employees do. However, adding visibility for its own sake is rarely value-adding, and in my opinion increasing the amount of data entry employees do can be a net drain on their productivity.

Instead, I think that software should be introduced as a way of creating found time: reducing the amount of boring, repetitive work that people perform, and freeing them to tackle important-but-not-urgent items on their task list. I would prefer to see success measured by a decrease in the amount of time spent achieving broader corporate goals, or the number of business objectives – especially those not considered business-critical – that an organization accomplishes within a year.

Technology frequently has a holistic impact on an organization. As such, a key metric should be holistic in nature. This has all sorts of problems – confounding being chief among them – but many of the more visible metrics act to distort the goals of implementation.

Microdecisions and Typing

I remember learning to touch type when I was in high school. It was really useful – I could look at the screen instead of my keyboard when I typed, and that allows me to monitor what was going on.

That is, I learned to touch type through instant messenger and online games (where you don’t necessarily want to look down for a few seconds).

The problem with learning to touch type in that fashion was twofold:

  1. First, accuracy was less important than speed. This lead to a high (ish) error rate.
  2. Second, speed was achieved on “familiar” words; I got good at typing regular words, and the keys the words those used.

That was good enough through college – getting 50 words per minute was fine for essays, and my error rate was under 10%.

More recently, however, I’ve become aware of how frustrating it is to have a high error rate in typing.

Errors are nasty things. You need to watch closely for them, and then identifying them requires you to stop your chain of thought, correct it, and then move on. It’s mentally “draining” particularly for words you’re not really experienced with.

Worse, the less familiar with typing and the keyboard you are, the more you have to focus on articulating what’s in your brain – need to recall where the keys are, how to spell the word, and so on.

It’s not much – and in most cases, barely noticeable – but it adds friction to the process of getting things out of your head and onto the computer.

If you feel more comfortable with a pen and paper than with a keyboard, that’s probably because of the additional marginal energy you need to exert to put it through your input device (mouse/keyboard).

And, of course, the problem is more apparent when programming. Hitting brackets, equal signs, etc – not normally used in English – are very, very necessary in programming.

So, a few months ago I endeavored to learn to touch type. The good news: it’s not very difficult, doesn’t take that long, and works pretty well. The bad news: your typing speed drops a lot initially.

TypingWeb

For general purpose “learning to type” I found TypingWeb to be the best. The interface is clean, the lessons helpful.

Typing.io

For special characters, typing.io is excellent. You can type through code from open source projects, and – in the premium version – upload your own code and type through that.

Typing.io also has a really useful grading summary. It counts – unlike so many other typing tools – backspaces and eliminated characters to develop an efficiency score. That’s great – an error rate of, say 2% doesn’t fully encompass how much trouble you go to in order to fix the errors,. Counting incorrectly typed, collaterally typed, and backspaces does account for that trouble – and from experience, I’ll say that an error rate of 5% can lead to an overall efficiency of 80% – 85%. That’s not very good.

The above lesson was a little easier than most – Python, using variable names I’d typed quite a bit before – but coding feels so much smoother when the unproductive keystrokes are under 5% (usually, aka for Javascript or PHP, I’m at ~60 WPM with 9% – 12% unproductive keystrokes).

I’m going to keep practicing until I can get to > 75 WPM with < 3% error rate across multiple languages (PHP, Javascript, C, Clojure, Python, etc). At that point I think I won’t have to worry about what to type – it’ll just be seamless – and I’ll reduce the friction, very slightly, from getting things inside my head onto the computer.