Remote collaboration whilst working from home
Remote work is now more popular as ever. As with every industry, overnight the Covid-19 Pandemic has transformed the way we do business. However, for software developers this environment change has been regarded as a second nature. Remote working has been a cornerstone from the software world for some time. The mass adaption of this new style of working has arguably been the easiest for this sector; as the tools, techniques and practises have been long standing. Remote working, as with every sector still brings about challenges. Especially so for a new developer such as myself.
Over the last 13 months of being remote and many zoom calls I have managed to identify a few areas in which remote work has been challenging for myself. Reflecting on my home cooking, home quizzes and Facetime call the key thing for me was to identify exactly where and how this complete remote environment produced challenges. Then, how we overcame them as a team.
Lack of “Turn to ask” – Going from an environment where you can just turn to the person next to you, point to the screen and ask a question was a big change for myself. I like many others learn best by simply questioning. Coming from a university study it was an engraved process that was key in learning things beyond the scope of the course content. Asking “how does this work?” and “why does this have to be written like this?” were crucial in expanding my knowledge from simply learning what to write, to an understanding of how and why to write code that way. Plus… it was always fun to find a bug/better way of writing something to catch a course lecturer off guard.
The lack of in person interaction with other members of your team presents the challenge of getting the support a traditional team structure naturally facilitates. I found myself holding back from poking questions with the fear of being too tiresome with that familiar notification ping. Even though it was encouraged by senior devs. Like many, I know how infuriating it is just to hear that “Bing” noise going off whilst in the zone trying to focus. Furthermore, with the university introducing programmes such as “Quiet Fridays” I remember questioning if the question I was writing was really that purposeful.
Overcoming this is still an ongoing challenge of remote work, I have found there isn’t a singular perfect solution. My current way of overcoming this is by writing down my questions or thought process on a notepad next to my desk. Then during live calls with other team members bringing up these in conversation. This does means there is a time lag in my queries or sometimes outstanding gaps in my understanding. However, I find a verbal explanation is a lot more useful than a simple text reply. Plus, it lends itself for a time to have a deep questioning conversation which programmers LOVE.
Keeping in the Loop – When our team is at full speed, Its brilliant. With four developers all working on different branches tickets fling themselves across the development board. However, as it is common with ongoing projects. Functionality, Design, and flow changes very often show up. Naturally changes initiate from private conversations such as “Hey, if I want X to work, shouldn’t we need X to do X”. Working remote, it’s hard sometimes to keep in the loop of changes when these conversations aren’t happening in the office when everyone can listen in/input where these changes inaugurate. I found these deep conversations programmers are so good at still occur, often limited by having to type down all our thoughts in a chat. Instead of just sat in a room with a whiteboard with free-flowing thoughts. As someone who learns by just listening and questioning. I find sometimes it is lost by not having these environment advantages in person.
Tackling this again is still an ongoing challenge. Utilising zoom calls with whiteboards to discuss ideas and scopes, along with setting dedicated time for collaboration is working well. Furthermore, we have found putting extra emphasis on expanding tickets with additional details helps to keep the team in the loop of what is happening concurrently. Linking tickets with Jira allows the team to see what tickets are affected by others.
I would like to end to say this remote working has been a demanding experience. But hugely rewarding as a challenge to tackle. I have found I have had to adapt my way of working, just like every other sector. Sadly, there is no solution for a “perfect way of working”. But this year has certainly given me time to think how I work best as a developer and, how our team works., then how our team can adapt to ensure we can work best in this very strange new world.