I was inspired by Paul Graham's essay How to Lose Time and Money. In it, he talks about things that seem like work (they are not fun, you do them at the office) but which are actually a waste of time. Because they're not so obviously a waste of time like sitting in front of the TV all day during a weekday, one needs to take extra care of them.
I've definitely had days when I might as well have sat in front of a TV all day—days at the end of which, if I asked myself what I got done that day, the answer would have been: basically, nothing. I feel bad after these days too, but nothing like as bad as I'd feel if I spent the whole day on the sofa watching TV. If I spent a whole day watching TV I'd feel like I was descending into perdition. But the same alarms don't go off on the days when I get nothing done, because I'm doing stuff that seems, superficially, like real work. Dealing with email, for example. You do it sitting at a desk. It's not fun. So it must be work.
I suspect, as an employee, as one gets paid anyway, one doesn't take care of these things at all. I remember, at one employment, some mandatory software updates started installing themselves on my PC, that took one hour of my time when I couldn't log in or do anything. It didn't bother me much (in fact it was almost a good thing). But I'm not in that situation, I need to produce as much value for my customers per unit time as possible. Either so I can increase my rates as much as possible (as I am providing so much value), or so I can decrease them as much as possible (as I only need a certain amount of money per month to eat, and I can become cheaper than my competition.)
Incidentally, I sometimes think that sitting in front of the TV wouldn't just be equivalent to time-wasting tasks, it might even be preferable. In front of the TV there's a ceiling on how much money one can spend (a pizza or two..), at the office one might get the idea to invest in things like new equipment, new SaaS subscriptions sucking money from one every month, hire some employees, ...
So here is my current list of things I waste time on, which I hereby resolve to waste less time on in 2014:
- Context Switching—From one project to another, or from one technology to another. It always takes a certain time, perhaps 15 mins, to switch ones brain from one environment to another. That time doesn't benefit society in any way.
- Working at weekends—Superficially this seems to increase productivity per unit time (e.g. per week), but in fact one is then mentally tired for the rest of the week, leading to one Saturday's work at the cost of multiple weekday' work.
- IT administration—My customer doesn't care if I buy a new computer every 2 months or every 2 years. But each time a new piece of equipment comes in, it has to be chosen, ordered, unpacked, physically installed (e.g. monitor arm), if it's a PC then software needs to be installed, WLAN password entered, etc. This is just lost time, it's not productive.
- Organizing office space—For example choosing offices, choosing and installing tables, worrying why the printer or router doesn't work. (Thankfully this one I've got sorted out, I work out of co-working spaces such as sekor5, which costs money, but everything's provided.)
- Ownership of superfluous stuff—It took me some time to get someone to officially live in my old flatshare room. In this time I was paying the bills, the person who was living there was paying me, etc. It seemed like "work" in that I did it during work hours, it needed concentration and accuracy, it clearly needed to be done (otherwise the bills wouldn't have been paid). But in fact this was just useless administration which didn't yield me or any customer any benefit. The same case was true when I owned a car I didn't really use, and had to service it, etc.
- Multiple computers—Having installed SQL Server for one project on my work PC, I was off-site and wanted to do some work on my laptop, and found SQL Server wasn't installed, so I had to download it, install it, configure it, etc. This is work nobody benefits from, which could have been avoided if I just had a single laptop which I also used in the office, or if I didn't work off-site and thus didn't have a laptop, or if I logged in to my work PC remotely, or did more stuff on the cloud, etc. It takes ages to install my Eclipse workspace, for example.
- Re-installing computers—Same as multiple computers. I don't really ever do this myself, but I know other people who do. (One colleague at one company decided to spend the whole day installing Linux. The boss sent an important email containing a task that was actually relevant to the business, and when he hadn't done the task, he protested, "how could I have done it? I didn't know about it, I was re-installing...")
- Slow computers—I generally think that I work as fast as my brain can go, which is generally slower than any piece of technology. However, when my laptop lost WLAN and had to be rebooted, I think I lost 40 minutes in total. One doesn't notice it, one believes it's necessary, but this time I timed it and realized, this is ridiculous, nobody is benefiting from this 40 minutes of my life. But again, it's not fun, so it feels like work.
- Multiple software branches—We made a branch of one of my customers software for a long-running project. We refactored just about everything. In Java with e.g. Eclipse this is easy to do. Rename a core method and then every usage of that method gets renamed automatically, maybe 5-10 usages per file. We had to continue to add features to the main branch though. Every time we merged, it was a nightmare due to so many methods having been renamed. Avoid long-running branches and refactoring in them; the customer has no benefit from this time expended. (And it's definitely not fun...)
- Status meetings—"Only one hour a week!" But there are only a certain number of hours in the week. If I have five projects, each requires a status meeting, and some of them are at random times e.g. in the afternoon, then soon the whole week is gone. It feels like work (the customer demands the meetings, after all) but the customer isn't going to get the project finished any time soon, even if they don't realize that. (More info from another great PG essay)
- Pointless project management—Answering emails from customers such as "when will it be ready?" or from employees "what shall I do?". Thanks to LiquidPlanner we now have that under control; there is a single place in the cloud all customers and employees can log in and answer these questions themselves without slowing me down, and incurring costs for the customer.
- Invoicing, tax accountancy, etc.—As a business owner there is a certain amount of work I am required to do, which isn't programming. Collecting my employees' timesheets. Making invoices out of them. Sending them. Recording which ones are paid. Following up unpaid ones. Sending all my bank statements and associated documents to my accountant. I do this during work time and necessarily I must factor in this time when deciding how much to charge my clients when I actually do work. But the customer isn't paying for anything which they really want. I need to streamline this process.
- Travelling—Thinking I'll go and see a friend and then just work from their location for a week or so. Flying, even a single hour of flight, basically takes the whole day, once you've packed, gone to the airport, flown, got your baggage, got to your friends' place, etc. Not to mention planning the trip, communicating with the friend, buying the tickets (comparing prices in multiple browser tabs), printing off the boarding pass, potentially organizing somewhere to stay, a co-working space. And then you're tired and might need one or two days to recover. Travelling is nice, but all of the above is a complete waste of time, in the sense it isn't helping your business or your customers.