Michał’s conference war chest

It’s not unusual for conferences to cost an arm and a leg. At €1,000 or more for just the entry, on top of which come travel and accommodation, and I often attend two or three events a year. That’s a pile of money in need of justification spending, and I can only do so if I bring back lots of valuable information. Here’s what I do nowadays—the tools and tricks I worked out for surviving and thriving as a conference attendee.

Preparation

During a conference I want to focus strictly on acquiring information and connecting with other attendees, so to free up time I prepare a lot upfront.

Session selection comes first. Conference schedules usually appear piece by piece, so a week or two before the event I go through all sessions and plan my agenda. The last thing I want is to make haphazard, effectively random decisions at the venue.

  • If I’m attending with any colleagues, we sit down together to split up the sessions and cover more ground.
  • If there’s more than one interesting session in a given time slot, I write down all of them and prioritize. This way I have more options when my first choice turns out to be a flop or suddenly gets canceled.

I add selected sessions into Google Calendar, synchronized across all of my devices. Some conferences have dedicated apps to store one’s schedule, but these may or may not work to my liking or could have issues on shaky Wi-Fi. Plus I quickly would’ve acquired a pile of useless apps and accounts.

GOTO Berlin schedule in Calendar

I’m really big on notes. Before the conference I setup a fresh Google Doc, since I’ll be taking notes on a tablet, with pre-entered:

  • sections for each chosen session, ordered chronologically,
  • names and
  • Twitter handles of speakers.

GOTO Berlin conference notes

Using Google Docs has a number of advantages:

  • I can share the document with colleagues, both at the venue or back at the office, where they can follow me in real-time,
  • Google Docs’ context-aware spellchecker is pretty decent, which helps a lot when (mis)typing on a tablet,
  • the chronological order lets me get ready quickly by opening the document and scrolling down to the next empty section,
  • speakers’ Twitter handles make live tweeting easier.

I’ll often write the Twitter handles with the conference hashtags, ie.:

 @mpaluchowski #craftconf

Note the leading space. This snippet I can easily copy and paste after every quote I tweet during a session.

D-Day(s)

The conference days are always intense, both physically as well as mentally, so my focus here is to stay light and fit.

I carry my own shoulder bag, currently the excellent Camel Active Dakar, which contains my tablet, wallet, business cards and a pen or two.

Camel Active Dakar shoulder bag

Conferences usually hand out their own bags, but most of these aren’t convenient to carry around for a full day. I carefully selected a good bag, that:

  • keeps my hands free all day—especially beneficial at standing lunches,
  • doesn’t bite into my shoulder(s),
  • doesn’t bump around my hip thanks to its vertical orientation,
  • easily fits into my lap during a session, when space is tight,
  • carries everything I need—the Camel one can easily carry a 12″ laptop or A4-sized documents.

Michal taking notes at CraftConf 2015

My device for note taking is currently the iPad Air 2. A laptop wouldn’t do because the vast majority won’t last a full day on batteries and I sure as hell don’t want to waste time on recharging.

Typing on a tablet is pretty cumbersome, but gets better with practice, plus Google Docs’ spellchecker helps a lot, and anyway I won’t be publishing raw notes anywhere without post-processing. A colleague is happy doing notes on an iPad Mini so the smaller form factor could work as well.

iOS 9’s Peek function was a real blessing, since I tweet a lot during sessions, on top of taking notes. Earlier I had to keep switching between the Google Docs and Twitter apps, whereas now I can just slide in Twitter on the side for a quick tweet and return to notes. Thanks, Apple!

A conference day is really hard for the body since I spend a lot of time sitting still in sessions, while my brain keeps working in high gear, burning lots of fuel and not getting nearly enough oxygen to clean up the trash from metabolism. This means unless I pay attention to my body, by the end of day I’ll likely develop a headache and won’t see much from the conference party. So I:

  • drink a lot of water, either carry my own bottle and keep sipping during sessions, or drink a glass at each break. The side effect is having to visit the bathroom often, but there’s a trick to that too.
  • move a lot in between sessions—no sitting, lots of walking, gesticulation, even leaving the venue when possible.
  • eat light, opting for complex fuel sources, like protein or complex carbohydrates. No pastry or sweets of any kind—these would burn up quickly leaving me hungry and distracted.

Finally, I try to sit near convenient exit rows, so that I can easily leave the session if I don’t like it, or reach the toilet before the crowd does. Trust me, this is a real problem during male-dominated software events.

Post-processing

There’s little value in all the information I acquire at a conference if it stays inside my head. Sharing it with others and turning it into action is where the payoff starts.

Conferences are often followed by a weekend, which is super convenient since I can focus on something completely different and then go back to my notes with a fresh look on Monday morning.

