Friday, 1 January 2016
How is technology helping you work remotely this holiday season?
One major step I took towards this was a few years ago was to ditch my desktop. Working in different places in a pre-Dropbox world meant conscientiously making sure the files I needed were on the computer I needed them on. This meant putting files on a memory stick, copying files to an FTP server or pushing code to a repository before it was ready. There was also a certain amount of phoning and emailing people to ask if they could retrieve and send me a file I’d forgotten.
Many people cling to their desktops in the name of performance and because they have a real keyboard, mouse and one or more monitors, rather than an awkward and small laptop keyboard, small screen and trackpad. I fell in love with IBM/Lenovo high end ThinkPads nearly ten years ago when I was given one for work. They perform well and are extremely solid. With as much processing power and RAM as a desktop and as a Linux user, I don’t notice any reduction in performance compared to a desktop. In the two places I work most, my home office and my work office, I have a docking station with an ergonomic keyboard and mouse, two monitors and a webcam. This means I can easily switch between the two offices without worrying about where my files are. If I have to work somewhere else, I still have everything I need. The only drawback is that I have to take my laptop with me to and from work and home. But my nomadic working lifestyle means I want it with me all the time anyway. Those solid ThinkPads with their big batteries are not light though.
I was a late adopter of mobile phones (around 2000). Everyone else had one and I wanted to be different and didn’t see the point. Then I got one and I’ve barely been off it since. Quite soon after that, internet on a phone became fast and usable. Batteries are still catching up so using your phone to connect a laptop to the internet when on the move would often kill it. Plus data only plans have became very cheap. So to go truly mobile I acquired a 3G USB card so that I could connect to the internet anywhere there was a signal. Now I really could work (almost) anywhere at any time. These days I have a 4G wireless hub with a big battery, that can charge my phone at the same time, and the kids even have internet for their iPads in the car.
Moving to the Cloud
As a software engineer I’m used to sending my code to a repository (a central area where code from all the engineers working on the project is stored and merged). I’ve setup a source code repository at a number of companies I’ve worked at in the past and at home for my own projects. This has involved configuring a physical machine, often in a server room or under someone’s desk. With the creation of SourceForge and more recently GitHub and Bitbucket, source code repositories are now available in the Cloud. This has two distinct advantages, hardware no longer needs to be sourced or configured and the repositories are available everywhere by default without the need to be physically connected to the same network.
Lenovo laptops last and retain their capacity to perform for such a long time that I often find myself upgrading the operating system many times during the life of a machine. When I do this I like to completely clean the hard disk and start again. This gives me a fresh, clean install and means that any old bits of software I’m no longer using and had forgotten about get cleaned out too. One of the biggest headaches used to be creating and restoring backups of all my files including source code, photographs and other documents. However, with the invention of Dropbox and Google Drive I can keep all of my documents backed up in the Cloud. This means I can wipe my Laptop at any time and then just reinstall the OS, Dropbox, software development tools and thick client applications such as IDEs, check out my source code and I’m ready to go.
The added advantage with Google Drive is that I can work collaboratively with other people on documents without worrying about overwriting the wrong version or merging changes made in different versions of the document.
In the ever expanding world of DevOps, software engineers are using more and more machines that are not their personal workstations. For example, continuous integration servers, development, UAT, staging and production environments, each of which is likely to include at least one database server and one application server. Traditionally these have been hosted on physical, virtualized, hardware often located in an office and accessed remotely via VPN. With the introduction of AWS, Azure, Digital Ocean and Heroku, to name but a few, the purchase, hosting and maintenance of physical hardware is no longer necessary and all these servers become accessible from anywhere due to being in the Cloud.
How does this help me in the holiday season?
I have effectively moved almost everything except the physical machine I need to use as a human being into the Cloud. I’m no longer reliant on physical hardware, having the files I need on the computer I am using or an, often flaky, VPN connection. I can literally turn on my laptop and, as long as there’s at least a 3G signal, I can work. This means that over the holiday season and at almost any other time the technology I use allows me to work.
Whether this freedom to work is a benefit or a potential danger is a whole other discussion.