The week ahead: 26 Jan 2015


I should have started the week by writing this, but I’ll do it quickly now anyway.

My current todo list.
List status: Pretty good. Mostly organized near the top. Less so further down. Fine for now.

Objectives to call out for this week.

  • Bugzilla and Github clean-out / triage
  • Move my home office out to the shed (depending on a few things)

+ some things that carry over from last week

  • Write a daily working process
  • Work out a plan for aligning metrics work with dev team heartbeats
  • Don’t let the immediate todo list get in the way of planning long term processes
  • Invest time in working open
  • Wrestle with multiple todo list systems until they (or I) work together nicely

The week ahead: 19 Jan 2015


If all goes to plan, I will:

  • Write a daily working process
  • Use a public todo list, and make it work
  • Catch up on more email from time off
  • Ship V1 of Webmaker Metrics retention dashboard
  • Work out a plan for aligning metrics work with dev team heartbeats
  • Don’t let the immediate todo list get in the way of planning long term processes
  • Invest time in working open
  • Wrestle with multiple todo list systems until they (or I) work together nicely
  • Survive a 5 day week (it’s been a while)
  • Write up final testing blog posts from EOY before those tests are forgotten
  • Book data practices kick-off meetings with all teams

To try and solve some of the process challenges, I’ve gone back to a tool I built a couple of years ago (Done by When) and I’m breaking it a little bit to make it useful to me again. This might end up being an evening time project to learn about some of the new tech the Webmaker team are using this year (particularly rewriting the front end with React). I find it useful to have a side-project to use as a playground for learning new things.

Anyway, have a great week. I’ll try and write up some more notes at the end.

From 2014 to 2015

I’ve had a couple of weeks off work and it’s been a good time to reflect on the year past, and the one ahead. And before I dive back into things on Friday morning, I wanted to get this post published. It’s a long one, and writing it was more for my benefit than yours 😉

On 2014

Cassie’s post on 2014 has claimed the perfect title already, but I’ll ditto that it was a hell of a year: New job, second baby, two house moves, one house purchase, one trip to Toronto, two to San Francisco, Mozfest in London, Mozlandia in Portland, finally finishing my degree and graduating, and continually adjusting our home-life around the amazing speed at which a two year old and a newborn can change in any 24 hour period.

Some reflections:

My job title might focus on Metrics, but I don’t just work with numbers, I work with people. And that makes me happy because people are the best. While I love finding ways to measure things, what’s infinitely more interesting is the process of connecting that measurement back to decisions other people make. I’m one year into this role and it’s turning out more like I imagined it from the job description than I thought would be possible, but perhaps that’s because I’ve been given the space to make it that way.

On that note, public speaking is still one of the best ways to learn something (though ‘public writing’ may be almost as useful). I’ve learned to not-hate giving presentations but I don’t rush into them either. I gave a talk in September on ‘Working with numbers and People / Human Beings’, which was a useful exercise in reflecting on my own work, and how I go about doing my day job (slides). It forced me to think about many things that will help me plan for 2015.

I’m in many teams, even though I’m in a team of one. I make a conscious effort to understand the culture, process and motivations of all the teams and people I work with, and I take it as a huge compliment when people forget I’m not just on their team, but rather I’m working with all the teams. This cross-team working is something I’ve gravitated to in my roles prior to Mozilla too, but Metrics is a topic that lends itself especially well to this kind of cross-team work.

Being on many teams can be exhausting. Especially if it’s a ‘planning workweek’, in say Portland, and you’re working with all the teams who are doing their 2015 planning and also working in the team who are specifically not planning, because it’s the End of Year fundraising campaign (which could more than fill the week’s working hours on its own). That looked a lot like working from 04:00 to 22:00 for a few days, though I reclaimed my downtime in party at the end of the week. That was a good night.

On that note, I exceeded my working capacity by the end of the year. There will always be more work than can be done, but it takes a while for a new role to settle, and for the organization to know what to ask of and expect from a new role like mine. And by the end of the year, I’d overstretched what I had the capacity to deliver. That’s normal, but I need to build working processes this year that expect more work requests than can be delivered rather than just saying yes to everything like I was able to do for most of 2014.

‘Janky’ solutions were the right thing in 2014 for most of my projects (and I absorbed the word Janky into my vocabulary). This year I built a lot of ‘temporary’ and ‘interim’ things, which were useful at the time and helped various people make decisions quickly but which weren’t designed for long term maintenance. For most of these projects that was the right decision, as so much strategy is changing in 2015. But moving forward, I want to build some more reusable infrastructure around this work.

