I've always been interested in web development. When I was younger, I applied for a job advertised on a local version of Craigslist. The guy didn't have an office, and was only a small company, so I ended up working from home because of that. Eventually the money ran out, and I got an office job (which I hated).
A little more than a year after that, I found myself downsized, and with more than a month of severance and vacation paid out, with a little time on my hands. I did piecemeal work as a freelancer, and was lucky enough that the work kept coming.
I've been working a lot of projects for a specific US customer (I'm Canadian), for more than a few years now. I've built everything from a distributed shipping label generation and printing system to an experimental Tensorflow-based spam classifier. Currently, I'm working with their purchasing department to improve their daily tools.
The last few months, I've been working hard at keeping to a more early wake up time. During the winter, I was rolling out of bed 10 minutes before work, grabbing something to eat, and settling in.
These days, I usually get up about an hour and half before work, sometimes the gym, most times not (I'm trying I swear). I'll grab a bite, then sort of dig through emails before I even really start work (it's sort of a warm up time to me actually being functionally working).
Depending on the week, I do code reviews, which might start as soon as the clock officially rolls over to 8AM where they are (I'm in the AST timezone, they're in CST).
Other than that, it's the usual messages from different members of their staff with questions and bugs and requests for queries, in between working on whatever my current contract task is. I usually pull about 3 -4 hours of work in the "morning", somewhere between a half hour and hour and a half for lunch, then another 3-4 hours (most times I stop working around the same time their offices start shutting down, because the people I might need answers from leave).
I generally match their 8-5, and on American holidays I get less work done, either because I'm feeling less motivated, or because I need someone to answer a question. I don't usually take time off for Canadian holidays, because time off is money not made.
I've never been much for vacations, so I don't really block more than a day off here and there (except for maybe a 3-5 day stretch somewhere in the middle of summer, and of course Christmas and New Years).
My workspace for the last half a decade has been a desk my father made for me. For a while, this was in it's own room in the apartment I lived in. When I started renting a house with a few friends, I got the master bedroom, and so 1/3 of that became my workspace, and when they moved out, I moved my desk down to the living room, where it's been for the last 3 years.
I've tried a co-working space (didn't like it, too expensive for what it was), working in a coffee shop (do-able with headphones), and even rented a private office space for a year (wasn't worth it, who wants to drive to an office 10 minutes away when you have a computer in your living room? :) ).
Eventually I might take one of the other bedrooms and use it as an office, but the living room works well because my work computer is also my gaming computer.
That all being said, I run a dedicated virtual machine on my computer where I do all my client work. It's a good way to separate all the files I need and makes it a bit easier to secure it all (I deal with sensitive data for some of my clients).
Headphones. #1 with a bold and underline. I have significant other, and live in a semi-loud neighborhood, but even when it's almost silent, putting them on helps me focus. They're partially noise cancelling, so that extra quiet can help.
Netflix, Spotify, YouTube, other media.
I've found over the years that having media on in the background is usually helpful to getting me in the flow.
I've had a second screen on my computer for a very long time, and there's almost always something playing on it (usually shows or movies I've already watched, so I don't really pay more than 10% of my attention to them). The only time I don't is when I'm on a Skype call with someone, when I'm planning a project, or when I'm stuck on a difficult problem.
Screens. For the longest time I've had pair of standard 1080p 24" monitors (Dell Professional series, because they're one of the few monitors that have a vertical stand that slides up and down). Late last year I was able to upgrade to a 4k 27" panel, and it was the best piece of hardware I've gotten in a long time. I'm able to see way more code on the screen, see 2 full 1080 width browsers side by side, and just, more. The extra real-estate on one panel is well worth the cost of the monitor.
Desk lamp. Seriously, this one sounds dumb, but when the room gets dark enough that I can't see things properly, that little desk lamp balances it out so well. I have one that clips to the edge of my desk, and it's behind my monitor, so my keyboard is lit indirectly, and I don't get eyestrain.
Multiple CPU cores, and a good chunk of RAM. Having a beefy desktop means I can spin up small virtual machines to run test servers on, to run clean desktops for test environments, to partition off different clients environments.
It's a huge time save to just be able to close a VM, have it save state, then just boot up the next week with all the stuff you were working on exactly where you left off.
Notepad, note pad, boogie board, scrap paper. I use all of these things to take notes when I'm in the middle of something, or when someone asks me for a new feature or a tweak while we're reviewing a project, or just as a paste dump for thoughts in progress. I sometimes dump it to digital notes, sometimes to paper (which eventually goes to digital notes or tickets). There's something really good about being able to write out an idea on paper or board that makes it easy to see the whole picture. Which I grab varies from day to day, even minute to minute, but whatever feels best is what I use.
Sleep. #1 most important, everyone says it and it's true. I have issues from time to time getting a good sleep (loud neighbors, too hot at night, cat walked on my face at 5AM because she wants food), and when my sleep is garbage, my billable hours tank for the day. Exercise helps as well, but even for that, you need to have had sleep.
The biggest things are to close Steam, pull up work, and just try to stay on task. I find if I can't stay focused (when I catch myself starting to browse news sites for more than 2 minutes), that's usually the time to stop the clock and walk around the house or grab a snack or something.
Try to force it a little, but don't try to force it.
After doing this for over a decade, I have a good sense for when I'm going to need a break.
It helps to always have something in your queue to focus on. If you can't work on the project, then answering emails for a few minutes might be just what you need.
Caffeine is something I avoid, because that tends to become a habit quickly, and loses effectiveness. It's great for the occasional day you have to work, but can't focus, but I try to avoid at all costs using that too often.
Have things to fiddle with. I know fidget spinners were a silly trend mostly, but I have a half a dozen every day objects that I idly play with while I work sometimes, and that's usually enough to burn off whatever makes me want to not work.
Try hard to enforce a specific set of "work" hours. It's a lot easier to be in a routine of "work time", because you find yourself poking your own brain when you're not. If you keep at that long enough, it starts to feel a little odd when you slack off, which helps me get back on task.
For me, I've always disliked the office environment. I've made friends over the year with some of the in-house developers at clients I work with, and they always seem to be operating in an environment that's counter to one where you could get work done. Constant walk-up interruptions, having to work in the same space as Marketing or CSR departments, or in one case, in a warehouse. So, the freedom to work when and where I choose is a huge thing. It means if I want to work at 3AM because I'm actually productive, I can.
I love having control over the hardware I use. Too many companies under-supply developers, or lock them down to secure things. The fact that my 6 year old desktop is more capable a development machine than one of my friends 2 year old company supplied laptop is a testament to how valuable that is. Having to work with company developers and watch them struggle with systems that make them submit requests to be able to use updated versions of common tools, I'm glad I have 100% control over my system.
Since I work from home, my lunch is 10' away, my bathroom is 3', and I can walk in the grass whenever I want. I can work while travelling. I don't do it often, but the ability to put money in my pocket in between shows at a music festival is awesome.
Not getting to meet my clients face to face often or at all, especially when I've built up a good working relationship with them, or even made friends.
The perception from many companies that remote workers are lazy, or that you have to be in an office to work this job, or to be effective.
Strong communication is so important to being effective, but also, you don't have to have eyes on me to know I'm working.
Interruptions from family and friends. This is hard one sometimes, because some people don't listen to this, and try to interrupt you because "you're home, so you're not doing anything important."
Read 83 answers from other remote workers
Be lucky :)
But seriously, luck played a lot of a role in the bigger contracts I got. Work hard, but don't be afraid to throw out that post about whatever you're writing, or try to sell some hours on a popular community site, or apply for that job. You never know what's going to get you in the door somewhere, or put you on someone's radar, or give you that next idea to run with.
Work hard, don't mess around, be straight. This advice applies even if you were an employee, but it's even more important as a remote worker. Your boss / client can't see you work, so they only have how they perceive you're working to go off of. Always communicate, before you start a project, as you work through it, when you're ready to sign off. Involve people in the process of your work, share your progress, always make sure they know what you're on and how it's going.
Being remote means they can't tell how things are going as easily, so be the person to let them know. I cannot stress how important this is, regardless of if the projects are going well or poorly. As long as you are straightforward with where you are and any challenges you might be running into, you're in a good place. You can't cover that stuff up. Don't skip owning mistakes.
Build a reputation as someone who they can trust to tell them the real state of the project.
Read 37 answers from other remote workers
The biggest single challenge is that I'm not in the room. Conference calls where you're the only one on the phone listening to a room full of people talk about a project are the worst. I've been lucky enough to work with teams where these kinds of things were alleviated by putting everyone on a voice call, and I've been unlucky enough to be on the end of that call where you can only hear every 3rd word in the room.
If the client you work with doesn't prioritize communication via chat, email, voice calls, you can run into a lot of barriers rapidly.
My primary contract has 2 in house developers, a few remote developers, and a few contract coders. Because of this, they learned early on to value these communications, and so the work progresses a lot more smooth.
On the other end of that though, there are some teams that don't value the communication as much and so are challenging to work with. It's hard to get a project moving when the person you need an answer from won't respond to chat messages for hours, if at all.
Read 4 answers from other remote workers
You're at home, surrounded by your books and toys and there's nobody to tell you not to play video games or go to the beach because it's super hot.
Except, if you do any of that, you don't make money.
That's the biggest challenge that makes working remotely hard. You could do anything, because you're not at work surrounded by people. It's just you, your willpower, and your bills. To work this way, you have to have or quickly learn self discipline, and be your own boss in a very real sense.
Read 6 answers from other remote workers
Over the years, I've had over a dozen different projects, everything from website ideas to hardware to video (I even managed to keep up vlogging for an entire year).
I find it's important to have something that you do that isn't work, because it acts as sort of a palette cleanser.
Working on all these weird projects has helped me develop a better sense of what a client might want, gives me the chance to play with new technology or learn new software, and gives me something to think about in a different way.
Several times, things that I have played with on my own have provided the seeds of suggestions to clients on how they might improve an aspect of their own business or software, and has definitely helped me improve my project planning and management skills.
Read 9 answers from other remote workers
This is an easy one. I've tried this a few times, and still sporadically pull an evening or a night sometimes.
There is nobody online.
This can be both a blessing and a curse, but more times than not, it means you can't get anyone to answer a question, be it a code problem you want to ask another developer about (or stackoverflow), or a project question you need an answer to that's blocking your progress.
Other than that, it's that a lot of the people in your life will want to do things, and are only available in the evenings or at night to do them. It's a lot harder to work when you have friends asking you to join a game or go to a movie.
Read 4 answers from other remote workers
At RemoteHabits we're always trying to improve our interviews, what question should we have asked Ben Dauphinee?
Ben is a full-time web developer specializing in, of all things, PHP, which he started learning in 2002. He has been making websites since he was in middle school, where he learned that he really likes computers. In his spare time, he does photography, gardening, and a multitude of other things.
Want to be interviewed? If you have a remote position, head over to the interview me page!
RemoteHabits Jobs has everything you need to find your next great remote work position!
Keep your remote working skills sharp—get notified when we post the next remote work interview! RemoteHabits will help you achieve your remote work goals!