2015-07-29 - Ferrari-10

F430 F1 – Ferrari: ✔

When I left my previous job at AEMO after 11 years, a group of my closest friends and coworkers gathered around and presented me with a very unexpected and awesome gift. Although I have been enjoying my other gift from the wider company (lots of Kindle credit!) on a daily basis on the train, this was definitely something else entirely.

2015-07-29 - Ferrari-2

I hadn’t intended to take quite this long to get around to it, but it turns out this is a pretty popular Red Balloon gift, so June was as early as was available at the start of the year, and I decided to make it land near my birthday on the 26th.

I must admit. When I put a Ferrari on my list-of-100-things, I was just expecting that maybe someday I’d have a chance to drive one on the road.

2015-07-29 - Ferrari-1

Driving one on a race track is better.

Much better.

2015-07-29 - Ferrari-3

I have no practice at driving really fast, and I shamefully admit I didn’t quite nudge it past 200 on the straight, but I had an awful lot of fun trying to get there. I didn’t notice the adrenaline as I was going, but when I got out of the car I had an immediate urge to look for a drink because my mouth had dried out completely.

I have to clarify; 200 sounds like a lot, but in more qualified hands the car I was driving tops out over 300. Still. It’s faster than I’ve ever gone in a car myself.

2015-07-29 - Ferrari-4

First of all, you sit incredibly close to the road. It’s less than 1/2 Rav4 high. Secondly, the brakes are incredibly effective; anything more than the lightest touch and you stand still instantly. That’s a hard thing to get used to. I think the twitchy controls are what most held me back from pushing it faster. That, and the knowledge I was driving the cost of a modest flat around.

2015-07-29 - Ferrari-8

Through it all the instructor was amazing. Encouraging, calm and composed. Like a personal sat-nav pointing out the spots I should try to hit in the corner, and when to push it faster and when to ease it off. I got better on later laps.

2015-07-29 - Ferrari-7

The track I was driving wasn’t quite as expected either. See Eastern Creek geographical map style; that is what I was led to expect. Then, see Eastern Creek satellite view with the extra twisty bits on the right; that’s what I actually got to drive. Those tight corners are… intimidating.

2015-07-29 - Ferrari-5

I’m not quite done yet with my catch-up birthday, but the experience of the morning almost led me to buying a console with racing games straight out of the gate.

2015-07-29 - Ferrari-11

This afternoon I have a massage booked, and then dinner with some friends and family at Criniti’s for an Italian close to the day as well. What could possibly go wrong?

2015-07-16 - Fiji Coast

CM Goes Fiji

Despite being an accomplished airplane passenger, I must admit, after such a long time of not crossing any oceans I felt a little unsettled to be on a plane that was going to be crossing four hours of Pacific. But between my podcasts and my Kindle it whooshed by in the blink of a moment.

It is impossible to complain when your employer flies you to Fiji for 4 days to meet all your international co-workers face-to-face. Thanks Ben, Dave and Alex, and Campaign Monitor in general!

As first impressions go, Fiji leaves an interesting mix.

Landing against a backdrop of sharp volcanic teeth biting into fluffy clouds rouses an expectation of something raw and elemental. But that has proven more a set-piece to a pleasantly relaxed and hospitable stay.

The first step off the plane greets me with a blast of warm humid air. I quickly dispose of my jacket and sweater and drape them over my arm as I wind my way through the customs queue. The walkways into the airport feel improvised and the customs desks themselves seem accidentally placed in the middle of an otherwise bare carpeted room, more so than a well-planned line of border security. I guess there’s just not a lot worth worrying about.

Even the x-ray of my bag seems more cargo-cult formality than security per-se, when nobody questions the contents of the bundle of jackets, wallets and miscellaneous electronics I carry right past the machine through a striking absence of detectors.

And that’s just the first taste of an interesting contrast between a laid-back culture and signs of tourism-induced modernity along the way to the resort.

2015-07-16 - Fiji Hibiscus

