Two Months After: Thoughts On Working Remotely

I love working remotely! I was never fit to work in the cubicle. I did so after I graduated from college for a total of three years and I was scarred for life. It is not that I am averse to offices. I simply now appreciate choices and I am inclined to go to one, but not everyday and no more than three times a week.

The transition to working from an office to a home, cafés or friends’ places happened gradually. I freelanced on short term projects where I set my own work time. The feeling was nothing short of liberating and by the end of 2015, I set as my professional goal to work remotely full-time and long-term on a project/company that is meaningful to me. I managed to find it and today I work with the amazing individuals at Pollinate.life. In this blog post, I would like to share my thoughts and some lessons I took while working full-time during the past two months.

The advantages of working remotely is evident. I don’t face a daily commute, I have the possibility to set my own schedule, work wearing only underwear(or none at all) and code from wherever I am able to produce my best material. In the right distributed team, it is liberating and I feel like an adult for being trusted and feel responsibility for the success of the team/company. The disadvantages though are less documented. I may feel lost, judge myself to the point of creating technical neurosis for not delivering as fast I want or as consistent as my peers, and fall short on maintaining a healthy life-style. In order to mitigate the effects of the downside of working from afar, three habits work for me: keeping a healthy schedule, communicating trust, and being aware of my concentration flow.

Maintaining a Healthy Schedule
One of the challenges I struggle still while working remotely is maintaining a healthy schedule. The time difference between my co-worker and I is 9 hours. I enjoy working with him on technical problems and I end up learning a ton. There have been many days that I went to bed at 4am like this. However, I have noticed that on the days I pull all-nighters I feel exhausted later and more susceptible to be unfocused. We are now attempting to overlap only a few hours per day to get the best of both worlds: keep our rapport and at same time maintain a healthy schedule. I feel the benefits already. The message here is to be aware of your body and productivity swings during the schedule you set for yourself. Am I fresh and ready to focus during the time allotted? Do I have time for myself and to exercise during that time? My next step is to experiment setting a fixed schedule for myself. Do I work best 8 hours straight from x to y or 4 hours in the morning and 4 at night?  The assumption is that by setting a routine, my body and mind will look forward to it and will be prepared for some action when it is time.

Communicating Trust
My observation is that remote teams are bound by trust. There are no walls or someone watching over you shoulder, micromanaging or babysitting you. It is basically a group of individuals that trust each other with one common objective.  This trust comes from creating an environment that communication is encouraged and it is judgement-free. I witness in the team that I work a tremendous amount of trust. Each person is self-managed and live by what they say that are doing that day. This makes me a valued and engaged human-being and consequently leads me to ask myself at each working day
"How can I best support and contribute today given goal X?"

I make sure to express my work intentions and communicate any obstacles I have towards achieving it to the group. Building trust is checking with myself if I am doing the things I said I would do.

Finding The Concentration Flow
Whoever worked on solving a technical problem knows about or experienced themselves winding up in a rabbit hole where 8 hours of dedicated work can result in 5 characters worth of output. I have had in the past two months peaks of output followed by lows where I was blocked by an issue or tried to get my head around one concept. During the low times, I would judge myself and feel pressured to perform. This would lead to stress and not having fun. As a matter of fact I was dedicating long periods of time working at a problem at a time. The solution I found here was to time-box myself to each planned activity. Now I work in 25 minute sessions (a.k.a. Pomodoro technique) and I log goals for each one of these sessions and in the end the actual output I was able to produce.

Here is an example:

G=goal A=actual
Pomodoro
1->
G: Wistia video implementation
A: Partially implemented. Getting errors when string interpolating a ng-class

2->
G: Solved the error related to string interpolation
A: Did it. Started creating wistiaDirective

....

By doing this, I become more aware of my progress, get a consistent concentration flow and realize sooner if I need any help in solving a problem.

To put my thoughts into writing makes me appreciative for the past two months. It makes me more aware of what works for me in this remote work setting and I am able to reflect the challenges I had as well as the lessons I learned from them. Love it! May I have many more of these months to come!

Javascript Module Pattern

Dictionary.com defines ‘module’ as a self contained unit or item. In programming I like to think of modules as independent pieces of code that can be used to construct a more complex structure. The module pattern in JavaScript is essentially a way to modulize JS code in an application.

This is an example of the module pattern:

var Module = function() {
  var privateProperty = 'foo';

  function privateMethod() {
    // do something
  };  

  return {
    publicProperty: "",
    publicMethod: function(args) {
      // do something
    },
    privilegedMethod: function(args){
      privateMethod(args);
    }
  };
}

The code above is an overview of the module pattern. Its aim is Continue reading “Javascript Module Pattern”