I had an (almost) clean slate, technology wise. The role was new so I didn’t inherit a bunch of systems to maintain, but I also didn’t build up much infrastructure. As I think about technology solutions in 2015, I need to keep maintenance time for projects to a minimum, because it could quickly eat up my capacity to get new things done. This year I want to shift to longer term solutions though for some of the work that was ‘janky’ in 2014.

I learned (much more) JavaScript. Previously I’d dabbled in front-end JS leaning heavily on jQuery. But working on projects, and building other apps and services around our contribution metrics projects I learned a fair amount about node.js development and also a chunk of D3, both of which I’ve come to like a lot. I also upped my git skills. So +1 for learning by doing.

I have loved and hated Bugzilla this year. It took me most of the year to get a Bugzilla based work management system in place and use this as my central record for all metrics work, but with a bunch of MoFo dev and planning work shifting to Github for issue management, my work and collaboration process is now in multiple systems. This is a headache for me, but I’ll find a way to make this work.

Working remotely is excellent, given enough face-to-face time. I’m fine with managing my own time at home, having completed my degree this way and having worked as a freelancer too, but keeping the work ‘real’ with video meetings is something I need. And while the face-to-face workweeks throughout the year are tough for taking me away from home and our young family, they are essential for building the relationships with the team. If we didn’t have the workweeks, the remote work would be much harder. And when it all adds up, I think I get more time with my kids than most working parents who never have to travel. This year, I was really happy with the balance.

Working across timezones is hard, sometimes. I love having the morning to tackle complex problems knowing I won’t get a phone call or email as everyone else is still fast asleep, but by the afternoon I hit a point where my calendar is quickly full of calls, and the people waking up are full of questions and I switch from ‘doing’ to ‘answering’ mode. This is usually fine, but it means my calls are back-to-back until 6pm my time when I instantly switch from a bunch of unresolved threads of work conversation in my head to step out of my office and play with son for an hour before he goes to bed. It’s amazing to get that time with my son at this age, but that context switch is really tough and I need a better process of recording those open threads while on the calls, so that I can relax until the following morning knowing things won’t be lost. When we hit busier periods across the org, I know I’ll lose more of my evenings to late video meetings, but I try to keep this in check with the rest of life’s needs.

I need to take more time off throughout the year. Otherwise it all piles up at the end of the year like it did this year (though the time off has been useful for settling in after our recent house move). Taking time off was hard in year one, when I was still finding my place, and working out what’s expected and required in a new role, but it’s important for long term productivity. It’s the time when you have room to breathe and think further ahead, and put the work into the context of personal life and the world we live in. I’m lucky to do work that I am personally interested in and committed to, but that can make switching off hard at times. When your work is online, it’s hard to avoid work without avoiding the internet.

I completed my degree this year, after a six-year-long year-off. I got myself a ‘BSc (Open)’. The ‘Open’ is because it was a ‘choose your own adventure’ type of qualification via the Open University. I’ve written about that story elsewhere, but the final qualification is a little bit of maths, a fair amount of computer science and finished off with some storytelling in a creative writing course. This was a combination which I thought was funny at the time when I registered, but now turns out to be what I do for a living.

In 2015

I want to learn more about learning. I am a compulsive learner but I know that doesn’t apply to everyone, and with Webmaker’s educational mission, I want to better understand how learning works. In part that connects to the metrics angle of my role via the scientific field of Learning Analytics, but also I just want to know more about this for myself.

I might try and write at least some code every day (how’s that for commitment?!). Though I’m not one for New Year’s resolutions, because I generally like to set myself new challenges all year round, on New Year’s Eve I recalled John Resig’s post about writing code every day and told my wife I would do this in 2015. Then on 2nd January I got a vomitting bug and took to bed for the best part of 3 days, failing my goal pretty quickly. Since then however, I have been hacking on Done by When in my evenings and really enjoying it. I’ll see how this goes. Overall I’d like to be coding more regularly, rather than in short intense bursts.

I’ll need to say no to some things. As noted above, I’ve reached capacity so need to think about what does and doesn’t get done throughout the year.

