For the past few months, like many of us, I’ve been working remotely. Three weeks ago, I journeyed out of New York to a small town, and it’s been really amazing. Being around nature is something I forgot could be so pleasant. This place is certainly bereft of cultural opportunities, but so is Brooklyn at the moment.
The biggest challenge of this relocation has been internet speed. I’m working off of my cellphone hotspot, and enjoying the the temporary “unlimited” data from Mint Mobile, but compared to my home connection in Brooklyn, there’s been a big decrease in bandwidth. But that’s alright, things are always relative — at my last job (in the film industry) we had a fiber connection with incredibly low latency and bandwidth, and I was uploading and downloading terabytes of footage a week to teams all over the world. So, compared to that, my home connection was also a step down.
Thankfully, in my new work as a software developer, I can re-orient my work to this new environment. I don’t need a constant video stream up, or to download massive files. I can plan my pushes and pulls to/from repositories so that they’re most effective. When I need to research techniques or read documentation, I can plan my searches to be minimally bandwidth intensive.
This planning has helped me to be a more effective coder. I’ve learned to focus for sprints, leaning on techniques I know, rather than constantly pre-optimizing and trying new shiny toys. As a result, I’m producing work that is better and more agile, at a much faster rate.
An old friend from a lifetime ago told me once, “limitations inspire creativity” (in the context of an Instagram-like app that he built before Instagram existed!). I think that’s a more common phrase than I knew at the time, but I’ll still go ahead and attribute it to him.
Thinking beyond how we can individually benefit from working remotely, let’s consider the wider mantle of developers in society. Accessibility is at its best when it remains broad-based as a discipline, and in that spirit of inclusion, let’s remember that bandwidth-connectivity-latency is something we absolutely take for granted in some parts of the world.
Luckily, we have techniques and tools to use to enhance the experience for all. Whether we decide to use Google’s Accelerated Mobile Pages project (AMP), simply build applications with frontend SPA frameworks to differentially load our pages, or implement custom functionality in our specific application’s experience to ensure that we allow users to minimize their traffic-footprint when necessary… there’s no end to the tools at our disposal.
All we have to do it put them together. Is it more complex? Sure. Is it worth it? Absolutely.