Better Software, Built Remote
Move hallway conversations into better code
If you’re building a software company, you need to decide — should I hire remote software engineers?
Set aside for a moment the COVID-19 pandemic and the fact pretty much everyone is working from home. The remote work trend has been clear for some time. Tech hubs keep getting more expensive to live and work. Companies are looking for talent outside their headquarter city. Distributed teams now work in offices around the world, and some of them work entirely from home.
The competitive labor market justifies access to more talent through remote work. Zoom and Slack have made it possible like never before.
But isn’t it still better to have programmers all in one room?
Explaining to the boss how to write software
Think of writing software a bit like writing a book. The author isn’t acting alone but instead collaborating along the way — activities like research, editing, and ensuring a marketable product. But the main task of writing a book is writing.
Coding is similar. Developers work together and with product managers, UX designers, and many other roles. But the main activity is coding.
Picture the perfect writing space, and you’ll imagine Walden Pond — secluded, quiet, and remote.
What is it like to be a programmer in an office? If you want to design the perfect environment to drive devs (or writers) crazy, it would be the open floor plan. Finding solitude means fighting for conference rooms, or donning noise-canceling headphones.
Those large blocks of concentration-time get interrupted. Constantly.
Less like a book, more like Wikipedia
Coding isn’t exactly like writing a book because it results in software, which inherently has a shelf life. Whether it’s an app, website, or cloud computing infrastructure, it requires ongoing maintenance.
Modern programming is more like writing for Wikipedia. Lots of distributed contributors working together to create a vast encyclopedia. Open Source software follows the same model. All over the world, developers are building Open Source Software with people whom they will likely never meet. Your company can do the same.
Integrating isolated individuals
Collaboration is essential during the process of “integration” when programmers combine their work into a full product or application. Many bugs hidden by a developer’s setup can’t hide anymore. Using continuous integration (CI) tools discover bugs early and more often.
“Works on my machine.” — programmers everywhere.
When working together in an office, it’s easy to have a chat about problems you see in integration. You might bring your laptop to a colleague’s desk (interrupting their work) and ask them to fix it for you. The broader team never learns from these discussions, and there is no record of it.
Remote team members (who can’t drop by) require your team to communicate in writing. You are encouraging clear and easy-to-discover documentation. You’re allowing developers the freedom to be productive on their terms. The result is better software.
Hiring remote software developers is excellent for employee flexibility. It helps you increase your talent pool and reduces costs. Programmers need solitude and large blocks of time to do their best work. Remote teams promote written instructions and automation — all of the above lead to better software, built remote.