The entire landscape leaves an impression of barely-tamed nature on the verge of consuming what civilization has been built among it. The place looks incredibly green everywhere, except where it is a natural yellow from the reedy grass. Strangely absent are flowers other than an occasional spray of hibiscus. Green is the colour of nature. It is the only colour omni-present.

Even the road looks like a merely temporary encroachment on nature, ready to be swallowed up by the grass if I look away for a moment… Don’t Blink!

Unnaturally narrow railway tracks follow the contours of the roads through the cane fields. My curiosity over the stability of any passenger train on these tracks is resolved when I spot the carriage packed with what I first mistook for bundles of twigs. The rail seems only intended for the sugar cane that grows everywhere.

And then every once in a while a cow.

Grassy field… Cow. Cane field, cane field,… cow. Bend in the road… group of cows blocking our way. I am completely desensitised to random cows now. It’s all good. Relax. Fiji time!

And then the resort.

2015-07-16 - Fiji Village

It looks like a little village in the jungle at the side of the bluest lagoon you’ve ever seen. It’s almost a shame to be “working”. But this is an incredible opportunity to make connections when working in a company with co-workers all over the US and Europe.

I have been chatting my ass off trying to put faces to HipChat aliases while drinks just keep materialising from smiling faces. I may recall about half, but that’s half more than I knew before. I think I’ve spoken to at least half of our international support team. And I had a few great conversations with members of the GetFeedback team (like SurveyMonkey, only much cooler, now with 99% less monkey). And a good number of the sales and marketing teams besides.

2015-07-16 - Fiji Shirts

And in between social events we have had an awesome All-Hands meeting with most of the company here. Our core values are now expressed everywhere through the medium of interpretative t-shirts. The thing indelibly impressed upon my mind from that session is that the head of sales has the energy of a pack of toddlers on red cordial.

Yesterday we went out into the community to build desks and tables for a school in a nearby village to kick of CMs new Community program which sponsors up to 4 days a year of community work for each staff member. I thought I had reached peak-pride in my employer, but there always seems to be more “up” there. We each brought a book for their library as well, which is now stocked with 150-odd new English books.

That’s another fact about Fiji that surprised me. English is the official language. It’s so strange to arrive on a tropical island and see all the street signs, and roadside shops advertise in English.

Sadly, I missed out on the great Team Building experience this morning. I woke up at about 7:30am with a migraine from what the bed had done to my freshly massaged back. I had to take some Panadol and another 4 hours sleep, rolling straight into lunch-time at the beach. I wish I could have joined in the fun.

2015-07-16 - Fiji Path

And the last day is left for free time to mingle.

Part of which I squandered wisely learning how to play “Up-and-down-the-river” with some of my Engineering friends (thanks Trips, T4, Rich, Ken and TJ). Apparently it has many other names, but I personally call it “screw over whomever you can; the game where someone always loses – the beginnening (part 1)”. I may have had a few drinks though, so it might be called something else tomorrow. I did poorly, but I screwed a whole bunch of people over so that’s winning in a way, innit?

To an introvert a holiday like this is a little like work. But an incredibly worthwhile time, and hopefully reason enough to repeat the exercise next year when we’ve grown even further!

Bula!

Oh, and the best time to join Campaign Monitor is obviously last week (everyone gets to come along; plenty of bemused three-week-hires floating around)… but the second best time to join is right now, so go and have a look at our Careers Page and apply!

2015-07-16 - Fiji Buggy

(Unit-)Testing State of Mind

My mind has been steeped deep in the quagmire of automated testing for the past few days. If ever there were an area of software development where I wished for a silver bullet that I could just load and fire…

I’ve gone from a job where testing was predominantly a lightly automated activity, to a job where large swaths of the testing effort are automated to a high degree. I definitely prefer the latter in principle, if only there were a definitive book of recipes and best-practices to follow.

I enjoyed watching the Pluralsight video on Code Testability; it has the best explanation of what makes testing code hard that I’ve ever seen. The side-by-side examples in which he shows how using dependency injection increased what he calls the “sphere of influence” (or the directly testable surface) of the code was an A-Ha moment for its sheer clarity.

