Ask HN: How to make a career working remotely?
I hold a PhD in applied machine learning, and have been working as an engineer at a startup for about 10 months now. A few weeks ago I moved away from where my company is located for a few months for personal reasons and have been working remotely. I really like this setup, as I'm in the comfort of my home throughout the day and have the discipline to carry out my work despite the change of place. And it is something I expect to do often in the future as my wife is in a profession that requires her to be physically present when dealing with her clients, and I realised that there may not always be the most interesting opportunities for me in some places where we live together (for example now).
This got me thinking about what I should pay attention to if I wanted to have a successful career working remotely. What kind of companies are more open to allow this form of work? How about freelancing? Are there any forums or groups online where I can find more information about working remotely? I have little idea about this as I have always been physically present at my place of work during the past 9 years of my professional life.
I thought this would be a very good place to get various points of view. Thanks in advance for any useful information you have that you share!
94 comments
[ 3.2 ms ] story [ 200 ms ] thread- https://stackoverflow.com/jobs
- https://angel.co
- https://remoteok.io/
- https://weworkremotely.com
Good luck.
You might want to check out https://www.toptal.com
You might also like reading this book "Remote" written by BaseCamp founders. I read it last weekend and I think it's great.
It probably won't suit everyone and I don't see it as a long term full-time thing, but it can help a lot to: - start working remotely, and start making money - to try the remote/nomad lifestyle and/or the time you find something else - to make some money while working on a side project (or a startup, or whatever) - to make some additional money while have a full time job - on weekends, evenings, whatever
I've tried websites like upwork, freelancers and guru.com before and the big advantage with Toptal is the easy and short time it take to hop on new missions. rom my experience, there is - so far - no need to compete with other freelancers to start working, and you can hop on some new stuff within a week or so. At a very reasonable rate.
On the long term, I think joining a remote team and/or a community of freelancers/nomads is definitely a must to avoid isolation.
Good luck :)
That said, perception is reality and being remote does add some friction to certain aspects of the job and the way the team works. If you take a proactive approach these can be managed or overcome, leaving you with just the benefits of working remote.
Things that come to mind: - Written communication: Crisp emails and IM that get the message across quickly. Know when to optimise for speed and for run.
Some things that come to mind:
- Verbal communication: take the time to speak with your team mates. Depending on the culture this may mean you never talk work by phone/Skype but you should still speak to everybody occasionally.
- Establish a rythym that works for you and the team. Be present and visible in ways that demonstrate and reinforce your reliability and commmitment. Just make sure you're adding value and not just making noise because you want to compensate for being remote (or not actually delivering).
- Respect other folks' time (and timezone, work arrangements).
- Actively contribute to the team and workplace culture. Don't just follow the lead of others but make suggestions and/or take the lead on initiatives when appropriate.
[edit: Formatting]
I have been working remotely for a while now. These are the things I learned.
- time difference matters. It is better if there is some overlap with at least some people in the team.
- "showing up" (via various communication channels) have more value at one of the places I worked than the actual work.
- I was consistently rated less compared to others because my interactions were only over video, once or twice a week and via chat channels and it could never make up for face-to-face communication. This is highly subjective. At another place, I never had such problems.
- Expect to add a lot of stress in your life (again subjective).
- Pair programming with colleagues over video/google-hangout can be extremely valuable.
- video calls mostly suck, especially if you have low upstream bandwidth (which was the case with me).
- make plans to travel and stay with your colleagues for a week or so, once in a few months.
- "everyone being remote" is better than one or two people alone being remote and the rest in a central office. That way, the company is "set up" for remote working and people take care to put everything online in a wiki etc.. Not so, with a centralized office with only a few people working remotely.
- It is also very easy to get burned out working more hours, especially if the other side is in an overlapping your day. It happened to me many times. This needs fixing at org level and should meet the expectations of everyone.
HTH.
The family will claim to understand that you have to work, sometimes (often?) uninterrupted. But the perception, especially for children, is that you are there; just not participating.
This segues into to the other point I found pertinent - everyone being remote is definitely better. This is currently how I work, but I was previously a "minority" remote worker. Depending on the organisation, there is a whole political architecture that others navigate/recruit, but that you cannot access to the same degree. It doesn't matter how good you are, you can be undermined by people who resent advice/change/correction/omission/etc. This contributes its own stress.
Anyway, from this experience I have a few thoughts. What type of company works well? My (obviously biased) perspective is that the best companies for remote work are the ones that are all-remote. While there are certainly exceptions, I've seen plenty of cases where companies allow remote work, but remote employees end up being second class citizens, perpetually out of the loop. If the company is all remote, that won't be an issue. That said, even a mixed team could be effective (with a bit more effort) if they have an excellent set of tools and processes.
Slack is huge, and has made our work much easier than it was before. I know there are other group chat clients that purport to do the same thing, but I haven't found any that do it as seamlessly as Slack. Similarly you want to see that they have good project tracking software (we use Pivotal Tracker, but there are a number of quality options), and that they have clear guidelines in place for how to use it. Some project tracking software is more opinionated, some less, but even with Pivotal being one of the more opinionated options, we have done quite a bit of experimentation and optimization over the years to make our process as effective as possible. Any team that does remote work well will have experimented with their processes for keeping everyone in sync, and they should be able to define the results of that work.
You can also learn a lot from the interview process. The most important element of an effective remote team is effective communication. Since that's what interviews are all about, it gives you a great insight into how they do things. If communication is poor during the interview - if they have you doing silly things like writing algorithms over the phone for instance - it's probably a warning sign. On the other hand, I'm not saying this is the only effective way to interview, but what we've found works well is to give candidates a few 'assignment' problems to work on, on their own time. We set up a repository for these and have them submit pull requests with their solutions. Then we review their code and make comments for discussion, just as we do when a feature is completed by a member of our team. The assignments are as minimal as possible so as not to waste time, while still giving a decent insight into how the person works. (A much better insight than a traditional interview.) Again, this isn't novel, nor is it the only way to do things, but I think it does demonstrate to prospective hires that we've thought this stuff through, and are committed to building an excellent team. I would hope to see something comparable from any hiring team, but I believe it is especially important for remote teams because good communication and effective processes are that much more important without the face to face crutch to fall back on.
Anyway, congrats on heading in this direction, and putting thought into the kind of company you'd like to work for. Remote work can be fantastic; These days I would never want to work any other way.
Years later I had a break in and decided to take off on a year sabbatical. It was the most amazing year of my adult life:
http://khanism.org/perspective/minimalism/
I've lucked into working remotely a few days a week for my current company. I actually find I'm more productive working away from open workspaces.
Still, I'm not satisfied with working as a developer. I've considered saving up for a year and then attempting to find grants or use crowfunding sites so I can take a break and work on my own projects for another year.
Would enjoy reading an update of your journey to see how your next sabbatical goes.
Source: worked here 3 years, enjoy working with a fully virtual team.
This was especially frustrating because it was my first-choice job prospect, so I didn't actively pursue other decent opportunities.
I have set it up so that my private contributions are shown in my profile progress chart, no access to private data but activity looks good sign.
Good luck :-)
I am not doing it all the time as I like to be around people every once in a while (but having decent noise cancelling headphones for surviving those open spaces).
The key thing is indeed discipline.
Current tools support this fully. The level of proficiency with these tools directly affects the quality of the interactions. This includes their use by the other parties.
In 2014, I spent my whole year working on a project remotely, from idea to release and support. It was super nice and paid nicely.
It is important to be part of an open source community I'd say as it helps in asking trusted people about various things. In that regard, Slack is working well (as is Discord). Appear.in is also very useful.
If you're one of few people in the company working remotely (or worse: one of few in your team), you get cut off really easily. Remote practices won't be up to scratch (because most people aren't using them), meetings will happen in person and dialing you in will be a chore, and things won't work as well. You'll hear about major events by email that everybody knew about last week from office chatter. This isn't to say it'll be a disaster, but it'll be less effective, and less fun.
Companies where everybody works remote by default meanwhile are a different ballgame. Everybody understands how remote interactions should work, and that's what gets used to get everything done. People are good at using the tools and processes required to pull this off well, and the company will be better at managing solutions to the downsides of remote work (by flying everybody into a summit to see each other in person every 6 months, for example, or covering coworking space costs). You're no longer the great developer they want _despite_ you working remotely - you're now one of many people, all working remotely, and all working together on the same playing field.
Management remotely when everyone else is co-located is even worse. For instance, there was a nasty bug discovered late last week, and I didn't find out about it until Monday morning, and that's MY team. I feel like I look like an idiot to my superiors, and is one of the reasons I'm moving back to be co-located.
I started at this company in the office as a developer, and went remote after about 3 years because of personal reasons (actually remote - I moved 5 hours away). That's normally not really an issue with my company - a good chunk (maybe 40%?) of our developers are remote, so we're used to it.
However, shortly after I went remote (about a year), I moved into management, and all hell broke loose. I feel I'm not as effective as I could be because of my team, I'm the only one that's remote. I find myself finding things out after the fact, having less effective 1:1's because of the remoteness, I find it hard to build the relationships that are vital in management.
I'm moving back "home", so to speak, in June directly because of this. My wife has been very understanding, as it was mostly because of her that we moved away in the first place (pursuing her career).
I understand that working remotely while having to manage people can't be easy either way, but could being in the tech side make it easier or not really?
Not sure how easy that would be in case of ML. But in other areas it's not impossible. E.g. GitHub.
I'm sure other HN readers will have much more info.
There was a pretty good book written a few years ago by a former employee of ours about how distributed work and culture go together: http://scottberkun.com/yearwithoutpants/
The thing is that these companies need their remote employees to be persons with exceptionally strong discipline who are also self driven.
So you can be a very good engineer that also performs given tasks within a reasonable timeframe, but if the person managing the team has to constantly hold your hand (which is harder remote) or you are too passive you'll be fired quickly.
Regarding the skill level (at least what I've seen until now): Yes, generally these people have more experience than the average engineer (of course I'm not talking about the average Google or Facebook engineer here), but it's nothing insurmountable, almost anyone could do it provided the will to improve.
I have in practise seen that things usually don't work out well for the remote people, if the company has also a physical location where you have some "higher ranking employees" (project managers, architects, etc) as well as a certain amount of developers. If the company is not actively fighting against it, very soon you will end up with situation where things are discussed offline and those working remotely are left out. This can start very small. On the bigger meetings you hear certain things have already been de facto decided in the offline meeting. Instead on influencing, you are then just reacting.
This then leads to the most important thing for the remote worker trying to build a career: You need to fight this tendency to be left out. It is in remote workers interest that there are regular online meetings or gathering where everybody participates (even on daily basis). You need to gently remind people that you want to be involved in discussions as well. Be pro-active in Slack and try to push discussions to take place there. If the organisation is growing, push for quarterly or twice-a-year get togethers so that you have also physical contact with the new people. It makes a big difference for the remote communication when you've had a few beers with somebody.
- Start freelancing. I started by negotiating with my employer to transform a full-time job into a part-time one. This is a great way to start.
- Accept what you find until you can get 100% freelance, but have a preference for remote work. Be ready to cut your rates to work remotely.
- Grow your network and reputation until you can have 100% of remote work at a decent rate.
Now we moved to a countryside we like with my wife, we have a house for half the price of an apartment in the city we used to live. I now say upfront to clients that I can only work remotely. I occasionally go to meetings in Tokyo (which is a bit less than 2h away from where I live) but Skype works most of the time.
Be available. Be reactive. Be ready to make mistakes that will cost you time and stress. Be ready to have some shitty clients that will bitch and won't pay. It takes a few years before you get to a level where the stress is lower than an employee job but it is worth it IMHO.
Congratulations on where you are! I'd love for something like this in my career.
> Congratulations on where you are!
To give you an idea of the kind of freedom you get, I am actually French, used to live in Lyon, and married a Japanese woman. When I reached 100% of remote work, I told my wife "say, wanna go live in Japan?". When I told my clients I was moving, so they should expect a 1-2 weeks of downtime on my side, I had an important client in Australia. His reaction was "Cool! Our timezones will be closer!"
Just one of the bonuses of moving to a cheaper, warmer timezone.
I'd come to work and a bunch of stuff was already done, etc.
So I'd say, try and make sure that you don't get so caught up in new stuff that you're no longer productive with old stuff. That can also be very frustrating.
You're probably learning many of the benefits of remote work already (but there might still be some tips for you in there to get the most of it), but it's also handy to know what the upsides (and potential downfalls) are for your employer(s) so you can better see issues from their point of view, make a more compelling case while interviewing for a remote position, and so on.
I definitely second the suggestion to look for remote-first companies. After interviewing around and getting through a half dozen interview processes to finally get an offer "as long as I was comfortable potentially relocating later if remote doesn't work out", I ended up completely omitting all companies that weren't 90+% remote from my job search. When you can actually work remotely, the whole world is your job market -- you can afford to exclude companies that are on the fence about remote work.
Good luck!
[1] https://zapier.com/learn/the-ultimate-guide-to-remote-workin...
As others have said, the key to making it work is trust and communication. Employers/management need to know that you are being at least as productive as you would be in a conventional office environment. And your team needs to know that you are making a fair contribution to getting things done. Each person in those groups will have a different default belief about what you are doing (working or slacking) in the absence of evidence to the contrary. Understand that, and use communication to address it.
So communicate appropriately. Some people suggest being super proactive on communication as a way of visibly signalling the effort you are making. I'm suspicious of this in a developer role, as you can end-up being thought of as noisy and self-promoting. Recognise that the way you communicate will probably need to change over time.
Find tools that work for you and your team, but don't get too preoccupied with tool selection. Its not the main issue.
Assuming an employer is open to remote working, I'd say that you need to: a) show a realistic understanding of how to make remote working work, and the problems that can occur; b) demonstrate that you are trustworthy and can work independently; and c) demonstrate that you can communicate effectively. This is going to be easier for an existing employer than a prospective one. being familiar with popular tools like hangouts/slack/skype will help.
Scott Hanselman [1] has some useful things to say about remote working. He's a PM at Microsoft.
Finally, recognise that it might not work for you. You might get lonely, or marginalised/overlooked, or just want a change. Don't lock yourself into one way of working for ever.
[1] https://www.google.co.uk/#q=remote+site:hanselman.com
1. More than one customer. Even if you're earning less money, two badly paying customers are better than one well paying customer.
2. Invoicing is always prompt, and payment must also be prompt. Walk away from anyone that holds onto payments.
3. Be scrupulous with the time you charge out, and be aware that if you do this, you'll find it takes 4 hours of a day to do two hours work. Use rescustime or timesnapper to monitor where your time is actually going.
4. Never turn down work.
Don't know if these are especially good rules, but they work for me. I'm on about my 5th year of being a remote worker.
http://computationalimagination.com/interview_tim_hopper.php
There is a whole different work ethic and discipline involved, and being someone who already knows all this is a value to a remote company. Because even though everyone can learn and figure out these details... not everyone ends up being good at being remote, so a successful history is a nice bonus when hiring.
If you have previous remote experience, make sure to highlight it.
Basically, you should imagine yourself as a specialized company doing sub-contracting in ML.
Finding a real demand and securing a contract is much harder than doing actual coding and modeling. There are literally thousands of guys who are smart enough to apply ML, especially now, when it became mainstream.
PhD is, of course, a huge advantage in the world of pointy haired bosses, HR and paper pushers. With it you, probably, are looking for a very high hourly rate instead of subcontracts. In this you probably would fail, because people who are willing to pay high hourly wages needed certain rituals to be performed publicly in return.
For Whistler, substitute the tropical island, rural idyll, or cheap city you prefer.
What has been interesting to watch though is the culture clash that happened when my employer was acquired by a similar company without a remote workforce, where we'd always had some.
My original company has essentially gone away as the office was closed, keeping only remote employees. A few from that city were kept, and too are now remote from the head office thousands of km away. I had the advantage of already being remote, and kept because I provide value. I don't know how likely it is though that new remote employees will get hired. As an ironic twist, the HR director is one of the newly-remote employees without an office base.
Spending one or two days at a coworking space could still be good to find customers, if you're a freelancer, or just to chat with somebody at the coffee machine.
1 - Go where it's the norm.
2 - If you can't follow #1 then be attached to your desk and phone. People won't give you the benefit of the doubt if you take 30 mins to return a call or email.
3 - Do what you know. It is tougher to learn on the job remotely.
4 - Deliver tremendous value and make sure people know it. People need to know why you're invaluable.
If what you're after is essentially setting yourself up for being a "valuable resource no matter if onsite or remote" then as long as you're on top of your game tech chops - wise and there are companies out there willing to allow ppl with your skillset to work remote - you'll be alright.
For some ppl "successful career" entails getting "more responsibility" in their roles which is basically corp speak for getting into management/team lead positions. If that's your goal then your best bet would be looking for a "remote first" type company where everyone/most everyone is remote. Sure, you don't have to do this right away but keep in mind that it's very rare for a distributed tech team to be hiring external team leads/managers etc.
One other thing I'd add from my personal experience. Teams that aren't remote first but are looking for remote folks out of necessity (as in lack of "local talent") are not only more stressful to be on if you get the gig - they also tend to place the bar higher for remote candidates so one- get ready for hackerrank type challenges and two - have a github profile you won't be ashamed to share with the potential employer :)