Tuesday, September 24, 2013

Confessions of a part-time Facilities Manager

So many decisions, so many details.

We are in the midst of an office expansion and re-design of our work space. It is an exciting time, but like many things it is filled with subtleties and details that you only begin to understand once you dive in. Let's just be nice and say software developers are "particular" about their work spaces. I do have great support from our facilities group, but there is only so much they can do from afar. This is one of the challenges of managing the Outpost. Wearing multiple hats and stepping outside your domain, in much the same way as a small business owner. For the next few weeks, I am a part time facilities manager. I am embracing this challenge. Expanding my skills. I occasionally watch HGTV, I got this!

But, this is serious business. These decisions will impact productivity. Better not get it wrong!

"Yeah, yeah - that's great about the offices, meeting rooms, and work spaces, but where is the dart board and Foosball table going?" 

Interesting article from Fast Company about creativity and its impact on office layout:
http://www.fastcompany.com/3017987/bottom-line/why-you-should-spend-your-morning-in-a-cave

How do you strike that balance between quiet concentration and collaborative team spaces? What do you think? No, really, I can use some help here. Post your suggestions and I will report regularly on the process and progress.

"How do you feel about dead things hanging on the wall?" ... wait, what?

This is going to be more challenging than I thought.

Monday, September 23, 2013

What do butter tarts, bacon, and poutine have to do with software development?


I borrowed the title from the name of one of our internal chat rooms that we use to discuss the local Canadian office. That's not to say that our colleagues from other parts of the globe can't, or don't, drop in with curiosity. But, in general terms, this is where us "Canucks" discuss the unique happenings of our little, mostly frozen, part of the world. Distinctly Canadian issues, like coordinating our next outing to the curling rink.

This is one of my favourite (yes, with a 'u') parts of my company. Not just the fact that our largely US based company has a Canadian office, but the fact that we celebrate and embrace it. We have a distinctive brand within our company. My team is often just referred to as "The Canadians". When we visit the main office we are greeted with a mix of curiosity and good-natured ribbing. We have been guests (and regular targets) on our company podcast. All of this makes us feel welcome, and unique. It is a badge of honour worn by all members of my team. It gives us a collective identity. It has even gone as far as a rather funny introduction to a keynote speaker because he just happened to mention curling in his talk.

It really has nothing to do with being Canadian. Our company embraces the idea of hiring great people, wherever they are. Our Montana office is another great example. They certainly have their own brand and bring another set of unique qualities and experiences to the overall culture.

In the same way that companies look for diversity by hiring individuals from a variety of locations and backgrounds, having these remote offices helps to further create a varied and more diverse culture. It provides an opportunity for people to travel to other offices and experience different places for themselves. Where else would visiting colleagues be able to experience poutine?

Wednesday, September 18, 2013

Connected, but not too connected

Proponents of working from home often site the productivity gains that come from working away from the chaos of the office. Software Developers, in particular, benefit greatly when able to focus on their work for long periods of time with minimal distraction. Said another way, programmers despise interruption.

There is a wealth of information on this topic, a good study comes from Chris Parnin of ninlabs research titled Programmer Interrupted. Most programmers and managers know this intuitively. The tax on context switching is very high in software development, no matter how small the interruption.

Opponents to working from home will argue that being disconnected from the office means missing out on key discussions and information. There are benefits to being immersed in the full scope of the business, interacting with people in other parts of the organization, and participating in the informal discussions and information sharing that occurs in a typical office. Most software developers I know also crave those informal discussions with other software developers where they can endlessly debate the merits of obscure algorithms with the only other humans on the planet who care.

As a recovering work-from-home developer, I can attest to the importance of those informal discussions. The daily interaction with actual people, preferably other software developers, is very important. There are great solutions for working collaboratively from home, one of my favourites being Google Hangouts. These tools are great for remote workers and provide the next best experience to being there. However, these interactions are typically scheduled and focus on work tasks. They are rarely used to just "shoot-the-shit" with another developer. Asking another developer if they want to join a hangout to "just talk", with no specific purpose, seems counter-intuitive to the logically minded programmer. Yet, these discussions take place all the time in person.

The Outpost model is unique in that is provides a balance. My office is full of software developers, and only software developers (actually there is QA and our Scrum Master too, but they are geeks at heart). We frequently have those technical debates (or other "nerdy" discussions) that typically make our non-developer friends and family stare blankly and secretly wonder about our mental health. At the same time, we are disconnected enough from the main office that we don't have those frequent, unwanted interruptions. Developers understand the tax of context switching and respect the time of their peers.

So, how do we stay connected to the business and ensure that we are exposed to the larger context? The Informer.

That is to say we take turns performing the necessary reconnaissance missions. This is one of the key roles of the Development Manager in this environment. To ensure they are plugged in to all streams of "official" information and distribute that information efficiently. But also, to make frequent visits to the office, represent the Outpost, and gather intelligence for the team back home. This role is performed by everyone, and as a team we try to ensure that we have sufficiently frequent coverage to stay tuned in. The Development Manager is the key informant, and must also facilitate and ensure the success of the missions made by members of the team. This includes being the road warrior and sharing the tales of road trips gone awry, arming the young soldiers with the knowledge necessary to survive the battlefield (a.k.a. late flights, missed connections, lost baggage, and airport food).



Tuesday, September 17, 2013

Why the Outpost?

I am a Software Development Manager for a great company that believes in hiring great people. In my 15+ years of experience I have worked for several companies (big and small) in several environments (big and small) as well as several years working from home. I have developed software, managed projects, rolled out programs in a PMO, and now have the privilege of building and managing a highly productive development team ... from a remote office, or as I like to call it, the Outpost.

There is a steady stream of thoughts on working from home vs. working at the corporate "mother ship". There are many pros and cons to each and no shortage of passionate opinions. I have lived in each of these environments. I have seen the good, the bad, and the ugly. I believe there is a better way. A solution that leverages the benefits and minimizes the drawbacks. It's an environment with many unique challenges, quirky situations, and outright oddities. It is a very enjoyable and highly productive environment. It enables us to do great work and have fun doing it. And, to do it where we want to live.

My goal is to share my stories, lessons, and insights. To spark dialogue with others running remote offices. To highlight why the Outpost is a great way to develop software. It is something that can be done in virtually any community with a reasonable stockpile of passionate techies.