Being a remote developer and not die trying
No developers were harmed in the making of this article.
How I ended up here?
As most of you may know, nowadays ending up working every day at your own desk, just beside your bed or dining table is likely to happen. IT companies are changing and the way we collaborate with each other as well. Software developers demand is growing as we move into a time where everything is getting online to collect data and make our lifestyle easier. This is why companies are seeking to recruit more people to hire, but there are some places where recruiting can be a real challenge; this is why remote jobs are becoming trendy these days. Devs are no longer required to stay at the same place as the company; they only need their computers, internet connection and maybe a cup of coffee or a nice cold beer to write thousands of lines of codes every day. With this becoming a more common practice, there a lot of benefits for both, developers and companies:
- Developers save commuting.
- Some people are more focused in their own desks and the pressure of time is not a problem.
- Fewer concerns when being sick.
- Especially during December holidays working from home is a blessing.
- Companies don’t need to provide furniture to keep people at the office. This means fewer expenses on stationary and bills.
- Working extra-hours could be less stressing when working from home
But… There are also some other cons that both sides should keep in mind:
- Developers take some expenses when being at home.
- Sometimes home environment doesn’t help the developer be entirely focused.
- It affects the team's morale since developers don’t have face to face interactions.
- Surviving the remote jungle
Choosing the right employer
There many things you should consider before joining a company, let me give you some examples:
- Fully remote company: There are no premises at all, all communication is through slack, emails, skype, etc. And you only get to see your coworkers during Christmas party or at the company's anniversary.
- Distributed company: MagmaLabs is a perfect example of this because it holds premises in Colima City, but people are working remotely from many places around the world, not only México.
Before you decide what kind of company you want to work for, keep in mind each one behaves differently, and that there are going to be many differences between you and your on-site co-workers. One piece of advice, before you make up your mind: ask yourself how much freedom you are used to; if you are the kind of developer that works better at nights you ought to choose a company that allows you work based on results instead of tight schedules. Of course, you’re not going to get rid off meetings or spending time doing pair programming, but at least you will know that you’re not going to be wasting time just warming up your chair in the middle of a holiday because the calendar points that you should stay at the office.
Earn and keep trust
You’re a remote worker now, and there are so many things that you won’t come across with as if you were in an office, e.g., coworkers watching you working, your manager being aware of how much time you are spending coding, and so much more stuff that “motivates” us to do our work in this kind of environment.
Once you are supposed to work every day away from the office, you’re entrusted to perform exactly as the on-site people, that's why you need have discipline, try to keep yourself on track and don’t waste time doing things that you would regularly do out of office hours. Don’t try to do your chores or take the dog for a walk while you’re supposed to be working, if you begin doing that you will lose your team's trust.
Here are some tips for you to keep yourself on track:
- Keep a routine: As if you were working inside an office, try to be consistent in your daily tasks, wake up, and have your meals at the same hour, don’t stay too much time in front of your computer after working hours, go to sleep at a reasonable hour so you’re not sleepy the next day.
- Don’t be overconfident or lazy just because you’re at home: you would think: “Why should I take a shower? Nobody is going to see me, no worries”, and yes, maybe nobody is going to see you, but staying in your pajamas or underwear without taking a shower is going to make you feel sleepy, and uncomfortable, staying at home doesn’t mean that you shouldn’t take care of yourself anymore.
- Have activities outside work: Since you may not be socializing as much as if you were at an office, you might want to get out of your house since it’s your new workplace too. Take your time outside, try to keep activities that help you have face to face interaction with others since you’re not getting any at work.
- Set your workplace up somewhere different from where you sleep: This is a good one since there were times when I didn't go out of my room, besides those when I needed something from the kitchen or going to the bathroom. Trust me, going directly from the desk to your bed and vice-versa, it’s not a good idea at all..
- Open some windows, let the sunlight in and some fresh air too. This how you will feel less isolated from the outer world.
- Try working from a different place if you can. Go to a library with WIFI, a coffee shop, a school, or a coworking (the best place). Coworkings are designed primarily for digital nomads. They are equipped with everything you need like WIFI, comfortable desks, and coffee. Going to this places may also help you meeting new people and solve two problems at once.
Pimp your workstation up.
Since you are spending most of your time in front of your computer it needs to be as comfortable as possible, my recommendation is to invest good time and money in a full workstation:
- A comfortable chair with lumbar support: I got mine here in Mexico for like around $2,000.00MXN at OfficeMax, you can buy yours somewhere else, it’s just a matter of doing some research and keeping an eye on sales.
- A good desk: Personally I need a lot of space to place all my stuff the way I like it. Before deciding which desk size to pick keep in mind how many things are going to be there. Make sure it is a sturdy desk, so it doesn’t shake each time you press a key while coding, this could take as much money as you want, mine was around $2,000.00 MXN.
- Laptop and screen stand: Those are useful to avoid neck pain since they provide enough elevation to both your laptop and external display so your vision angle it’s almost 90 degrees.
- Keyboard and mouse: Since your laptop is probably going to be on a stand, you will need an external keyboard and mouse. There are plenty of those, and I' recommend you to buy an ergonomic pair. It’s all up to you. Personally, I've bought a gaming CMDevastator combo for only $450.00MXN at Amazon.
- Keyboard and mouse pads: Those are especially useful to avoid your wrists getting tired, and also prevents you from getting Carpal Tunnel Syndrome.
There are many accessories you can acquire. It’s all up to you. Personally, I’m delighted with my current workstation stack:
Keep in touch
Your employer has trusted you being a remote worker Which means that you’re expected to deliver quality code even if you’re not physically at the office. Maybe you’re going to work with some other remote people, in any case, one thing that you MUST do each day is to KEEP IN TOUCH because your peers can’t stand up and walk directly to your place when they need something urgently from you. They don’t know either if you’re sick or maybe taking a quick trip to the bathroom, that's why you need to be consistent, honest, and keep in touch as much as possible, letting them know what you're doing and what are you doing next. This may sound easy but turning into a habit it’s not.
Don’t over do it. I mean, you don’t have to tell your peer every time you’re going to the bathroom, but if you won't be available for a couple of hours, it's advisable to have the courtesy of letting them know when and how much time you are leaving. Keep also in mind that if you need some help, you should be assertive and ping your peer to let her/him know this.
Try to be consistent with your schedule, also to be online at the same office hours than the rest of your team does, have lunch time at the same schedule as your team.
Being a remote developer is not for everyone. You need to have a lot of discipline and being highly organized with your time so that you can balance your personal life and work. If you have the chance to work remotely for at least two months, give it a try! This may be the kind of work you were waiting for.