This article seems like an excellent resource, but it doesn't get into the drive you need to find a remote job (at least early in your career like me). When I started looking for remote jobs online, it took me over six months to finally land the right job.
What articles like this don't emphasize enough is when you're applying for remote jobs, you're competing against a worldwide talent pool. This is a lot different than the localized competition you may be used to. The increase in competition makes it exponentially harder to land a remote job.
Some tips I'd recommend:
- Make a list of the job boards/companies that post relevant jobs and view them daily. If a company is looking to move fast, this could give you an edge.
- Do something to stand out. (Make a video, send them something physically, etc.) DO SOMETHING! Don't just assume because you're you that they will want you.
- Put together a project company's usually ask for, without them even asking. (Browse the site and make suggestions, look for bugs, etc.)
First, most companies will have a time zone limit.
2. Companies will require that you can communicate in English extremely well.
3. You need access to a reliable electric grid and reliable fast internet (the firewall rules out mainland China completely--1/5 of the world).
4. Many companies don't want to hire someone from a country without a strong legal framework accessible to foreigners--they want to be able to enforce NDAs etc... And some companies don't want to risk dealing with any foreign legal system at all, even a good one.
5. Travel time (and expense/visas) to the office in case you need to visit.
6. You need to pass the "culture fit" interview.
7. Very likely to run into someone involved in hiring who has a bad impression of programmers from certain countries after working with terrible offshore teams. Overcoming this sterotype won't be easy. Related to 6.
Already being in America gives you several huge advantages.
Many of these rules can be more flexible/broken at big global companies with remote work availability. They usually have experienced legal teams to iron out some of these pretty quickly.
Eg. We're a remote-first product team of 150+ (at a much larger corp.), currently hiring 3 people in China and several more globally.
I'd say more than anything, we primarily only hire people with 5+ years experience in our particular industry. We can onboard an intermediate or senior person within a couple weeks, but a junior with limited industry-specific knowledge would struggle without someone to tap on the shoulder every 15 minutes for the first couple years.
If I were to give someone advice on getting a remote job (more generally): it's more about networking than anything [even more-so than regular gigs]. You need to build up a level of trust with the people you're going to be working with before even applying. Reach out to a few people at the company you're interested in with questions about the product to establish a rapport, really know why you want to work there (beyond pay or working from home), and work towards having a few beers with them in person (if possible).
Every competent developer in China knows how to bypass the firewall.
Then, once you have remote experience, in most cases you're really only competing with other developers who have remote experience.
It's hard to get a remote job right out of college. But if you're good at your job, and have 5+ years of experience, with at least some remote experience, it's not that hard.
Certainly easier than "competing with ever developer in the US" makes it seem.
See, this is the problem. Many companies are open to remote workers. Few want remote virgins.
I'd also add that it's not that hard provided you are a web dev (particularly front end). Non-webdev remote position pickings are rather slim.
>Non-webdev remote position pickings are rather slim.
True on average. But there are a lot of other specialties that have a high percentage of remote jobs. Most paid Linux kernel hackers work remotely IIRC.
So yes, if you look at the developer job market as a whole, finding a remote job is much harder.
However, If you aren't looking for an entry level job, the difference isn't nearly as great.
Totally agree with you that maybe it doesn't get into the nitty gritty of what it takes. I actually broke this down in the 2nd part of the article (https://www.deekit.com/how-do-i-find-a-remote-job-part-2/).
The point about the global talent pool competition is valid. My thinking on that would be to leverage what you have going for you.
For me, I was an native English speaker wanting to work with an Estonian startup. I had a native language advantage. So there are always ways to get ahead of those you're up again.
Like the idea of offering value before being asked for it!
End of year 1: job A $100k, job B $60K
End of year 2: job A $200k, job B $180K
End of year 3: job A $300k, job B $300K
Of course if it's a startup, the odds are high that it would fold within three years. So unless it's a BigCo job that you are planning on sticking with... it's tough for me to make the argument that it's worth it to walk away from a decent but non-ideal offer. Employers know this and use this as leverage against you.
It's a problem because you end up with an employee who is now being paid below market rate. This is most effective against those who are not employed, but once they are employed they will be hearing from recruiters or start looking for the next job while still on the payroll. Because this company is unlikely to provide aggressive enough raises, their employees will be receptive to new offers. A year or two out, this employee gives 2 weeks notice. Was the win of saving the company a couple $10k worth it? Most likely not.
If employers have trouble both finding and retaining talent, then this is a mistake to leverage this against unemployed candidates. If you don't have this problem you soon will once recruiters discover a company full of underpaid but qualified candidates. People leaving is also a signal to current employees that better deals exist somewhere else.
Almost everyone worth working for is hiring constantly. Hence it's relatively straightforward to run a bunch of interview processes in parallel while still being quite picky about the offer you accept. In most cases, it's highly unlikely that a better option will materialize with additional time (in 99% of cases, it would have existed when you started).
And no, it isn't easy to do it in parallel because I'm almost always employed so my bandwidth is about one interview a month.
I've worked at two such companies, but this kind of work appears to be a kind of dark matter never discussed here.
when a US employer lists "anywhere" under location, this pretty much implies "anywhere in the US".
it's a pretty major ordeal for a US company to directly hire a foreign individual especially remotely, which is why if you look on job boards and see an advertised salary way lower than what a US-based candidate would be asking for - it's almost always advertised by a proxy company who deals with paperwork etc. from what I've seen on major job boards these account for ~20% of remote job ads.
that said - I agree that competition for remote jobs is more intense because there's less of these out there and plenty of ppl interested in getting one even if they have a job but it forces them to go to the office.
I wrote up my process in an article on Medium "How to Get a Remote Job, Even When Remote Isn’t Advertised"
Its a bit difficult to do that same if one is from a developing country though (flying is expensive :-)). A more interesting problem to crack.
So, you combat that by :
1) Be visible. Have code up on Github that I can see.
2) Offer a month to month contract. 15 day notice for termination. This gives you and the company an easy way out if things don't work out and the added bonus of not having to deal with messy tax issues across country borders.
3) Flying is only expensive if your hourly rate doesn't justify it. Honestly, if you're approaching a company with some incredibly low number, e.g. $15/hour, even if that's a decent wage for your country, as a manager, I see that as a signal of cheap, inferior labor. Increase your rate, e.g. $100/hr, so that you could fly if you had to.
However, thats a US/Silicon Valley number. Europe, which is closer, will find that number too high for its local developers (as far as I know). :-)
Just sharing for sharing sake... not that it needs an answer.
Personal attacks are not allowed on HN, so please don't post like this again, and maybe lay off the tedious nitpicks as well.
Also putting down non "first world" coders before they have even been given a chance. I can see that "flagging" is obviously easier than comprehending and rectifying the unfair situation that OP is putting these people in. It is clear that he views such candidates as below him or at least that is how it comes across.
Certainly this isn't your best response to contribute to this conversation?
"It always comes down to trust - how can I make sure that if I work with you, you're going to commit code that I won't have to do a ton of cleanup on?" - This is what I have the issue with - it's generally the difficult clients who won't trust you and have a general arrogance where they believe they are generally entitled to judge before you have written a single line of code. If you are going to have this attitude, try not to get hurt feelings when someone points out your shortcomings.
Scratch that! Those platforms are useless even for freelancers.
Best advice that worked for me is to apply for any job and during the interview process you just say that you will work remote and come to the office once per XX amount of days.
Because, I think, working remotely it's not just something that you, as an organization, do. Getting it right, in my experience, requires active effort.
I suppose, to freelance, one needs to create a "company", but where is that company based? Does it need to have an address?
If I am a citizen of one country, a resident of another, but I'm working while I travel in _other_ countries, where do I owe taxes?
These are the roadblocks I find most complicated, beyond just "finding the job", I don't know how the legal "infrastructure" should work when you are freelancing and in such an odd living situation.
state taxes: I initially moved to FL where there is no state income tax. I have a FL driver's license and mailing address. In FL, you do not have to file anything.
federal taxes: I will qualify for FEIE  by being outside of the USA for the qualifying amount of time which basically means I do not have to pay federal income tax on my first ~$105k, but I still need to pay FICA.
In theory, most countries that I visit, I probably should be paying their taxes, but since my money only stays in America, the risk of getting caught is very low.
It is my understanding that there are things that can be done to get your taxes down to 0% if I was a contractor, but I don't make enough for me to take advantage of that.
From that link https://www.irs.gov/individuals/international-taxpayers/fore...:
2. Is your tax home* in a foreign country?
b. No. You CANNOT claim the foreign earned income exclusion, the foreign housing exclusion, or the foreign housing deduction.
* Tax home: https://www.irs.gov/individuals/international-taxpayers/fore...
"Your tax home is the general area of your main place of business, employment, or post of duty, regardless of where you maintain your family home. ... You are not considered to have a tax home in a foreign country for any period in which your abode is in the United States."
The separate "physical presence outside the US for 330 days/year" is a later criterion, and is not relevant if your "tax home" is in the US.
I still run all my taxes as if I'm based in the UK, even though I travel and work remotely. I am taxed as an independent contractor.
I'm considering setting up as an Estonian e-resident soon though (https://e-estonia.com/solutions/e-identity/e-residency/) to change where I pay my taxes.
In terms of working while in other countries, it's a grey area for sure. I was travelling extensively in Asia last year and I was on tourist visas. Although I know Thailand for example is considering introducing a 'nomad visa' very soon.
Talk to a solicitor before you do this unless you want HMRC to come a knocking. Estonian eResidency is not actual residency, and it won't change the country you're resident in for personal tax purposes. You could set up a company in Estonia, but if you're an independent contractor and all the profits from that company flow directly back to you HMRC may again have questions (and you'll still have to pay taxes on the dividends you receive at the UK rates).
Everything else I must pay tax on as usual though HMRC. Any cash I want in my UK bank account for example is tax-deductable.
Interesting, got any more info or links on that? Maybe even to relevant Thai government sites where one can follow up on the developments on this later?
$14k is kinda pricy, but if you're pretty sure you'll be spending most of the next 5 years there, $2800/yr is pretty easy to justify when you're earning a Western salary and spending ~$200-300/mo in rent and under $5 for nice meals out (that's in Chiang Mai...if you want beaches or Bangkok add around 50%, which is still pretty cheap.)
Source: I spent a bunch of time in Thailand last year and considered trying to make the move, but the job I ended up finding didn't work with the time zone. However I loved the country and would jump at the chance to work remotely from there.
Bangkok was my least favorite. Traffic is terrible and it got kinda depressing to be offered sex as often as happens to a white man when he goes there.
Chiang Mai is amazing. It's beautiful, has a huge expat community, the people are much friendlier than Bangkok and the food is amazing. It's really easy for foreigners to live/work from there.
Phuket wasn't my favorite, but I only stayed in the town, which doesn't have much of a reputation.
Koh Lanta was pretty, but the beaches weren't particularly picturesque. I spent some time working at a coworking facility (Kohub) which I can't recommend highly enough. It's a little dead in Green Season, but not too bad.
Koh Phi Phi is a lot more picturesque, but it's a party island and I didn't get a decent night's sleep in my time there. It's kinda like Vegas in that it's great for about 36 hours and then starts to get old pretty quickly.
Koh Samui and Koh Phangan were really pretty but also really touristy. I'm not sure I would opt for an extended stay in either. Koh Tao is a diving island with mediocre diving, so there's not much point going there if you're not learning to dive in some capacity. But it's a great place to get an Open Water or Rescue Diver certification.
If I were working a remote job while in Thailand, I'd probably choose either Chiang Mai or Koh Lanta to start. But it's easy enough to move around, so unless you've got kids, there's no reason to settle on just one place.
You can live in Tijuana, Mexico and commute to San Diego, California every day and won't owe anything to the IRS (as long as you are not a citizen or permanent resident). Now, getting your employer to pay you without withholding US taxes is another story, not many employers have experience with this. Not sure if you are supposed to file for a tax return at the end of the year but you still would owe the Mexican government taxes.
"Your tax home is the general area of your main place of business, employment, or post of duty, regardless of where you maintain your family home. "
If you are interested in specific advice, please name the country where you are a citizen, where you are a resident, and where you are traveling, for how long, and on what type visa.
- via my network (so people/clients I have worked with before on site have approached me with extra work and new projects)
- from my open source contributions (some of my projects on github and my contributions led to me being emailed by interesting companies)
So I would forget about "looking" for remote work online. I don't think you'll randomly find anything which pays well.
What I suggest is to:
1) (if you are a consultant) build a network of clients and acquaintances by working on projects onsite. It's likely there will be more work you will get reached out to about. And then you are in position to arrange remote work as they have already worked with you and there is a trust between the two parties.
2) Contribute to open source and work on interesting projects/libraries in your free time. You never know which company will end up using your work and reach out to you with job offers. Often they will be ok with remote work too.
In any case, after yet another round of rejections for (mostly remote) gigs, I've given up on getting out of my crappy job for the time being. It's a non-programming "architect/sme" type job, but it pays well. I've been focusing my creative energy on a little side project which I've managed to find the self-discipline to work on in my free time over the last year (maybe it'll be successful and then that can be my 'exit plan' from this place).
I've worked for Couchbase for a year and a half now, and it's a nice place. We're a mature startup building a NoSQL database, headed for IPO soon (within a year or two).
And we're hiring: https://www.couchbase.com/careers/open-positions
For instance, this one requires being onsite: https://jobs.jobvite.com/couchbase/job/oApC4fwp
A Workaround is to pick up a few freelance gigs on the side using Upwork, Freelancer (or similar) and then leverage that as you have technically been working with clients remotely.
That's how I got around it
We're currently hiring too if you have a background that fits. https://jobs.lever.co/sonatype
No offense, but I can only assume your company is engaged in either a resume-collection exercise or some sort of purple squirrel hunt.
Not an instant solution, but over time can lead to the experience you need.
I also ran into this. What helped me was being able to point to side projects that I had successfully completed. From what I can tell, what employers really want to know is that you can work on your own, from your own house. Side projects help with that. It also helps if you can work from home 1-2 days a week at your current job. Then you can point to that as proof that you work from home 20% of the time.
Step 2) Move.
After it's accepted, I send a follow-up saying I'm looking for work and asking if they'd pass on my CV.
I only do PR for projects that interest me anyway, so it's not time-wasting as I'd do Open Source work anyway.
This approach hasn't actually got me a remote-job yet, but I think that's more down to my lack of interviewing technique.
I suspect the time would be better spent elsewhere, probably face-to-face networking if I had to choose one thing.
Also, very few companies are 100% remote, and making remote team work is not trivial, so it's important to ask the right questions when interviewing. Don't forget that's it is a two way street! Personally, I was looking for these two key things:
- at least ~30% engineers should be remote;
- there should be a strong culture of written async communication.
Once I discovered a company which I found interesting ( https://heapanalytics.com ), checked the jobs page, noticed that they are hiring remotely and just applied a few months later. Had several interviews over video chat / slack, no white board coding or CS trivia. In the end it worked out and I got an offer. Totally recommend applying at Heap - we are doing cool and challenging technical things (querying hundreds of TBs of data in seconds and making it reliable), the interview process is great and our small distributed remote team is made up of engineers from 4 continents, from North America to Australia!
My experience with remote interviewing culminated in getting 3 separate remote offers for anywhere between 35-60% less than my asking salary or the local offers I received.
Part of this might be that my area (Salt Lake City) has particularly high engineering salaries despite what most people expect, but it seems to be a thing across the board, because like others have said they are tapping into a worldwide talent pool where they can get talent that are happy with the company's salary budget.
If you live outside the US, it's the opposite: the goal is to find a job that pays a US programmer's salary, which is usually far more (yes, even outside SV) than what you could make at any "local company."
Their interview process was thorough and a bit stressful but I'd rate it excellent as far as screening goes. I ended up not accepting the offer, but it was a great experience and I actually felt a bit sad at having to turn it down.
The company knew what they were looking for in a senior engineer and weren't looking to lowball anyone. I assume that many companies are in a position where their local talent pool is shallow or the market where they're at is so high that even hiring someone remote from another premium market can save them money, even if it's still a very fair wage.
Whether there is a person literally sitting in a particular chair all day for a manager to randomly come by at any time is not a determining factor. If people need to be available sort of on call for feedback or meetings during the day (which for most of these jobs is not actually necessary) they can stay logged into text/video/audio chat.
Job 1: Referred by a friend who worked for the company. She joined the company about 5 years prior, after being cold-emailed by an internal recruiter.
Job 2: Friend referral. I met the friend by way of a local developer meetup and we got to know each other over the course of a couple years. My friend was referred into the company by a friend of his, who had moved out of town to take a job with this company.
Job 3: Internet referral. I'm on a developer slack community and the position was posted there.
Job 4/Current one: A mishmash. People on the team knew me from developer conferences and a couple meetups in NYC (job #3 was based in NYC as well, and I would attend meetups when visiting the office). One or two of the people were also on that slack. My resume was ultimately brought in, however, by a local friend of mine. He got the job in a similar manner as the friend in job #2; a local friend of his moved to NYC to join the company.
Remote working can work if you already have a client-base, but I can't see how any of these sites are viable for someone who wants 1st world wages.
At a given point I got a new customer that basically wanted to hire me for 20 hours per week, which would mean I could sustain my life with it and I left my day job. Building upon that I landed two customers through LinkedIn, one lead through YouTube (some intelligent comment somewhere...that was pretty weird though!), some more work from local and remote customers I had before and then I rolled into TopTal.
TopTal has a steady stream of really interesting work. I had a pretty sudden drop in work from one customer and I could fill it up in a week or two by taking TopTal work. Now I remain on one TopTal client and for the rest I'm working directly for customers. TopTal pays a bit less but is a lot less headache and most of the work is pretty good. The sites that are recommended in this article didn't do anything useful for me.
I still don't know really how I manage to keep a full roster apart from TopTal but somehow customers know how to find me. Lot of referrals too.
Maybe Hacker News have been (growth) hacked?
No commute. No noise. Fewer distractions. No open office floor plans!
More distractions. I miss the physical presence of people. Time zones suck! I miss hallway conversations about the current sprint. Nobody makes an 1800 mile serial cable.
[-] Distractions. I don't have people walking by my desk trying to get me to work on their pet project. However, that stack of dishes that needs cleaning is very distracting.
Me: Type Blah
Them: Did you say bleah?
Me: No Blah
Them: Blah? ok...tap.......tap......tap.......tap
Me: What's it say?
Them: Just a bunch of numbers and letters
are Painful :)
I think significant efforts are required from the team & company to make remote jobs possible and convenient, so its important to find a company that have remote-friendly workflow.
In case, anyone here is looking an interesting node.js remote experience, can email me.
To be a remote team leader means that you are limited to companies that have all of their developers remote.
Basically any kind of management position will limit you to apply to companies that are 100% or mostly remote and there aren't many companies like that yet.
I worked for a few companies remote, most I met via angellist.
Sooner or later they wanted me to move to their place.
When I started freelancing, nobody cared anymore.
Looked on some project sites, wrote some email offers.
We were like, "Holy ! these people are so cheap. If I hire people with same level of experience locally, I would have to pay 3-5x more on average."
Later, my friend took over this team of developers for his startup. What he found is that 30% developers in his team were working for two or more employers.
And something like 20% of them outsourced part of the projects to developers in South Asia, security risk.
Today, we try to hire onsite as much as possible.
It require very high level of trust to hire someone remote.
That sounds like something inherent to the sort of candidates you hired, not remote employment in of itself. I can't imagine a remote employee having enough time to work for two different companies unless they have no requirements for being immediately available at any time (like meetings, or debrief after a deadline).
Edit: I'm not trying to attack you here. Just pointing out an alternative explanation. If you had hired better talent, they would have cost more, but you wouldn't have had them working at several different places.
To have a freelancer to put all his eggs in your basket takes some trust as well. I would actually prefer working for one client but if that client quits then poof everything's gone.
> And something like 20% of them outsourced part of the projects to developers in South Asia, security risk.
WTF. And no clue about that happening during standups?
How much time did you spend finalizing the decision on each of them? Maybe it wasn't quite enough.
It would be hard to find one or two really good software engineers that would like to use my particular stack and approach.
Also, were they clear that they were supposed to be working for one company instead of doing freelance work? The tough thing about freelance software development is that the pay is often less but the expected output is about the same as a normal employee. But with less pay and no job security, freelance developers may have to take on multiple projects just for practicality sake.
How do you not notice something like that happening on your end? So many of the problems cited by anti-remote bosses are not problems of remoteness at all. Sound like management was very checked-out.
Tried a 9-5 job last summer, it was the worst.
Now have 2 remote gigs. Found one via Github, other one via a Facebook freelance group.
It's cheaper to hire me directly while I would still be getting paid more but I guess a lot of people want a trusted intermediate.
Rates are negotiable but they'll naturally prefer to pay you less, like any company. Perhaps it's more interesting for people that live in countries that have relatively low wages, but you'll have to be able to converse fluently in English.
I'm not saying any of this is fact. I'm asking for clarification since you have first hand experience.
Otherwise, it's a completely different story.
As a developer I've used Toptal in the past and honestly, they're doing a great job. I'm based in central europe where average salary can be as low as $22,000/y. Toptal allows you to 3x-5x that easily by working 40h/week, 100% remote.
It's literally transformed hundreds of lives within my city.
There are tons of long term projects (6-12+ months), and I've never had problems finding a new project (front-end, js). Once I start looking, I expect to be working the next week.
For some, it's a great long term solution. For others who are more ambitious, it's a great stepping stone into the $70-100+/h market.
They do take a pretty big cut, but the developer is still left with tons of cash.
I dropped it after a while, because I started receiving fat offers directly from other clients, but I'd still recommend it to anyone who doesn't have a well developed client network.
Why would you keep your local $30k/y job when you can work full-time on Toptal for $80k/y?
Toptal covers hourly (min 10h/week), part-time (20h/week), and full-time (40h/week) engagements. Some months I've worked 60h/week (on my own accord).
Make sure you're properly prepared for the tests, have your environment set up. My mistake was to use a Playground for a live coding test that would completely screw itself up once the code I entered became more complex. Very painful.
I don't think they only hire the best of the best of the best but anyone that gets through their hiring process is definitely a useful programmer, no doubt.
Because if your goal is to find a remote job as soon as possible, you will be scammed in 4,3,2...
Another factor: Internet service hasn't gotten better and mine has actually degraded even though I live in the suburbs of a a major metro area. I'm basically either stuck paying Comcast (a reprehensible company whom I would not be shocked to find out that the C-level execs eat live babies) or the crappy DSL from Frontier, which I pay to be inconvenienced by, but at least am not sending my money to Shitcast and cable tv brain deadness. God I hate how this has all played out!
My co-workers refer to my ISP as "North Korea Internet" because when I do work remotely I end up experiencing random outages or speed dips that make our VPN unusable. DSL topology is weak and Frontier is likely under-investing in their infrastructure while slamming as many customers as possible onto that network.