I need to manage myself as though I was a team. I can’t just attack whatever is on top of the todo list and keep letting the list grow. I will adopt some of the heartbeat principles used by Webmaker, and try to be strict with myself about allocating separate time for planning, doing, documenting, and communicating. It can’t all be doing. I’ll write more about my processes as I work them out.

I’ll leave this blog post at that, as it’s grown to quite a length. I’m back to work from tomorrow morning, and this afternoon I need to finishing making the spare room into a suitable working environment.

Catch you online soon.

Contributor Dashboard Status Update (‘busy work’?)

While I’m always itching to get on with doing the work that needs doing, I’ve spent this morning writing about it instead. Part of me hates this, but another realizes this is valuable. Especially when you’re working remotely and the project status in your head is of no use to your colleagues scattered around the globe.

So here’s the updated status page on our Mozilla Foundation Contributor Dashboard, and some progress on my ‘working open‘.

Filing bugs, linking them to each other, and editing wiki pages can be tedious work (especially wiki tables that link to bugs!) but the end result is very helpful, for me as well as those following and contributing to the project.

And a hat-tip to Pierros, whose hard-work on the project Baloo wiki page directly inspired the formatting here.

Now, back to doing! :)

Weeknotes 5 – Webmaker Workweek

View from Mozilla Space Toronto
View from Mozilla Toronto

As I’m halfway into the following week I’m writing these notes quickly rather than losing them completely. I apologize in advance :)

Week 5 was spent in Toronto with the Webmaker team and it will be hard for a quick write-up to do this week justice. I got to hack and hang-out with about half of the total Mozilla Foundation staff, which is hugely valuable four weeks into a job where you mostly work remotely. IRC handles turned into real people, and the people turned out to be very special. So first, thanks to this amazing team for welcoming me so kindly. I think we crammed a year’s worth of social activity into a week’s worth of evenings and across the whole week, I almost got a whole night’s worth of sleep.

I signed more that one waiver in the name of fun this week
I signed more than one waiver in the name of fun this week

There’s a test that goes something along the lines of “people you wouldn’t mind getting stuck at an airport with”, and everyone I met last week would pass that test. Genuinely.

I thought this week might have been a lot of talking and leaving with too many ideas to implement, but from the start it was structured to create measurable output.

Sunday in the office, the bugzilla tickets were transformed into a physical scrum board:

Webmaker Scrum Board

And during the week, these discrete tasks moved from To Make > Making > Made

In the metrics track, I was lucky to work closely with Scott Downe who taught me a tonne of useful things, and we shipped some stuff too. Including a brand new process to make continual testing and optimisation of the Webmaker tools practical.

You can see the new testing process here, and our tests and the results will be open for you to follow along as we learn more about our tools and how people use them.


I like this Canadian alternative to the UK's "One Way"
I like this Canadian alternative to the UK’s “One Way”

And I would be negligent not to include the gif of the week:

Week 4 at Mozilla

I gathered up the output from my many discussions with our teams so far, and I’m proposing a plan for shipping a Mozilla Foundation Contributors Dashboard as quickly as we realistically can. I’ll be presenting this next week, and once I’ve had feedback on it, this can be turned into a proper plan of action and shared more widely.

Next week I’m in Toronto with the Webmaker team for a work-week (a pretty focused gathering on getting things done), which I’ve been busily preparing for.

You can see what we’ll be up to here (I’m space-wrangling the Metrics track):

P.S. ‘Space-wrangling’ is official Mozilla terminology, and animated GIFs are our primary means of communication.

Because we work in the open, you can follow live updates on how well we’re shipping our planned output during the work-week:

Getting ready for this week involved opening a lot of Bugzilla tickets, so we can track progress during the week. Bugzilla is a bit of a monster (I think it looks like this) but it’s also a good way of getting things done. By the time I’d looked at 20+ tickets my brain was starting to filter out the noise in the interface from fields that don’t get used. I’m sure it will get easier to use with time.

I also learnt this week that there are close to 1 million bugs now logged in that system – which is pretty amazing record of the amount of work done by many many Mozillians over many many years. I reckon as you’re using the internet right now (I hope you haven’t printed this out!), you’re online experience is better as a direct result of at least one of those million bugs.

To wrap this up, I’d like to be about 10 times more prepared for next week, but I think that’s largely the result of not knowing what to expect.

I’m very excited to meet more of my new teammates IRL, but will also miss my wife and our little lunatic, so this picture is my new wallpaper for my travels:

Go work-week!
Go work-week!

