Friday, 4 October 2013

Summit Day Zero

It was pretty good. Lots of fun talking to people old and new. A few embarrassing incidents where I didn't recognize someone I should have. I brought down Settlers of Catan from my room --- Rob Arnold won, but only because Doug Sherk kept stealing my road. I also brought down Citadels and some other people played that. I should have brought more games! If we're still short of games tomorrow night we can call in reinforcements from the Toronto office.

Prescriptive Vs Descriptive Frameworks

People love to create taxonomies. Just about the first thing that Adam does in Genesis is to name the animals. Classifying and naming things is valuable because it helps us to understand relationships between entities and communicate with other people about them. However, there is a common error where people come to believe that entities that don't fit easily into the taxonomy either don't or shouldn't exist, or solve problems by searching the taxonomy when that's not the best approach.

Design patterns are a great example. They are a very useful vocabulary for explaining code. However, it's usually a mistake to tackle a programming problem by finding the design pattern that best fits and applying that pattern to the problem. Instead, we should always analyze the problem on its own merits, applying all the information we have about the context, and come up with the best solution specific to that problem. (I'm assuming here that we're interested in producing the very best code for a solution, which is true for something like Firefox but not for throw-away code or for projects with a small audience.) But since design patterns are easy to teach, and selecting a design pattern is easier to systematize than finding the best solution ex nihilo, and it's easier to tell your boss that you're using the Fridge Magnet pattern than to explain a bespoke solution, it's easy to see why a lot of people made design patterns their Procrustean bed.

This observation generalizes beyond programming. In areas as diverse as personality tests and politics, there is a drive to describe complex entities with simple categories. Entities that don't fit easily into a single category are implicitly or explicitly discouraged, to disastrous effect. I find it extremely frustrating.

We need to make a clear distinction between descriptive frameworks, which provide vocabulary to talk about common features (often not mutually exclusive), and prescriptive frameworks, which demand that reality be describable with a fixed vocabulary (generally with mutual exclusion). A taxonomic framework is very useful for describing what exists. It should not be used as the search space for solutions to problems, although it may be useful by inspiring you with options you haven't considered.

Avoiding Burnout

Mozilla has lost some good people due to burnout. I suspect working for Mozilla carries greater risk of burnout that working for "normal" organizations. A lot of people are motivated to work for Mozilla because of our mission. This motivation is powerful and persists through unhappiness. Thus, people drive themselves to work hard at the expense of their happiness and mental health. This is a recipe for burnout.

That is very true for me. There have been long periods of time when I have been frustrated with my work, feeling I would be happier doing some other work, and in fact feeling that I'm struggling to cope. But I've survived in this job a long time, I don't currently have those feelings, and in fact I feel pretty good even though I'm currently going through some travel madness. Here's a few things that have helped.

Acknowledging the ebb and flow. When I'm feeling burned out, I slack off. I think that is OK as long as it's temporary --- and as long as I'm not using it as an excuse to be lazy. For me, it's natural to have periods of time when I'm energized, followed by periods when I'm tired and I need to back off while I rest and rekindle my enthusiasm. Per my earlier post, this is not a sign I need to change jobs.

A sense of perspective. When I feel my job sucks, it's important to take a step back and think about what I'm comparing it to. Objectively, my worst weeks at Mozilla have been worldly bliss compared to most weeks of most people over most of human history. It is critically important to never lose sight of this fact. (There are a few Mozilla people for whom this is not true; you know who you are and I tip my hat to you.) Whenever I feel like a heroic martyr, it's simply ridiculous.

Changing focus. When I'm sick and tired of working on something, it's very helpful to work on something different --- "a change is as good as a rest" (which is mostly but not entirely true). Mozilla does a lot of important things and there are a lot of very different ways to contribute to Mozilla's mission, so it's not a problem to rotate people in and out of particular roles.

Family. My wife and children are a vital anchor for my mental health. My commitments to them --- and their policing of those commitments --- prevent me from going too far overboard with work. Spending time with them, giving and receiving love, is the best tonic I have.

The Sabbath. I often struggle to rest and relax because I feel burdened with work projects and guilty for not working; this contributes to burnout. I find that compulsory downtime, decreed and ideally enforced by an external source, is extremely helpful in dealing with that guilt: I don't need to feel guilty about not working when someone is making me do it. My family is one source of that compulsion, and my Christian convictions about not working on Sunday (not always observed :-( ) are another.

Relinquish responsibility. Feelings of being irreplaceable can be extremely draining and contribute to guilt, anxiety and the difficulty of resting. Therefore it's very important to break those feelings --- forcing oneself to step aside, at least temporarily, and see what happens. It's usually not as bad as you think. We also need to keep in mind that we are only responsible for what we do; as individuals we are not responsible for Mozilla's ultimate success or failure. We have to let go and not worry about what we, as individuals or as a group, do not control. Over the years I've developed a little bit of apathy, which has been valuable.

Remember the mission. Sometimes, when enthusiasm fails, I must ask myself whether there's any work I could be doing that's more important than my work at Mozilla. So far, the honest answer has always been no, and so I know what I must do. As I suggested above, this can be a scourge, but it can also be liberating. There's a certain exhilaration in knowing what one should do, and throwing yourself into it with nothing but grim determination.

Jesus. Sorry to my irreligious readers, but this true and important. Many times I have felt myself to be running on empty, and my only recourse has been to pray to the Lord for strength to do what I know I should do. Many of those times I have been quickly refreshed in a way that feels miraculous. Apart from that immediate relief, my identity in Christ provides logical and emotional support to many of the items above: my commitment to my family, my sense of duty, my sense of perspective, my sense that God is ultimately in control, and the obligation to periodically disengage from work. Had I not been a Christian, I don't think I would have survived.

Thursday, 3 October 2013

Travel Madness

I am currently in the middle of the most intense travel burden that I have ever experienced. In the week starting September the 8th I was in California for the LEAD leadership training program. Then I was home for two weeks before flying to Toronto for 8 days for the Mozilla Summit. After that I'll be home for a week and a half before flying to Paris for the "Web rendering" work week. After that I'll be home for a week before flying to California again for LEAD.

I know a lot of people fly more frequently than this, even at Mozilla, but for me this is extraordinary. Also, because I live in New Zealand, the distance of these trips is especially great. For the nine weeks starting September 8, my average speed is over 65 kilometres per hour.

I still like travel! It's fun to visit different places and people. The problem with travel is that it takes me away from my family, my closest friends, and my church. It's not good for the environment either. Also I don't sleep all that well when I'm travelling. I'm not sure why; I think it's not so much jet lag as being away from the comforts of home, and tending to be too busy to do my normal work, so trying to catch up on my normal work at nights.

Fortunately this will come to an end soon. LEAD ends this year so next year I can expect things to return more or less to normal.