This is the second in a series of blog posts detailing my experience migrating from a culture based on co-location to a fully remote environment. You may also enjoy my original post detailing my first week. Look out for another post in the fall.
I’ve spent an entire month working remotely. Whereas I spent much of my first week working remotely getting my home office in a working state, the rest of the month was largely spent acclimating to a culture of complete autonomy, getting comfortable with my peers, and finding my way around.
Attacking My Action Items
One of my action items from the week 1 post involved personalizing my workspace. I brought three posters from our second-floor study and planted them on the walls of my new office area downstairs. It makes my new office feel a lot more like my own space and a lot less like the formerly-unused living room. I have a 1994 Ren&Stimpy calendar hanging on the bookshelf as well as a few stickers and other various nerdy hangables. I’m fairly happy with the current state of my office.
I’ve made a point of exercising more during the work day. I work my biceps and triceps with my handheld weight, as many nose-to-the-ground push-ups as I can, and really hard bicycles until my abs tell me to stop. I’ve also been walking outside in the early afternoon to check on the state of my hop garden. Not to mention I’m still making significant use of my sit-stand desk.
As far as extracurricular activities go, I think I’m keeping steady. I’ve been going to my local Code&Coffee, and I just had a monthly meeting of Indy Golang. I’ve been reading a bunch of blogs and eating up modern C++ material. I’d like to make sure I get to IndySA every now and then, but I usually just whiff the date. I haven’t been doing much coding outside of work, but that hasn’t been high on my priority list recently. Since I currently work for an open-source company, I am embedded in the world of code all day, and I usually end the day very satisified.
I did not buy a better floormat. Still on the list.
Although my first week was a success, I’ll admit it was still a little awkward. However, I’ve found myself significantly more comfortable at the end of my first month.
In this position, there is a level of autonomy unlike any I have ever experienced. No one tells me what to work on next. I figure out what I’ll be doing almost entirely based on incoming bug reports, community rumblings, nebulous plans, or simply things that interest and/or annoy me about a project. Priorities are in the eye of the beholder, and it’s in my best interest to pick up work that is meaningful and relevant. I complete the task, get it into review, and make sure everybody’s happy. Since everyone has a shared goal, it’s unusual for developers to be especially nit-picky during reviews, and thus reviews become more focused on correctness, education, and mysterious edge cases.
Talking to people on IRC can be a little daunting because so many of my coworkers are just so good at it. At first, talking to the right people seemed impossible. Eventually, I’ve learned to become efficient with my IRC usage and I have certain channels relevant to my current tasks where I hang out. Although I describe our communications as “efficient”, that’s not to say we don’t joke around and have a good time. There are people I interact with every day who I consider work-friends even though we’ve never spoken face-to-face.
Over the past several weeks we’ve held two company-wide events. The first was a remote open forum with our CEO. During the remote forum, the CEO discussed how the company was doing and then she opened the floor for questions. Someone would ask a question in chat, people would vote for those questions, and then we would get an answer. It was done quite well and felt like a great introduction to the CEO and her vision for our company’s future. This week was a three-day conference spanning the entire organization. Presenters would share their faces and slides using Hangouts on Air, while attendees watched live and chatted together in a relevant channel. I learned a lot about the wider scope and relevance of my project, and I also got to hear about all the other interesting things going on around the company. I got to hear the founder do a Q&A, which gave rise to many great questions with humble, honest answers which gave me a good idea of what we are all about as an organization. Attendance was optional, so irrelevant presentations could be ignored as easily as closing a tab.
For the first couple weeks, I couldn’t figure out how some of my peers could be so busy all the time. Now I understand. I found myself working on projects several dependencies away from my own, adding features and fixing bugs such that our project could integrate with the dependency and we could get features shipped. Due to the nature of everything being open-source, I’m constantly working with my peers to figure out where a bug might be stemming from or the appropriate level to inject a feature or even just who to talk to about how things work. You fix a bug in one project and accidentally become a contributor while the project is in desperate need of many code reviews, which you then do and become an even more relevant member to the team.
Oftentimes, traditional office workers will say things to me like, “I don’t know how you work from home; I’d just be distracted all day and wouldn’t be able to get anything done.” I’ve found that to be completely untrue. There are many days where I have trouble not working in the evening. I’ll read up on some modern C++ techniques or read some misguided blog post about our projects, and I’ll think about jumping on the computer at 9pm just to take a peek. It takes a lot of self-restraint, but I’ve thus far been pretty good about not working after work. Hopefully I can keep that up.
In a few weeks, my team is meeting in Montreal to hang out and do code for a week. I’m excited for the opportunity to see everyone (not to mention to be in Montreal), and I’m certain that it will help me feel even more acclimated to this new environment.
Some New Action Items
- Better floormat. Standing on my plastic mat right now, my feet do start to hurt. I need to run to an office supply store and find some rubber padding.
- IRC Champion. Although I’m more comfortable on IRC, I know I could be better about reaching out at the right times to the right people.
- Automaton. I still grope around for work when I’m not sure what to do next. I’d like to come up with a process to determine what should be next on the agenda without too much synchronous assistance.