There are very compelling arguments for remote work and some very successful companies have opted for either full-remote or a hybrid working model
What I find interesting is that this concept has its seat well into technology history. Bjarne Stroustrup mentioned that virtual integration was implemented at Bell Labs in the late 1970’s so I’m sure this concept will work for your company in 2022 (unless I misunderstand what Bjarne means by “virtual integration” but I think I have it right)
Also, there is no correlation between software development and something like sales and marketing. I’m exclusively referring to my industry here
These are my personal arguments for remote work. I am logical here
I can wake up in the morning, put the kettle on and make coffee and go straight to work. I don’t need to commute for an hour just to get to an office that has a desk that is just like the one I have at home
The exact logic applies when leaving the office. It’s another hour commuting home and sometimes this commute time increases by a factor of 2-3 because some disturbance has occurred on the road
Being more productive is the most compelling reason I have for remote work and I’m looking at this from the employer's point of view. You ultimately get more out of me when I don’t have to spend time travelling into and out of the office for x amount of days every week
What I’ve noticed when working remotely is that I tend to work longer hours on average. Often I’ve lost track of time because I’m working on an interesting project or my brain is completely occupied by the code I’m writing. This is a good attribute for an employee to have, right?
I position my home office (which is basically a laptop on the dining room table) so that I have a nice breeze from the front door. I can hear nature outside and it’s a very peaceful place to work from. I don’t have to contend with awful cigarette odour or noise
Working in this environment enables me to focus and get even more work done and this further amplifies my productivity and how effective I am at completing projects
What I find to be true is that when I’m relaxed and have a comfortable seat (the chair I bought is actually quite expensive and supports my back well), I can really laser focus in and produce high-quality work
Remote meetings are much more efficient than in-person meetings in a boardroom. I am able to share my screen very easily for when I need to describe source code to you and I can see you on a video call
I hate having to contend with people that are wanting to use the same boardroom as me because there is some overlap on the booking system, which is basically a calendar. It’s a massive drain and a time waste. What would be the point of doing a virtual meeting when everyone is in the same room?
Another way to think about this is:
Is there an argument that states any of the above points are actually better when in-person? I haven’t found such an argument and I can’t imagine one exists
I am no mathematician but this is the basic equation I use when I calculate the amount of money I am going to need for fuelling my car
Fuel consumption indicated by the car manufacturer: 6.2 l/100 km Current fuel price per litre: R23.84 Get to k/m per litre: 100 / 6.2 = 16.12 k/m per litre There and back: 65.6 k/m (i.e.: the office is 32.8 k/ms away)
With a hybrid model that requires either 2 or 3 times a week in the office
2 times a week = 65.6 x 2 = 131.2 Get to litres needed: 131.2 / 16.12 = 8.13 Get to money required: 8.13 x 23.84 = R193.81 R193.81 x 3 = R581.43 per month
3 times a week = 65.6 x 3 = 196.8 Get to litres needed: 196.8 / 16.12 = 12.20 Get to money required: 12.20 x 23.84 = R290.84 R290.84 x 3 = R872.52 per month
With no hybrid model (you need to be in the office during the entire work week)
5 times a week = 65.6 x 5 = 328 Get to litres needed: 328 / 16.12 = 20.34 Get to money required: 20.34 x 23.84 = R484.90 R484.90 x 3 = R1454.71 per month
These are massive expenses for me and they are barely affordable
This is what I do when I’m working remotely. I feel this is a good way to work
Always keep these three tabs open in your browser:
Be careful to not simply enable notifications everywhere without first actually thinking about what notifications make the most sense. I find notifications to be annoying and ruin concentration but calendar notifications are actually fine (seeing they are at a lower frequency)
When a message comes in or an invitation appears on your calendar, reply to it. People on the other end like to feel they are not ignored. I would also recommend giving out your personal WhatsApp or iMessage
Emails often require a more comprehensive response and may take longer to reply to but if your email response can be a one-liner then send it off quickly. I do prefer to keep email as formal and comprehensive as possible so my quick responses mostly depend on what else is actually happening that day
Always be sure to update tickets (or whatever form of task tracking you use) with as verbose information as possible
Do things like:
You can’t be too verbose with information. The reader does not have to read all of it but you need to ensure that all the information is there
Always write comprehensive multiline comments in code and make sure that pull requests are well described
You don’t ever want to have to answer questions like: “why are you doing it this way?” or “it’s not clear why you are using this approach”
The person reading the code should get the answer not by asking you but rather by reading the comments that you have already thought through
I also find by adopting this principle that it helps me with my problem solving and thinking process. It’s generally a good all-round idea to apply these two principals and even more so when you are working remotely
Humour is a good trait to adopt in code comments
Jump on Google Meet or Zoom at exactly the right time. No one should ever be wondering where you are when the meeting as started
If you are going to miss a meeting, update your calendar. If you are on sick leave, update your calendar and upload the doctor's note into the HR system
If your company does use a formal HR system, make sure you fill out your profile with a good profile picture and input things like your mobile number, email address and birthdate. Also be sure to add a profile picture to all the systems that you use (email, task tracking etc)
Adding your profile picture also personalises the system and makes everyone know that you are human and that you are alive
Google Docs and Atlassian Confluence make it really easy to create collaborative documentation. Documentation is really good for many reasons and when it collaborative, it does give the readers the feeling that you are around
You should also apply this principle to any readme’s or documentation that travel with the source code repositories
These are general arguments for remote work and are objective facts
The coronavirus pandemic pretty much forced all employers into remote work whether they liked it or not. Industry was already heading in this direction years before the global pandemic. With me, I’d been working with a remote team for just under three years starting back in 2015
This forced push put the concept of remote work to the test at industry-wide scale and it was deemed a great success. I’ve heard of no companies that implemented remote work actually going out of business due to remote work or any issues with it
Computers are not lacking any of the software you need to be able to work remotely and be part of a remote team
Internet connectivity
Connectivity to the internet is fairly cost effective and you should be able to bring in a stable internet connection into your home office
Virtual Private Network (VPN)
You can be on the logical office network regardless of where you are physically in the world
Source Code Management (SCM)
Thanks to the work by Junio Hamano and Linus Torvalds, we have distributed SCM and it allows for offline work (not that you’d be offline but you can still work if your internet connection dies)
Task tracking
There are countless task tracking systems on the web. Jira is the most popular and supports all of the Agile methodologies (Scrum, Kanban etc)
Instant messaging and video calling
Same applies to instant messaging. Microsoft Teams being my least favourite
Document collaboration
Google Docs is right there in your Google account and ships with Google Workspace
This attribute only applies to employers but it is still a very valid argument for remote work. Why would you want to rent an office and pay the commercial lease when you can do remote work instead?
Certain cities in the world are unaffordable and this is mostly caused by such a high demand on housing in these cities. Remote work can fix this issue and in Silicon Valley, this is been advocated for
There are arguments against remote work but I have yet to see a single technical argument against remote work. All the arguments are relating to the soft aspects of work
I have heard it said that team building works better when in-person
I don’t think that this statement applies to everyone because the argument I’ve made above regarding virtual meetings can equally apply to team building (team building is just another type of virtual meeting)
You can laugh, joke and tell stories all on a virtual meeting
If you do want to have some social time together off of the computer, then this is what monthly team lunches or group activities are there for
What I would not do is force everyone to be in the same room just to promote “team building” or some type of social cohesion. I haven’t heard any compelling argument for this. To add to this, when I’m working I’m not focused on people, I’m focused on technology and writing code
I’ve heard it said before that training/mentoring works better when in-person
This category can be split into two parts
Training: you need to learn something
Mentoring: you need to teach someone
Training and mentoring can all be done remotely
When I’m learning something new, I have to hear my own voice in my head. If someone goes rambling on how something works, I might not recall all of it. I have to read, re-read, listen to recorded lectures on YouTube or Udemy and participate in online forums
I’ve also had no issue teaching new joiners over a virtual call. I share my screen and take them through the source code I’ve written and point out areas that need work or require a bug fix or two
When I do need to ask questions, I jump on a video call with the person or send an instant message and this works out just fine. It has yet to fail and I don’t think it ever will
I’ve heard it said before that feelings might not be conveyed correctly
There is some truth to this but I feel it mostly applies to email and messages. If you are on a video call, you can easily determine the person's demeanour and facial expressions