It takes me a day or so to process notes, where I rearrange them to:

  • group into common themes, ie. microservices, DDD, Agile etc.,
  • reorder into something that makes sense in the context, rather than whatever the speaker(s) thought would,
  • list out tools, books, blog posts and other resources I saw mentioned,
  • later add links to talk recordings, once they were posted.

Finally, I produce a brief summary from the pile of information, adding my own judgment of where I see the industry right now, or how it changed compared with previous conferences. This usually turns into a blog post, richly decorated with photos and tweets from the event.

We take a look at all materials with my colleagues to decide what is most relevant to us and what we’d like to try out now or later. These go into our regular planning and I get back to everyday work, counting down to the next great conference.

Time in a box

I often cannot say know how long it’ll take me to code some feature, or whether I’ll succeed at all, given the requirements. This might be because I’ve never attempted anything like that before, or because the technical constraints around it make the solution hardly plausible. In times like these, I set myself a box of time.

Timeboxing is a practice well known to Agile practitioners. A sprint or iteration is a timebox, during which we work in pursuit of a milestone for a fixed amount of time, then stop to inspect:

  • how far we’ve come,
  • whether we’re on track towards the overall goal (project milestone, KPI), and
  • knowing what we learned, is the overall goal still feasible?

The approach helps to reduce the risk in uncertain endeavors, preventing us from going too far working on the wrong thing.

The decision to invest additional resources in a losing account, when better investments are available, is known as the sunk-cost fallacy, a costly mistake that is observed in decisions large and small.

(…)

The sunk-cost fallacy keeps people for too long in poor jobs, unhappy marriages, and unpromising research projects. [emphasis mine]

Daniel Kahneman, Thinking, Fast and Slow

Set yourself a fixed upfront time to pursue a task or project, then stop to reflect. Knowing the cost you’ve already carried on it, with the currently expected return on investment, and the likely chance of success, does it still make sense to continue?

Always decide this by calculating your total cost against expected benefits. Stop yourself if you realize you’re thinking “I already invested so much into this. I can’t afford not to finish.” That’s why you have to literally stop and detach yourself from work to reflect, to not fall victim to the sunk-cost fallacy.

Timeboxing isn’t useful just for big endeavors, but for daily work too. All programmers have memories of problems they were trying to solve for hours and days, before someone else looked at these only to point out solutions within minutes. Putting a time limit on that kind of work helps manage uncertainty: “try solving this for two more hours, and if you haven’t made significant progress by then, we’ll find help.

Finally, by imposing scarcity on time, timeboxing helps sharpen focus and defeat procrastination:

  • the Pomodoro technique lets you commit to working for 25 minutes at a time, without letting yourself be disturbed or distracted,
  • I often approach tasks that I cannot complete in one work session (like a pile of clothes waiting to be ironed), by setting up a timebox, e.g. working for a maximum of 1 hour, starting with the top priority portion, leave the rest for the next time I will be available.

Procrastination usually affects smart people facing large and complex undertakings. Tackling them one timebox at a time makes these so much more manageable. And once you start moving, however slow, resistance fades away.

If you’re like me, you’ll look for tools to help you track the timeboxes. Don’t overcomplicate it. It’s a very simple technique that will work just fine with a simple kitchen timer (though you might want to use something more discrete, like a cell phone timer, since these things tick and ring like crazy):

Cat kitchen timer

and for timeboxes spanning multiple days, just mark the cut-off on a calendar that you’re sure to see. Teams working with Scrum will likely want to highlight the end of their timebox on a Scrum Board, where everyone can see it.

Don’t block yourself thinking you need to find the right tool first. Just start, and see your work flow.

 

Thanks to Jarek Piotrowski for motivating me to write this post. Photo by Darren W.

I love my iron

I do. It glides easily over my clothes, leaving finely straightened surfaces. It has a big water tank and is very efficient, with one load usually being enough for a whole load of clothes. It simply makes ironing easy, almost… fun.

The tools we use for daily mundane tasks are crucial. Unless they’re top-of-the-line in terms of performance and usability, we’ll hate them and do anything to avoid using them. We won’t use the bug tracker if it takes ten actions to report a simple issue. We won’t use the project management suite if it doesn’t provide our current tasks at a glance. And we sure won’t branch our code if the operation takes 15 minutes to complete. The money that went into licensing those tools will effectively be wasted, together with lost productivity and energy wasted on complaining.

If you’re in charge of buying anything for your corporation’s use, let the actual users decide on what to buy. And pay whatever it costs, or find something cheaper but identical in function. Do the math and find you’ll gain more in the long run than the couple of bucks you saved upfront.