And another video that has gotten lost in the blur in my memory made a great point regarding keeping tests descriptive and linear. Unit Tests are easy to write because they do not branch or loop. They test one thing well at a time, and as a result feel more reliable; being able to read and trivially understand a test is a major strength.

And yet… it bothers me when a lot of the hands-on examples in videos still show how to test an “ArgumentException” type gets thrown. I blogged about exceptions what feels like an eternity ago (Exceptions – 3 specifically), and ArgumentExceptions should not be caught; they aren’t for code to deal with, they are for code to try and avoid at all cost. So why test them? Like… ever?

There are plenty of proto-guides on (unit-)testing best practices, but few if any get beyond the obvious: isolate your test cases, pick structured names, be wary of mocking, test one thing only. But that still doesn’t really give any guidance on what is worth testing. Writing tests is easy enough, writing the right tests, and no more than necessary, is the hard part.

Are there resources out there I haven’t found yet?

2015-06-08 - Header

On Communication

“We need more communication!”

Odds are, if you’re working in any organisation that isn’t small enough for everyone to know everyone, this is a complaint you’ll have heard at least once. Communication is hard. Everyone knows this.

Odds are, once you heard this complaint, you did something about it because you’re trying to be an effective manager and you want everyone to be informed… you added extra presentations, a regular newsletter, you wander the floor and talk to people.

And then the next time you ask, communication is still touted as the biggest problem everyone faces.

The bad news first; communication is always the biggest problem you’ll face in your organisation. And once you address it, communication will still be the biggest problem you face. Always.

The good news; you’ve probably misunderstood what people are trying to tell you. There is one very deceptive word in that first phrase. Okay, maybe two, but one in particular that sent you down the wrong path.

What can “more communication” mean?

  1. You don’t talk to us enough.
  2. You don’t talk to us about the right things.
  3. You talk to us too much.

Yes, really. Even that last one. Stick with me

1. You don’t talk to us enough

It is possible your understanding of what your staff and co-workers need to know about is too narrow.

Are the details of the next project a distraction while we are still finishing our current work? Or could advance knowledge let my staff make some smart decisions about laying foundations for the next thing while finishing the current thing? They’ll get annoyed if they never find out in time they could have done something smarter for the company.

Are competitive pressures just going to worry people about their jobs? Or am I missing an opportunity to engage the creative capacity of my staff to innovate us to the top of the pile? It is very dis-empowering to feel like you’re just sitting in coach while your life is in the hands of the pilot alone.

Is it actually better to not say anything when you have nothing worthwhile to say? Silence lets people imagine all kinds of far-fetched reasons for that silence. Sometimes a trivial or obvious update is less harmful than letting a fear of unspoken horrors fester and grow.

Cast a very critical eye over all the things you don’t tell staff and co-workers. Why don’t you?

But…

Even when there is a genuine lack of communication, be careful how you fill that void, or you’ll be back to re-read this post for points 2 and 3 in no time.

2. You don’t talk to us about the right things

So, how about I talk to everyone about the next big project that is coming up, and how I need to negotiate it past the VPs and legal team of the company we are selling it to…

Bzzzzzt, wrong…

Yes, talking about the next big project is a great idea. But your needs and concerns aren’t that of your audience. What possible use could your developers have for knowing you are locking horns with legal over whether the solutions you develop for their specific problem domain will entitle you to ownership of those solutions… *snore*. None of that can possibly help them do their own jobs better.

Figure out what they actually need to know, and tell them that instead. And yes, maybe painting a little context is valuable, but do not turn it into an epic about the heroic way you are fighting through your own obstacles… it may be entertaining if you are a good storyteller, but they’ll resent the time they just lost once they realise they had their own jobs to do. To paraphrase Kathy Sierra, “it isn’t about you, it is about your staff”.

Tell them what the VPs want out of the product so they can tell you whether it is even feasible.

