Live data from Hacker News

Lessons from 2 months of remote working

iamnotaprogrammer.com

41–50 of 74 posts

Re: Lessons from 2 months of remote working

#41
post #31
post #22

Interesting read. I recently moved to a country with a low cost of living whilst continuing my old webdevelopment role as part of a remote team. Some things that we do: - daily short standup on google hangout - everyone is available on an instant messenger when working - every office/home office has a continuous webcam feed going on over google hangout - remote pairing (not the biggest myself) Planning to do a writeu…

> every office/home office has a continuous webcam feed going on over google hangout We've talked about doing this with my all-remote team, but it seems incredibly invasive. How has your experience been?

You could probably have a dedicated conference room or similar which would ensure that you could easily "Go to the teleconference room!" while ensuring that you didn't have a pervasive big brother feeling.

Re: Lessons from 2 months of remote working

#42

Earlier quoted context omitted.

How do you personally measure "a good day's work?" Is it based on gut feelings or do you have specific hours that you work? Also, do you follow a strict schedule, or leave your day open for "sporadic" opportunities?

This applies to traditional work too, doesn't it? Sure, a brick layer can measure based upon how many bricks but I don't think it makes sense for programmers to measure a "good day's work" in terms of just time spent coding ... I think it is more about progress. Even if you didn't write any code, did you make some conceptual breakthroughs that will lead to better coding tomorrow?

I understand what you are saying, however, I'm wondering how OP personally measures overall progress as a remote worker.

Re: Lessons from 2 months of remote working

#43

Earlier quoted context omitted.

This applies to traditional work too, doesn't it? Sure, a brick layer can measure based upon how many bricks but I don't think it makes sense for programmers to measure a "good day's work" in terms of just time spent coding ... I think it is more about progress. Even if you didn't write any code, did you make some conceptual breakthroughs that will lead to better coding tomorrow?

I understand what you are saying, however, I'm wondering how OP personally measures overall progress as a remote worker.

For me, it's not based on the work, it's based on the mood/mind. A "good day" is one where I was thinking clearly and solving problems and choosing good paths with ease.

The amount of code written doesn't mean as much.

Re: Lessons from 2 months of remote working

#44

I've been working remotely more often than not over the last four years (a brief 1-year interlude when I was back in an office full-time broke up the streak). I definitely prefer it. The advantages are too awesome! I get to spend more time with my daughter (I'm a first-time father and she is just turning a year old today). There is hardly anything in this world that makes me happier than spending time with her. If I…

The biggest challenge for remote workers is working with a centrally-located team. The styles of communication need to be more rigorously defined and a part of everyone's habits or else it tends to fall apart.

An excellent way to address this problem is to have a co-founder, preferably a technical one, be remote.

Given that this person is important, they will notice if they are being left out and have the weight that their complaints are heard. If no important person is remote, then these things slip far more easily.

There are several minor reasons why I'd prefer to see a senior technical person be remote. The first is that quiet time without interruptions is more likely to benefit the technical person. The second is that a non-technical co-founder has more interactions where they are likely to have legitimate reasons to be in the office.

But if it works better for you to have a technical co-founder in the office, and a non-technical co-founder who is basically a roving salesman, then go for it.

Re: Lessons from 2 months of remote working

#45
post #10

Kind of on topic, but I'm a web developer who is partnered with a designer in NYC. I'm already working remotely (a few hours away) and it is really great. I'm in my mid 20s and don't have kids or a relationship at the moment. I've always wanted to travel and I'd rather do it while I am young. I've been thinking of taking 6 months and going around the world, staying at any location for 2-4 weeks. I want to continue wo…

If you’re going that route, you need to block out certain days or weeks for travel and settling in. You can’t make any promises about communicating or working, unless you’ve already been to your destination. You’re not going to get anything done on travel days, and wifi + ergonomics are usually spotty if it’s your first time there. Also, there’s lost luggage, jet lag, travel delays, and reservation issues.

Re: Lessons from 2 months of remote working

#46
It seems to me like whenever people talk about remote work, they always talk about having super rockstars, the top, best coders they can find, and only them. I'm not there yet, as I'm just entering the phase where I am stopping calling myself an entry level coder. Being able to do this however is the reason I got into coding. Is there anyone out there who's not an absolute genius hacker who is working remotely and doing well?

Re: Lessons from 2 months of remote working

#47
I had an experience this year which made me aware of some of the ways that remote work can go wrong. Although in my case my work was not "remote" in the sense of being away from the office (though sometimes I worked from home). My work was "remote" in the sense that the tech team was all in one office in London, and I was the first programmer they hired in the New York office.

Before I get into the details, I'll offer some qualifiers: I could have done more to communicate with the management that I was not getting the information that I needed. I could have been more pro-active about forcing people to answer the questions that I needed answered. Having said that, I think some of the miscommunication that arose might be common when companies first try either remote work, or simply work that occurs outside of the main office.

I was hired by a large media company. I worked there from January 2013 to August of 2013. The company has about 25 programmers in the London office, plus a QA team and project managers (and the CTO and CEO -- all upper management is in London).

