Full stack lead developer

A year of remote working

Remote working

It’s been almost a year since I started working as a remote Software Developer for a startup called Galen Data based in Houston, TX, USA. And, I must admit, it has been one of the best thing that happened to me in my entire career.

Recently a lot of people started talking and writing about remote jobs and how it will change the future. An article by forbes on the subject - here

A word of caution: Even though I think remote work is great and I enjoy it a lot, it is not for everyone. If your team sits in different countries and if you always work out from your couch or home office (i.e. you stay and work in the same house and hardly go out) then it can get very lonely. But, I being an introvert, like to be alone and it actually helps me become more productive. Yes, I do miss having a random conversation with a colleague over lunch or the team outings (ah, the cons!) but I think it is a trade off.

Based on my experience, below are some pros and cons of remote work, and some tips. If you are reading this and thinking about being remote, then this might help you.

Pros:

No commute = more time

I stay in Bangalore, India, a city that is very infamous for its traffic. If I were to get a regular full-time job in the city, I would be spending 3-4 hours a day on the commute. With full-time work from home, I get to start my day early and also finish it early (almost early!). The few hours I save on commute allows me to do other things - like making time for Gym.

You make your own schedule

Writing code is a creative process. You need to get into the zone to be able to write better code and solve problems (or fix that nasty bug). With no fixed office timings, I get to work at my own schedule and make sure I am writing code when in that zone. I don’t necessarily have to start work at 9 am and finish at 6 pm. I can sometimes start as early as 7 am or maybe later at 11 pm. Well, this also depends on your company culture and your team. In my team, our emphasis is to get work done in the entire sprint and no one asks questions about whether we are running behind schedule or not.

Fewer meetings = more work gets done

Since we all work in different time zones, most of the discussions happen asynchronously on Slack and so you don’t have to attend to it immediately. If I am in the zone and coding, I can choose to put Slack on do not disturb and only attend to it once I am done with my work. Not having people around to interrupt you helps a lot. In an office, people can just tap you and interrupt you to ask you questions.

More personal time

With saving time on the commute and deciding my own schedule, I get a lot of time in my day which allows me to learn and acquire new skills. Learning new skills is extremely important as a Software Developer. I use my saved time to do exactly that and it helps me do my job even better. With my previous office jobs, I always struggled to go to the Gym as I was terrible at managing my time. But, by having my own schedule, I can go to the Gym in the middle of the day and then make up for it by working in the night (when I feel more productive).

Cons

No social bonding

If you work from home all the time, after a while you start to feel lonely as you hardly get to do any social interactions. Now, when I go out in social gatherings, I feel very uncomfortable and it feels like a burden to have to talk to people.

No personal and professional boundaries

If your home is your office then there isn’t any personal space. I sometimes get up in the morning and directly open my laptop and start working, without even taking a bath or changing my clothes. Sometimes I stay in the same clothes for days :P. There is a quote - “The more you stay at home, the more you look like homeless”. However, this is fixable. If you make one part of your home as your office and make sure you dress up every morning (or at least freshen up) before you enter your office, then you don’t have this problem. You can also go to a co-working space. That would also solve the social bonding issue, but then you would have to commute if there isn’t a decent co-working space near your place.

Your colleagues sometimes are just Slack (chat) handles

When you work in an office with a team you establish this bond with the people around you. In my past jobs, I have worked with some pretty smart folks and till this date, I am in touch with them and I go to them whenever I need their help or if I am in need to hire smart folks! With a remote job, it is very difficult to develop that kind of relationship with your colleagues.

Higher turn around time

If your team is spread across the world and everyone works in different time zones then getting feedback on something can take quite long. When I do a pull request in the afternoon, it is night in the USA (where all of the team members are). It takes more than 24 hours before I see any reviews on my PR (since when they are working, I am asleep). When you work side by side, it is easy to get a quick feedback and you can get things done faster.

Ok, now time for some tips

Tips

Full remote OK, partial remote, NOT OK

Never work in a team where only you (or a handful of people) are remote and the rest of the team is working in the office. You will often feel left out and it will affect your morale. Remote works when its full remote i.e. entire team is remote. That way, all interactions happen on Slack (or any messaging app that you like to use).

Follow the same schedule every day

When you make your own schedule, try to follow it every day. If you start and end your work at different times every day then it will just mess up your personal life. You will feel as if you never have time left to do anything else.

Document everything

In an office job, if your colleague has a problem which they know you have faced earlier and you have a solution, they can just come up to you and ask for help. But, what if that same colleague lives in a different timezone and faces a problem while you are asleep? If you document everything, then people don’t have to depend on your time zone to get your help. They can just open up your internal wiki and read that document you created when you faced the same problem.

Ping your colleagues, randomly

Once in a while, just ping your colleagues on your messenger to say hi and ask them how are things going. With the absence of social interactions, doing this feels good and you also get to know them even if you have never met them.

Use Transferwise

Ok, this is one is for helping you get paid. I have read and tried a lot of options like Xoom, Paypal, direct bank credits via SWIFT etc. but nothing has come close to the ease and speed that Transferwise offers. With Transferwise, I get a borderless account for free which means that I have a local bank account in the US (with just one click) which my company uses to pay me. It is very convenient for them as well as for me since I usually receive my payment within a few hours. They also give the best rates. Check them out.

Well, this is it. If you have made it this far in the article then I hope it helps you in some way.