Tell them what is going to be non-negotiable so they can start thinking about solutions early and often.

Tell them how to firewall development of features if you are concerned over legal ramifications down the track.

Make sure the information is pitched so it is relevant to your audience, otherwise it’s not communication, it’ll just be talking and listening. And it’ll be a waste of everybody’s time.

And yes, this takes more effort, because you’ll have to think before you speak.

But sadly, that’s going to be unavoidable.

3. You talk to us too much

You’ve been trying to address the communication problem for a while now. You’ve added meetings, newsletters, presentations and extra face-to-face contact till you simply have no more time left in your day for anything else. You’re telling me that was all the wrong thing to do?

Not necessarily.

You may have started with problem 1 – not enough. And you may have wandered through problem 2 – not the right things. You have addressed both of those and there is still a communications problem. What happened?

Everything that isn’t “1” or “2”, is “3”.

Everything you added that wasn’t addressing one of the first two problems has now contributed to obscuring the real information everyone wanted. You’re talking so much that they cannot tell what is important any more. Or they simply cannot find what they care about in the deluge.

Luckily this is the easiest to fix. But it takes courage.

Trust that you’ve worked out what is important, and then ruthlessly discard what was not.

And yes, it may mean that you need to segment your communication. You may need to write a separate update to your staff, and to your boss, and to PR, and to support, etc. And it will take you extra effort to tailor all these messages. One message may feel more efficient, but when one tree falls in the forest and nobody can agree which one it is, does it really matter how quickly you could write it all down?

When “more” isn’t “more”

And by now you have probably worked out the problem with the opening phrase. “More” implies a quantitative problem. It calls for more of something.

But communication isn’t merely the combined acts of talking and listening. It requires relevance to both parties involved. So “more communication” can be either a quantitative or a qualitative problem; either “more talking” or “more relevance” or “more obvious”.

Here endeth the rant.

Old and New Books

When I left my previous employer, I received a fairly sizeable Amazon gift-card to feed my then-imminent Kindle-habit on my train-ride to my new-job.

I have been making some steady progress through the list of classics that I had never read before. Some, little curious time capsules (“A Passage To India”), others quaint in their stilted morals (“The Age Of Innocence”). But so far most disappointing is the third of “On The Road” that I have read so far. For a book that gets praised so much it doesn’t really stand out to me. Maybe I am reading it at the wrong time though; perhaps it is just old enough not to be directly relevant, but not so old that it is a glimpse into the past. Or maybe I’m just missing the point of it completely.

As I struggle to reduce my reading list, David Mitchell (author of Cloud Atlas) has succeeded in lengthening it significantly.

I went to see him speak during the Sydney Writers Festival with my friend Ken. I wasn’t sure what to expect, because I only knew him from the one book through his writing. He walked onto the stage a little huddled in on himself, and I was fearful of disappointment.

The first question from the interviewer was a clear lead-in to his current book. It sounded like the back-cover-summary rephrased as a pointless question. He repeated what sounded like a fairly rehearsed answer, probably from months of promoting. He apologised for being seriously jet-lagged.

And then he unfurled into what I can only describe as somewhat of a modern-day philosopher, with a slight lanky Cumberbatch-alike appearance, and a British humble shy-ness, with the most thoughtful and poignant answers rolling out of his brain like he was on a script that only he was privy to.

Earlier that day I had attended a session with Alan Cummings on the subject of domestic violence growing up, to promote his new book around that subject. At the end the audience was invited to ask questions, culminating in an aspiring actress making me cringe inwards as she proceeded to solicit acting tips from Alan.

I was braced for the worst when the floor opened for questions to David Mitchell. But I was surprised and delighted by the thoughtful questions on the meaning of his works, and humanity, and the symbolism of birds. And he’d take a few moments of silence and then again produce an answer that’d fill script-writers with envy. Maybe everyone in the audience was a plant? And I feel confident that even faced with the dullest imaginable questions he’d have found a deeper or more humorous way to look at them and keep us entertained.

