Back to Front Page

03.04.2015 Becoming an Office Nomad

I remember this day six years ago. Actually, what I really remember is a moment or more precisely a blog post. It was Janne Saarikko writing about a new idea of his: Office Nomad. The post was named “Office Nomad takes over” and there he told briefly that he had started crashing at Codento office not working for them. I remember that I found the idea intriguing and wanted to try it out. I did not remember it was six years already until Janne shared the memory on Facebook.

What started as an idea six years ago is now reality. I have been sitting at the EzyInsights office since Wednesday. That makes a total of two days. This is a social experiment for me and I am expecting positive random encounters from my journey. It has already happened, every day.

Way back, before I heard of this nomadizing thing, I worked in a distributed team where most of us were working from home and sometimes the customer premises. For a long time, we did not have our own office. That made very much sense to me and I absolutely loved it. However six years ago I was working for a more traditional company with insecurities about remotely working.

Now that I am starting my own business, this makes so much sense. I have been conditioned to commute to the office that it really is a part of my daily routine. We have been staying at the Startup Sauna a lot working on the details of our product with my colleagues, but having a more central location to work is a blessing.

Here is a Python implementation of my Office Nomad process:

import random
import datetime

from nomad import ferrix
from datehelper import *
from human import actions
from business.logic import Company

class OfficeNomad(object):
    '''
    A person who works at the office of another company
    with a nomadic attitude.
    '''
    def __init__(self, own_job, own_experience):
        self.job = own_job
        self.experience = own_experience


    def nomadic_action(self, host):
        options = [host.team.lunch,
                   host.team.coffee,
                   host.team.chat,
                   host.team.socialize,
                   host.team.facilitate_meeting,
                   self.job.meeting,
                  ]

        options.extend(self.experience.unique_traits)

        action = random.choice(options)

        return action

    def nomad_day(self, host):
        today = datetime.date.today()

        if public_holiday(today) or weekend(today):
            return


        actions.wake_up()
        actions.subroutines.morning()
        actions.commute(company.office)

        while not time_to_go_home(datetime.datetime.now()):
            self.job.work()

            action = self.nomadic_action()
	action()

            self.job.work()

        actions.commute('home')

    def office_nomadize(self, company):
        start_month = datetime.datetime.now().month
 
        while (datetime.datetime.now().month == start_month):
            self.nomad_day(company)

waiting_list = [Company('EzyInsights')]
waiting_list.extend(ferrix.waiting_list)

office_nomad = OfficeNomad(Company('Codetry'), ferrix.experience))

for host in waiting_list:
    office_nomad.office_nomadize(host)