I'm a huge fan of the idea that I can take my code and go anywhere with it. On a plane, on a train, and even in the rain. Except that for now, it's mainly an idea. A very young idea. An idea that I'm still working the kinks out of. Because the kinks there are. But it's an important idea. Because while I do enjoy the potential that code has for helping society, I also want to explore this society and world myself and not through a 1920 x 1080 display, because that's too limiting to creativity.
Some ideas will only come to you, once you live life a little
When we picture programmer's however, we picture either a cubicle, or a sub-dwelling somewhere. And because of that perception, it's what many programmer's end up doing. The darker the lair, the more credibility arises. The less roads traveled the better the code, is the mentality many a time. But at least for myself, I would like to change that. To turn it completely around. To never program sitting down between walls.
So today, let's discuss the feasibility of such a thing, and if it indeed can be put into practice in our current hectic society.
What you'll need
A portable laptop
I've written several posts about my 1lb Surface 3 laptop. Not the Pro model mind you. But the smaller and less powerful version, which I purchased for the sole purposes of portability and travel. And portable it is, and surprisingly powerful it is as well. You can read more about my adventures with it here. It's an ideal work machine (to me), for a variety of reasons. Mainly that I don't require anything that's very resource intensive, such as 3D modeling, CAD design or even Photoshop. I just require an IDE, database management software, and a browser, and I'm good to go.
Not a requirement however. You can carry around with you your favorite 12lb work machine and still enjoy what you're doing. But there's something about being able to just shut the keyboard lid, and walk within 3 seconds that's gratifying.
And not in a quantum way, but in a I need files in many places at once way. So yes, kind of in a quantum way. This one is tough to calculate, because everyone has different needs. I personally take many many notes in notepad and I have local databases that I use for development purposes. This makes it difficult for me, because I then have to monitor all changes in all of my different work environments. Ideally, you'd want a way to either keep everything on the cloud, or to run off of a data storage device, such as a flash drive with plenty of storage and such.
I prefer the non-cloud approach, because it doesn't ever rely on having a functional internet connection. And for this, there are 2 things that you can implement. The first: store all of your content on a flash drive, no matter what it is, and leave it there in your machine. I personally use the following.
Next up, redundency. On your portable laptop, keep a memory card with a synced copy of your flash drives work. You hopefully won't ever need to use it, but it will be there just in case.
My only real problem with source control is that you require an internet connection. Which isn't always guaranteed. If I want to code something overlooking the milky way on a Fimbulwinter in a Nordic land somewhere, I want to be able to do just that without having to worry about whether I have the latest changes.
The only advice I can offer here it to go with the flow. Sync your code if and when applicable, but don't worry too much if you didn't. Code is code. It can be fixed, merged, and managed. The goal here is to open up your world just a bit more and to escape the mentality that life is about spending 30-50% of it behind an enclosure.
This one has been the toughest for me to get accustomed to. The only way to keep your work in one place, is to simply, keep it in one place. And a huge part of this is simply:
stop relying on hard drives
Use hard drives, but don't assume that they will be there forever. Don't get buried in the safety that a hard drive brings. If I could count the number of times that hard drive failure has reset my work for the month, I'd have some years of work ahead of me. Everybody knows someone that has spent 1-3 days attempting to recover their lost data, or to transfer it over to a new machine.
If you can manage to get all of these things in order, then you are one step closer to coding your ideas from anywhere in our world. To getting on a plane, with no clear destination in site, and to boot up your work in 5 seconds or less. To get a client in a coffee shop in some hidden part of town, and to begin work on their project. And then to continue at home as if you were still in this coffee shop.
And that's a paradigm shift for sure. We've become very accustomed to Office Work during the past few decades, and thinking outside of that box becomes somewhat of a scary experience. And if you're not used to it, then it is, for sure. But it's an eye opening experience. And one that will be different for everyone. So if you're looking to break out of your current cyclic life patterns, get your table/laptop/hybrid device and load it up what you think you need. And then walk through that door.
to intertwine my work with my life in a seamless dance of creativity
Thumbs up if you enjoyed this post!
Walter G. is a software engineer with over 10 years of professional experience. When he isn't blogging or being a CTO he enjoys coding randomly complex things that he hopes many people will get a chance to use one day.