So, now I have The Bone Clocks to look forward to reading next.

I’m almost ready to ditch “On The Road” for it, if not for the fact that I only once before abandoned a book without finishing it. I am too stubborn to give up.

Cannibals and Pirate Lords

I feel guilty for doing nothing.

On my weekends, I spend a lot of my time in books and television. I let it wash over me, but I feel like I should be doing something more constructive with the time.

I feel like I should be working on something, a new language, a new project, a new idea. Or being out with people, somewhere, anywhere.

I guess it’s a struggle between the introvert and extrovert.

On weekends, the introvert tends to win more often than not. I save the extrovert for Monday through Friday it seems, maybe because he is so damned useful at work?

So, this weekend, right now as a matter-of-fact, I am watching some Hannibal… because I can.

And I have a box-set of Pirates of the Caribbean waiting to be studied in detail… because I need to learn to be a better pirate for work-related reasons. Also D&D, but “for work” sounds more interesting and mysterious so that’s what I’m going to label it.

I haven’t quite worked out whether this means I need to let my hair grow or if I need to buy a bandanna and a hat.

Time will tell.

Hands Passing Baton at Sporting Event

Smooth Transitions

As of Monday I am once again in charge of a team.

Exactly the same day that I had my 3-Month review in the afternoon. I felt fairly confident my review was going to be okay. I’ve definitely set myself a high bar to beat for the 6-Month review.

Today, my second day, was the day for one-on-ones with everyone. Also, interviewing a Product Manager. Also, a one-on-one with the CEO. Only lunch wasn’t technically a meeting, even though it kinda is.

It was great to talk with everybody and for them to be so positive and enthusiastic about the changing of the guard. It didn’t seem to take anyone by surprise, which is kinda surprising in its own right. If this goes pear-shaped it won’t be for lack of support from my team. I’m sure my previous two years of juggling/cat-herding/crisis-management will serve me well.

And then ending the day catching up with the CEO (a standard with all new employees, I believe)… Congratulations on getting the team lead so soon in my tenure. Emphasising how important the team’s work is to the success of the organisation (no pressure… really). And an opportunity to ask some questions.

And yet again… all ’round, so much support and enthusiasm from everyone in the company.

So…
What’s Next?

pluralsight-logo-orange-500x155-v1

We All Should Learn a Thing or Two

I have been learning like a meth-crazed hamster.

It started about a month ago when I got a Pluralsight subscription at work; I had previously only been exposed to http://www.pluralsight.com in my capacity as manager with team-members that would like a subscription. It is the cheapest yet most valuable training budget you could ever spend on yourself or any subordinates.

Sure, there are bad courses as well. But overall my impression of the 30 I have done so far is that there’s more good than bad. And for the occasional slow speaker, there is an awesome speed control under the gear-wheel of their video player so you can go up to double-speed with anti-squirrel-compensation technology.

I like learning new tech topics by getting shown through an introduction. It’s not that I don’t like reading tech manuals and API documentation, but I have found that far too often when techies start writing it sprawls too broadly and leaves me completely clueless as to what is essential and what are the optional extras of a new technology. I think the written word especially is prone to a feeling that we must be comprehensive at all cost, when most of the time a new entrant just wants a gentle and limited introduction.

As a result I have found the “??? Fundamentals” courses on Pluralsight immensely helpful to broaden my horizons. But I would even go so far as to suggest that managers, whether technical or not, could probably benefit from these fundamentals courses. For the non-technical manager you may have to gloss over some of the techier bits, but courses like Jira Fundamentals or Agile Fundamentals are a great way to follow along with what your developers are talking about.

And another set of courses I have found especially helpful are the “??? Best Practices” ones. Even in technologies I am moderately familiar with a video on best-practices can be a great way to level-up to where the industry is already at. Javascript, Python and Angular, here I come!

So, I strongly suggest you go out there now, get a free 10-day trial, and give it a shot.

You might be as pleasantly surprised as I was.