Approximately one year ago, I started independent consulting in earnest. I had spent six years at my previous role and had a number of systems and routines in place to manage my day and help productivity. Those all had to be re-examined.
This post will be the first in an occasional series where I break the fourth wall and discuss issues related to my consulting and how I’ve dealt with them. I started this blog back in 2006 to post code snippets and such in the hopes that they could help someone else. In that same spirit, I’ll discuss day-to-day issues related to the practice of consulting
In my previous role, I had a homogeneous environment that consisted of Google Workspace and Slack, with a splash of Salesforce and Zoom thrown in. In setting myself up for consulting, I basically mimicked that setup (minus Salesforce). It wasn’t long before my tried and true systems began to splinter, mainly due to one fact: every customer gives you an email and calendar on their own system.
This shouldn’t have come as a surprise. In my previous role as a CIO, I did the same thing to our contractors and consultants. (Sorry, folks.) Most of my customers use the Microsoft suite (Outlook, Office 365, Teams) while a handful of others and I use Google. Email is fairly easy to keep straight, but calendars emerged as my biggest synchronization problem. In this post, I’ll discuss the system I’ve developed for calendar management and synchronization.
I’m going to burst your bubble up front – I haven’t found a magic automation that keeps all of my calendars in sync across Google and Microsoft. There’s a lot of manual effort involved.
Calendars are a big productivity tool for me because of the communication aspect. Not only do they help me keep my day straight, but they also communicate my availability. When my schedule gets balkanized across multiple calendars, it’s pretty easy for me to see a unified view of them, but that view doesn’t communicate my availability across all systems. As a result, a meeting on Calendar A that isn’t in Calendar B makes me look available to Customer B and they will schedule a meeting. This happens so often that it doesn’t surprise me anymore.
Despite the existence of the ICS format, calendars are my single biggest interoperability/productivity issue. Both Outlook and Google will allow you to pull in the ICS feed of a calendar, but that’s where it stops. In this case Outlook behaves slightly better, in that it will periodically refresh the feed whereas Google is one-and-done.
Added to this is that I use Calendly to communicate my availability to external parties. Calendly works fine with Google and Microsoft, but my Microsoft customers implement IT policies that prevent me from using the Calendly integration (a reasonable restriction). That leaves me with my LLC calendar (Google) as the source of truth for Calendly.
As I mentioned above, I have fallen back to a manual system in which I pull up all of my calendars side-by-side in the desktop Outlook app (more on Outlook later) and manually create placeholders as needed across all calendars. Over time, I’ve gotten to the point where this takes about five to ten minutes each morning. I have a 30-minute “daily startup” block each day on my calendar. Calendar synchronization is a primary task during this time.
I really like the Outlook desktop app for this. First, the current version allows me to natively add Office 365 and Google accounts, so I have one unified client for all email. With native Google integration, it also pulls in Google calendars alongside the Office 365 calendars. This allows me to take advantage of Outlook’s “overlay” feature to display all of my calendar items side-by-side in one view. As shown below.
Outlook calendar in overlay mode on MacOS
In this case, I have three accounts installed in Outlook. Although you can’t see the column headers, this is the weekly view (my default) and the day with the calendar items is Tuesday. As can be seen, I have a recurring appointment at 4pm each week. Because I see three items side-by-side, I know that it is on all of my calendars.
By contrast, the recurring “Data Review” meeting only appears on the green calendar. This means I am at risk of double-booking myself on either the red or the blue calendar. To solve this, I take either one of two steps. If I own the calendar item, I will simply invite my other accounts to it, causing the event to show up on those calendars and block my availability there. If I don’t own the calendar item, I will simply create placeholder items for the same time on the other calendars.
In a perfect world, this can be automated, but IT policies on customer accounts (especially those who use Microsoft) make that unworkable and manual sync is the only reliable method I have found. In this case, my LLC calendar is the one in blue, so make sure items appear there automatically updates my external availability on Calendly.
This has been a quick look into my daily process for calendar sync. Each new customer proliferates this problem a little more, but I like having customers so this is merely a cost of doing business.
In my next installment, I’ll discuss enhancing spam management with rules that examine message headers for common mass email automation platforms.
Thanks for reading