The first month I was there I worked on some projects using functional languages like Clojure and Scala. I needed to ask a lot of questions about the internal API. After awhile, the management decided that I should have a single person that I could contact with questions. I'll call him Jim -- he was a super smart guy and a dazzling engineer. For the next week, he was able to answer all of my questions about the internal API (indeed, Jim had created most of the API). However, the 2nd month I was there it was decided I should work on the company CMS, which was written in PHP. Jim did not know PHP, and he had never worked on the CMS, so he was no longer able to answer my questions. No one else was ever assigned to me as my point of contact.

Informally, I later defaulted to sending all of my questions to the woman who lead the QA team. She could rarely answer my questions but she often knew who could, so she would redirect my questions to the right person. The only problem with this system was that it was slow. Especially given the time difference, if I asked a question at any point after noon, the earliest I could expect a response was the next day. And then, towards the end of my time there, the woman quit. (That was another problem I faced -- there was a lot of turnover in the London office, so even once I had established an email relationship with someone there, they then would suddenly disappear.)

I recall trying to setup the CMS to run on my local machine. I kept getting a strange error regarding dependcies. I looked in the git log to see who was the last person who had made changes to the way the system handled dependencies. There were 4 people who had recently touched the system. I wrote an email to all 4 of them, explaining that I was trying to set up the CMS, and I kept getting this error. One of them replied "Come over to my desk and I'll help you." I was like, uh, I am in New York, I can not come over to your desk. Everyone was surprised that there was a programmer in New York.

Four months later I got another error which I traced back to dependencies. I re-did all the steps for upgrading the dependencies, but now nothing worked. I wrote to several of the programmers again and asked them if they had any idea why things were not working. One of them wrote back, clearly irritated: "If you simply read the announcements, you would know that we changed the dependency system this week." I asked, what announcements? He replied: "The ones posted to the tech mailist." I asked, what tech mailist? I was told that there was a mailist and every programmer was suppose to be on it -- it was the main way annoucements were shared with the whole tech team. For me, it was like having a whole new aspect of the company explained to me. I was finally put on the mailist and started to get the announcements. By this point I'd been at the company 6 months, and by this point I had already complained many times that I was not getting enough information about what was going on in London. It seemed strange that no one had thought to suggest this before.

At some point I was given the assignment to add some serious functionality to the CMS. I was given one month to do it. Despite working some long hours, I was 5 days late getting "done". But I was not done. I sent it to the QA team and they sent it back -- there were some edge cases where things were failing. I fixed the code to handle the edge cases and sent it to the QA team. They sent it back again. This went on for another month. By the time my code went to production it was over a month late. Part of the blame surely lies with me, but part of it was the slow speed with which information was communicated. The QA team would tell me about some edge case, but I would need to ask dozens of follow up questions to understand why the edge cases were in any way relevant.

In many ways, this job was the best job I've ever had: good pay, great people, a relaxed culture. Every Friday we had "Beer Friday" meaning people quit early and we broke out the drinks. The New York office was full of talented writers and creative people.

All the same, the whole time I was there I was concious of being an experiment. The company thought it needed to have a tech team in more than one time zone. But for me, getting needed information was like breathing through a very small straw -- I never got enough. I found it difficult to find the right balance between asking too many questions via email versus reading (out of date) pages on the wiki versus digging through git commit notes to see when a change had been made.

In the end, I decided to leave, because I did not feel that I could do a good job. I am sure I could have done more to get more information out of the folks in London -- it does not speak well of me that I gave up after a few months of trying. All the same, I think there is some lesson in this: if a company has the tech team centralized in one office, and then the company decides to expand the tech team beyond that one office, then some real changes in workflow are needed to make that work.

Re: Lessons from 2 months of remote working

#48
post #10

Kind of on topic, but I'm a web developer who is partnered with a designer in NYC. I'm already working remotely (a few hours away) and it is really great. I'm in my mid 20s and don't have kids or a relationship at the moment. I've always wanted to travel and I'd rather do it while I am young. I've been thinking of taking 6 months and going around the world, staying at any location for 2-4 weeks. I want to continue wo…

Mike Elgan (https://plus.google.com/+MikeElgan) blogs about this exact type of arrangement quite often.

Re: Lessons from 2 months of remote working

#49

I don't really work remotely but at home for myself for the last year. The biggest challenge for me in a given day is lack of social interaction. It is nice to have a quiet place to work, but hard to deal with (some days) not speaking to a single person all day. Frankly my last job had many downfalls, but I did enjoy some of the people I worked with.

I'm just about to start a 100% remote work job for a company with no real office to work from. I'm renting a full-time desk at a co-working space just so I can have some casual social interaction that doesn't involve me ordering an espresso beverage.

Re: Lessons from 2 months of remote working

#50
post #9

Earlier quoted context omitted.

+1 on Swiggle. I had my team using that for a while until a reorg broke up the team. It's awesome to be able to see when someone is at their desk, click their picture, ask a quick question, and hang up. It really helps feel like you're more connected to the team while avoid the noise problems on being in the office.

I've also had some exposure to Sqwiggle. It works very well for quick interactions with other developers; the call quality is good, latency is low, etc. I just wish there was a "knocking" feature for someone starting a chat, and/or additional states between offline, busy, and normal. Introverts may not like the constant camera exposure, and developers "in the zone" may not like the sudden presence of a voice and watc…

Hey nitrogen! Thanks for the thoughts. We actually do have all of these options. Just log into Sqwiggle and click your own video which will put you into "Busy Mode". From there, users will have to ping you to chat.

Thanks! -Matt (Co-founder)

Post reply on HN