Available hours in a year for personal projects

While planning ahead to finish my Open University studies, I’ve been testing how well I can study in my available free time; and my recent study with Coursera has provided a pretty good simulation.

It’s important to be realistic with yourself about how much time you actually have to do these things, on a sustainable basis, for a significant period of time. Especially with the tuition fees being as expensive as they are and if you’re making a commitment for a whole year of your free time.

My thinking has gone like this…

First I account for my time being a husband and dad, then my working hours, then sleep, then a few hours for getting/keeping fit and I’m left with around two hours per day, or 14 hours a week of ‘free’ time. For a couple of weeks at a time, it is possible to fill those 14 hours completely with study or to make progress on a project, but it’s exhausting, and over a longer period like a year, it just won’t work. In those 14 free hours I need some downtime. I need at least a couple of nights off to watch a film, kill some aliens in a computer game or enjoy a good single malt. If you don’t plan for downtime, you’re not being realistic and you will be less effective.

This is not an issue of direction, but of how much fuel is in the tank.

After my tests and calculations, what I’m left with is about nine hours each week for stretching myself with new things (there are new things to do in my working hours too, but that’s not quite the same).

I have many many lists of things I want to build, write, make, test, learn and do, so coming to terms with the finite number of hours available in a week, and therefore a year, is always a battle with myself. But it’s an important battle and I’m in one my more realistic planning phases right now.

Bringing this thought back to my studies, finishing my degree has become more complex than I first expected because my route to this current point doesn’t fit into the standard institutional boxes, which now excludes me from a student loan. I also need to choose modules that work with the time I can commit so I’ve been working through a few spreadsheets to make sense of my options. We’ll see what happens, but it might be I can’t afford a degree ‘with honours’, but I can live with that. It’ll still be a BSc, largely in computer science with a chunk of something random at the end. It suits me quite well.

My study will start again proper in October, so I have nine weeks left to fit in a final personal project for this year. All other ideas must be put on ice until late 2014.

Nine weeks is about 81 hours.

I had been toying with the idea of building a game of some sort, as my recent messing about was enjoyable, but after watching Indie Game The Movie (I recommend it by the way), I realise how much of an overcommitment that would be for 81 hours. Even a simple game would be unachievable in that time given the number of new tools I’d be learning in the process. All game ideas are frozen.

So I have another idea, one that should fit in the time.

But I’ll give it some more thought before talking about it here.

One parting thought for this evening.

Nine hours a week might not sound like much, but it adds up.

468 hours in a year is about the equivalent of three months of full-time work. That’s a useful reference point when planning what you want to get done in the next year.

You need a process to work effectively with so many small chunks of time, but think of what you could do with a quarter of a year of working time.

If you have an idea.

If you think you could do it in three months of regular working hours.

Get making.

This isn’t so scary:

3 x 2hr weeknight sessions
1 x 3hr weekend session

Done by When (beta) is live

So, I just about scraped in inside my (second) deadline.

Done by When is live. Though very much in beta.

  • Never go live on a Friday: Fail
  • Ship early: Succeed
  • Ship often: To be seen
In building this to-do list app I’ve learnt a few new things:

All of which I can highly recommend.

There’s loads more to do. It’s still un-branded for a start and the responsive stylesheets need tidying up, but the basic service offered if fully functional and I think it brings something new to the to-do list marketplace.

Please let me know what you think.

Announcing ‘Done by When’

I promised to ship a new piece of software today but I haven’t quite made it.

Ironically it’s a tool for managing expectations, and visualizing likely delivery times for a given piece of work. It would have been useful!

I hate making excuses, but it’s been a crazy month with lots of good interruptions (lovely clients with interesting projects) and bad interruptions (family emergencies and so on).

So while it’s not ready for you to use today, I’ll have to settle with announcing the project title today, ‘Done by When‘.

A version of the tool, whether it’s ‘finished’ or not will ship by this time next week.

Thought I didn’t make the deadline this time, it’s been very helpful for focussing the mind.

I’ve set myself a challenge

I’ve had an idea for a piece of software I think would be really useful. And rather than spend months thinking about and scoping it, I’ve set myself a deadline (deadlines are magic).

The first version will ship by the end of this month.

If I’ve not announced this new project on this blog by 31 Aug 2012, feel free to send me abuse.

I’m also going to use this as a chance to learn some new skills. I think I may learn Python.