Get your time backa by learning to automate it
After nearly a year ago saying I was going to be a more regular blogger, here I am nearly 4 months from my last post (and closer to 5 months since one that arguably had some sort of insight to it). So you, one of the 5 regular readers of my blog are probably wondering what's my excuse going to be this time.
Simply put, I let my own inefficiencies get the best of me.
I plan to do a series of blog posts around this topic, but the bottom line is that being a remote worker means you have to have an even better grasp on your time. If you don't, you'll get yourself buried in no time.
So let's start this series with what I think is one of the easiest things to do. Learn to automate what automate-able.
I had several things I did on a regular basis, including posting builds and updating our API and Schema documentation. And each time I was running all the commands to do this by hand. Now question 2 of the Joel Test says this is a bad idea from a build perspective, as it makes the whole process prone to all sorts of human errors in skipping a step or mistyping something. But I look at it an even more elementary level; if something you do is repeatable and done largely the same way every time, not automating it is in effect wasting time. Especially if it's a long running process; it's far better to have it run on another computer while you tend to things needing your attention. It's multitasking where you don't need to pay tons of attention to one of the tasks. So I've dug back into my bash scripting skills, and make every since task I do that's script-able into a bash script (or a PHP one if that's easier).
But then there's slightly less obvious methods of aomultitaskinga that is often overlooked. I was reading an article in Delta Air Line's Sky Magazine last month (sorry, couldn't find it in non dead tree form), which talked about how more and more people are outsourcing the little things in their lives that are taking time away from friends and family. And it clicked for me in a somewhat surprising way; I made the focus of my job too much at the low level, when I needed to be looking at the proverbial aobig picturea more to be able to be effective. And these little tasks, all very low level, were eating away at my day and not letting me focus on being an effective evangelist inside Sugar.
So I've started down the road of being more effective with my time, and in the process had to decide what's truly core to my job and making sure I keep that most important. Then with the other tasks, I've worked with my team to balance them between all of us or move them off my plate when they don't make sense. It seems quite simple on the surface, but for a person like me who wants to turn out a complete and perfect thing with everything I do it was tough. But the gain for me for doing this, I've found my days less stressful, working less late into the night, and generally have enjoyed what I do even more than before. As a bonus, my communication with my other team members, as well as other folks in the company, has improved.
Being remote makes it really easy to fall into the trap of becoming a workaholic, as work is a mere few steps away. Resist the urge, and instead become more focal to your co-workers and managers on what is a timesink for you and work with them to help solve the problem. It's easy to become siloed as a remote worker, and when this happens you will quickly fall into the inefficiency trap.