Monday March 17, 2014

The Tools I Use

taking care of business

By Colin Lieberman

Now that I’m a full-time manager, I find I’ve got more specific needs for how I use my work computer. As a developer, most of what I needed was command-line stuff like screen, a couple terminal control-key overrides, and effective email filtering. As a manager, I need tools that help me stay on top of a much broader set of communication, task & project management, and scheduling problems.

A number of tools I’ll describe I also used as a developer. All of them would be of use to a developer, but I didn’t find I needed them until I was managing full-time.

email

The only realistic way to manage email — no matter what job you have — is to have an effective way to filter email into appropriate folders. You can do this in your mail client, you can do this through gmail filters, you can do this lots of ways. Here are some general principles that I’ve found helpful:

Don’t read everything.

Do you really need to see every svn or git commit email? Probably not. When I was at Yahoo!, my team was small and focussed enough that reading all the svn commit messages was helpful. In my current life, that doesn’t apply; there are just too many repositories, with too many people working in them, for commit messages to be useful. I have all commit messages filtered as “read” and filed away where I’ll find them in a search, but won’t see them otherwise.

It’s the same for emails from your ticketing system. I’m on a team whose team alias gets a lot of Jira email. I don’t need to read them all, so just like with svn commit messages, emails from jira to the team alias are all filtered as “read” and archived away where they’re searchable.

Other Jira messages get split out. I have one folder for any Jira email in which I’m specifically tagged, and another for messages on tickets that I follow. I know to read the messages in the “tagged” folder carefully, and I can go more quickly through the others. For the non-tagged messages, I sort that folder by thread, so that if there are many messages on a single ticket, I can mark them all as read and then just go read the ticket to see its current state. Specifically for Jira, setting your email preferences for plain text (rather than the default HTML) emails results in messages that are much easier to read.

Your inbox is a todo list.

Inbox Zero is the only way to be. After reading an email from your inbox, file it away in another folder. I’ve got dozens of folders for different projects, management issues (eg goals, PTO requests, etc.) for each person on my team (organized into “current” & “former” subfolders), or various other themes. The only messages that hang out in my inbox are those for which I’m waiting on a response, or I need to do something myself.

In order to more quickly sort email, I use Keyboard Maestro. I have a palette of mailbox macros so I can sort read mail to the appropriate folder with just a few keystrokes.

Archive effectively.

If you use a mail client via IMAP, you know that syncing large folders can take a lot of time. Identify a few archive folders that you’ll rarely ever need to look in, and keep folders that regularly receive email empty. For example, I have a “techies” folder for email on the techies@ list. I also have a separate techies.archive folder where read messages go. Using Keyboard Maestro, after reading a message, I hit the macro command to archive the message. This keeps the folder that receives new messages empty & fast.

Don’t try to catch up.

After coming back from vacation or extended sick time, don’t even try to cut into the email backlog. Just mark all the mail as “read” and move them to your archives. Anything important you’ll learn about some other way. Again, Keyboard Maestro makes this very easy to do.

Use notes.

I use the “notes” feature in my mail client for all kinds of lists. For people that I meet with regularly — everyone on my team, my boss, etc. — I have a note with the person’s name at the top, and when I have something I want to tell them or discuss, I add that to the person’s note file. Then the next time we meet, I can just pull up all the questions I have for that person in one place.

I also use notes for things like databse queries or logins, project notes, and anything else I’d want to keep jotted-down and handy.

Calendaring

iCal just doesn’t cut it. Search is slow, and if you accidentally move a meeting, there’s no “cancel” button: you’re forced to notify all attendees of your accidental change.

I use BusyCal. They layout is vastly superior to iCal, with mini calendars for the next n (my n = 3) months on one pane, your day/week/month view in a middle pane, and todo items and event details in a third. The search feature is excellent. And it doesn’t have iCal’s broken handling of accidentally moved meetings.

Another excellent feature is that you can give BusyCal a list of timezones that you want to appear in a dropdown menu. If you work regular with others around the globe (my team is based in both Oakland and Newcastle-upon-Tyne), it’s easy to switch between timezone views and double check what time you’re scheduling something in that timezone.

Browsing

Google docs, Jira tickets, documentation, dashboards, and on and on and on. I found the my old default browser, Firefox, just wasn’t cutting it. For whatever reason — whether it was add-ons or memory management or I don’t know what else — I found that FireFox just couldn’t get slower and slower and slower, and I switched to Chrome. There are a few Chrome extensions that are needed to make everything sing:

I also have Keyboard Maestro macros that map option-tab and option-shift-tab to the commands to move between browser tabs. I find option-tab much easier than the default control-tab.

Clocks

I know that the UK is 8 hours ahead of California; 7 during the brief interlude between when each zone switches to Daylight Savings Time, and yes, that’s easy math. But having another clock that I can check at a glance is faster and less error-prone.

World Clock Deluxe is an excellent tool. You can have a palette with multiple timezones, or an additional menu bar clock that rotates between timezones. If you regularly work with people in other timezones, this is a life saver.

Keyboard Shortcuts

I mentioned Keyboard Maestro above for quick email sorting, activating the Fauxbar in Chrome, and easier browser tabbing. I use it for other things as well. I have a macro that sets up the apps and URLs I need for my team’s daily status meeting. I have a macro that launches my KeePassX password database (which lives in a Dropbox folder, along with dot-files and whatnot). I have another that re-gathers displays in the system preferences, which is needed when frequently switching between monitors, projectors, etc.

Anything that’s repetitive, I try to simplify with Keyboard Maestro.

Code Reviews and other Meetings

We use Zoom for meetings. It works well. The recording feature is especially great. For team code reviews, and for classes the team is teaching, we can record the audio & screenshare via Zoom, and make the video available to anyone who couldn’t attend in person. A good USB microphone is particularly helpful with this.

My goal with tools like these is to try to be as lazy as I can.

Comments:

  Textile Help