Coding While Working From Home
minute read time
Coding during normal office hours can be hard, but coding during a pandemic? It’s a different level entirely. March 13, 2020 was the last official day that I personally was in the office. The first couple of days were mainly getting focused on acclimating to my new work environment. Luckily, I already had a basic office setup at my house, so with some rearranging, I was able to make it almost similar to my office setup.
A New Environment
The first day working remotely almost felt like the first day at the office. I was still getting used to the sounds of my new office, including my dog Levi barking at the mailman! There were also other difficulties that would only be noticed in a new environment such as having to update permissions for IP addresses and trying not to get your IP address banned in the process. The first week seemed to be the hardest, but through all of the internet issues and hiccups, everyone seemed to settle into a groove.
As a development team, we usually run all of our client sites locally(meaning on our own separate machines) before deploying changes to our dev server for testing. Understandably since development is usually all local, we didn’t have too much of an issue picking up right where we left off! The only hiccup that the majority of our team ran into was getting our new home IP addresses to play nice with all of our different servers.
Tools for Working at Home
There have been different tools that I’ve used throughout this crazy time in history. First off, I needed organization. I’ve always believed that organization is the first part of being successful. Throughout working at home, I’ve enlisted the help of Google Keep, a free note-taking platform Google offers. Because it integrates right into my company account, it keeps everything in one, easy to find place. Every morning would be a ritual. Fire up the computer, go over tasks for the day and write them out in Keep. I then took it one step further and started separating notes into groups based on projects. This definitely helped me stay on top of everything.
Another great tool is also by Google. Simply searching “stopwatch” has allowed me to really keep track of my time. Because time spent on any one project is super important for project management and overall financial tracking, I find that tracking my time with a virtual stopwatch really helps track my time accurately & effectively.
I’ve always felt that a good development team always moves and works as one cohesive machine. Many parts may be in motion, but communication and identical development environments help keep that machine running smoothly. We as a team use VS Code as our IDE(integrated development environment). In a world where one missing semicolon can cause something to break, the most important thing we can do as a dev team is to take our tools out of the equation. Let’s expand on that. Let’s say developer A uses a different IDE than developer B. Developer A keeps getting an error and can’t figure out why. If they both had the same IDE, developer B could focus on fixing the problem instead of fumbling around in developer A’s IDE. Although a lot of IDE’s accomplish roughly the same thing, it’s important for a dev team to understand that working as a team is the biggest factor to success. Use the same tools, get the same results!
Communication is Everything
Prior to working remote full-time, communication was usually very active around the office. Working in an open environment really helps foster the kind of communication that makes a team efficient and effective. Our team utilizes Slack for everything company-related, so changing our environment to a virtual one wasn’t a huge challenge. The biggest change was the little things. In the office, I could roll my chair over to a designer’s desk to talk about functionality, but being virtual, sharing screens has become the norm. This was a struggle at first because no one in the office had used the “phone” feature on slack before to make calls, yet another hurdle in a now virtual office. As the days went by, we all seemed to get a hang of it. Another huge priority for me was active communication throughout any project I was a part of. It was paramount that I provided clear communication on tasks I was working on, and touched base with other developers if need be. I had to continually remind myself when I started working virtually that proper communication was the biggest factor in our team’s success. Specifically for our dev team, keeping up on git commits was of utmost importance. For those not familiar with git, it's a version control system used to keep track of code changes throughout the life of a project. Before working remotely, checking the git repository for updates before “merging” was always an important task, but working remotely amplified the process significantly. I adopted the process of always reaching out to our dev team channel after merging, just to be sure that everyone is always on the same page.
Triumphs and Struggles with Working From Home
I think the best way to describe working from home is peaks and valleys. Thankfully during my experience, I’ve had a lot more peaks. Flexibility comes to mind as the biggest triumph. I’ve been able to get outside more, which has definitely helped me focus on tasks better when I need to. Although flexibility can be a major advantage to working from home, it can also be a crutch. As mentioned before, organization is key to staying focused, not focusing on distractions. Almost a year into working from home, I have to have a list that I make every morning to go off of, to really give my day some order. Order and organization are vital when working from home.
All in all, coding from home has its ups and downs. I knew with our team we’d be able to adapt to really anything that was thrown at us. I think our team members have shown great poise and flexibility throughout the whole process and those are traits that always thrive virtually or in person.