Do you hate commute time?
Hate office farms, cubicles, and endless meetings that stop you from doing what you like the most?
Solving problems and writing code.
You are not alone.
Every developer I talked to in the last six months told me the same. The majority preferred working from home because it was more comfortable and productive.
This feeling was confirmed by a recent poll I did on LinkedIn.
Over 900 developers answered. More than 56% of them would ONLY work remotely. Another 29% would accept a hybrid approach and only 15% would be open to going to the office.
Developers want remote jobs.
Many of them are looking for remote jobs to earn more than what the local job market can offer. They want remote jobs that pay well.
I don’t blame them. Remote jobs mean more flexibility.
A remote developer job gives you the freedom to work from almost anywhere. It saves you time and money on commuting and allows you to escape the meetings hell (not always, though).
If you like warm climates, for example, working remotely will allow you to pack up and move to a warmer country. Where you can enjoy a lower cost of living and better weather.
Yet, at the same time well paid remote developer jobs are not easy to get.
This is mainly due to two reasons.
First of all, remote developer jobs are more competitive. When applying for a remote job, you are competing with developers from other cities and countries for the same position.
Second, a remote setup will make it harder to have contact with your team.
If not taken care of, a remote setup can lead to miscommunication, lack of productivity, and isolation. You won’t bump into each other over a coffee.
This usually means less collaboration, less feedback, and less information exchange with other developers. Quality mentorship and feedback are much harder to come by in remote setups.
Which can ruin your performance and developer career.
Unless you are proactive about it.
In this article, I will show you how to find a remote developer job and how to succeed at working remotely so you can take your developer career to the next level.
The first thing we need to understand is that remote developer jobs are harder to get.
They are also harder to deliver at. To land a remote job you compete globally, or at country level with thousands of other developers.
To deliver at a remote job, you will need to be autonomous in your problem-solving and figure out a lot of things by yourself. This is why many companies prefer Senior developers for remote positions (more on that later).
That’s because no matter how much of a remote culture the company you work for has, you probably get less time with your team. And the time you get with them will be via some digital medium, like Zoom or Team which is way more limited than actual face time.
When working remotely, you will also need to hold yourself accountable for your delivery and ensure that your contribution is visible.
The best way to solve both of these challenges is to first and foremost upgrade your skills. Yes, the more you can deliver, the easier it will be for you to become a remote developer.
🚀 Want to find out your technical gaps as a JavaScript Developer? Take this FREE Technical Assessment to find out what you need to focus on to get to Senior and beyond. 🚀
As I mentioned earlier, remote developer jobs are harder to get because you face more competition. Which means harder technical interviews that demand more technical depth.
Working remotely also makes it harder to deliver once you get hired because of communication constraints. Even if digital communication tools have improved a lot, in-person communication is still more effective. Misunderstandings are very easy to happen.
This is why companies hiring remotely expect developers to be able to solve many issues independently without the need for too much communication.
Most prefer Senior developers over Junior and Mid-level ones when hiring remotely (one study found that only 6% of remote job postings are for junior positions).
If you are looking for a remote developer job, becoming a Senior Developer is your best bet.
Senior Developer skills will allow you to stand out in technical interviews and deliver end-to-end independently, making it much easier to succeed in a remote position.
I’ve been talking about this extensively.
As a JavaScript developer, the most effective way to get to Senior is to start by mastering the “Fundamentals” first, then build your way up the stack.
The “Fundamentals” are all about how JavaScript as a language and the web browser works under the hood. Then, you should master at least one of the major JavaScript frameworks (React, Vue, or Angular).
Finally become able to deliver end-to-end by learning backend and infrastructure skills. The hardest part of this journey will be staying on track and not getting distracted by shiny objects.
The second part of this “up-skilling” should be focused on your technical interviewing skills. Passing technical interviews is not an easy skill to master, but if you get good at them, you will never worry about a job again.
See here how you can get good at doing technical interviews without spending months on Leetcode or losing your mind in the process.
Now that your skills are solid, you will have to go to the market and get some technical interviews to show off your skills and get a remote developer job.
For that, you will have to work on your ability to get interviews in the first palace, which mostly comes down to upgrading your digital image.
Keep in mind that competition is insane for remote jobs. There might be hundreds of developers worldwide looking at the job you are thinking of applying for.
You have no choice but to stand out.
But don’t freak out just yet.
If you understand how the developer job market works and follow the right steps, you will easily stand out from the competition. Most developers are pretty bad at writing CVs and selling themselves.
With just a bit of effort, you will quickly come up to the top.
Having a top-notch digital image is even more crucial as a remote developer. The people who will hire you might never get to know you in person.
Their only chance to evaluate your skills before they invite you to an interview is through your digital presence. Your CV and LinkedIn profile should reflect your real-life persona and your skills. You might even have to oversell yourself a little bit and get some more developer experience.
If you are uncomfortable with the idea of selling yourself, you will have to get over your fears and put yourself out there.
You can check out this article on how to build a great developer CV that gets you interviews. As for LinkedIn, it should mostly be a copy of your developer CV with some extras, such as relevant skills, recommendations, and a headline that reflects your specialization.
One last thing: make sure you invest in a great remote setup.
This means a strong internet connection, a great HD camera, a solid microphone, and a nice background. It is sad, but if you have poor image quality, poor audio, and a dirty desk behind you (or worse, a bed), people will assume your skills are bad.
We judge a book by its cover. So buy a nice cover.
🚀 Want to find out your technical gaps as a JavaScript Developer? Take this FREE Technical Assessment to find out what you need to focus on to get to Senior and beyond. 🚀
Now, it is the time to go out there and start applying to remote developer jobs. Besides traditional platforms like LinkedIn and Indeed, you can use more specialized ones. Personally I liked Wellfound, Remotefrontendjobs and Jobsinjs.com.
At this point, it is all about iterations. Apply for jobs, do interviews, and get feedback.
Then, adjust your CV and your performance based on interview feedback. The most important thing is not to let rejection and negative emotions distract you from your goal.
Make sure to stay on track!
If one interview asks for a fancy new technology you don’t know (think Terraform or Kubernetes), do not drop everything and start learning it.
Only if you hear a specific library or framework coming up repeatedly in your interviews, and if that technology is in line with your current skills (like Redux for a frontend developer), you can stop for a few days and brush up your skills on it.
Senior Dev Tip: Regarding your remote setup, in my case I use an Apple iMac and a studio microphone. I like the Apple iMac as it has everything integrated. You should pair it with a secondary screen.
If you are not a fan of Apple, there are similar setups that will also be more affordable. I’ve also repainted part of my room and made a few trips to Ikea to create a more professional setup, and I advise you to do the same.
Working remotely usually involves working for companies based in other countries or continents. Despite the ongoing globalization, hiring someone remotely is a challenging task for many companies. You need to make it as easy as possible.
Usually, unless the company has some kind of legal entity in the country you work in, they will go through a payroll provider. If not, you will have to set up a company yourself and bill them (or bill them as a freelancer).
Check the tax law of the country you reside in to see how that’s done and how you can make it easier for a company to hire you remotely.
The better you can set this up, the cheaper it will be for the company to hire you and the more money you will pocket. You might also want to consult a tax accountant.
At this point, if you follow the instructions, you have a consistent way to get interviews, and you have the skills to pass around 80% of the technical interviews. Sooner or later, you will get a job offer or several offers.
It is time for you to negotiate your salary.
Be careful. In the case of remote developers, companies might try to squeeze you and use the local market to drop your salary, which is understandable. If they are based in Silicon Valley and hiring in Wisconsin, they probably won’t offer a 250k salary and adjust to the local market.
My advice?
Settle somewhere in the middle, but don’t accept a local salary.
What you get paid has more to do with the value you bring than the market you are in. If you will add the same value as a developer based in the Valley, then why not get paid the same? Don’t settle.
Get good at interviewing and get multiple offers. Then negotiate!
🚀 Want to find out your technical gaps as a JavaScript Developer? Take this FREE Technical Assessment to find out what you need to focus on to get to Senior and beyond. 🚀
Okay, so you got a few offers, picked the one you liked the most, and negotiated. The deal is closed, and you are about to start your new remote developer job. You are wrong if you think now is time to chill a bit and get back to playing Candy Crush.
At this point, you are on your probation period. You are supposed to onboard yourself to the new codebase and hit the ground running as soon as possible, all while being miles away from your team.
Communication and accountability are two things you want to pay attention to if you want to succeed in working as a remote developer.
You will need to be much more proactive in communication than in an office job. So you better get used to overcommunicating.
Given that you will talk to your teammates via video call or chat, much context will be lost. Your words can also be interpreted differently, leading to miscommunication.
Your teammates might also assume you already know things that you don’t. If you have questions, ask them. Push for pair programming sessions and code reviews.
Everyone is always busy in development teams, and you might find some resistance. But an occasional code review and pair programming session can save you hours of digging into the documentation or codebase alone, just like in real life.
When working remotely with other developers, don’t take things personally. Focus on the code, not the person. A remote setup makes it much harder to read other people's intentions. That's why you should take your time to clarify things when they don’t make sense instead of jumping to conclusions and blaming other developers. And they should do the same!
Procrastination is a career killer, and it is even more dangerous when you have a remote developer job. When you are alone, and nobody is looking at your computer screen, it is much easier to end up on YouTube watching funny videos than in your code editor fixing nasty bugs.
Peer pressure will not be there to keep you accountable, so you will have to develop more discipline in order for you to stay productive. Your main focus during your day should be communication with your team, the codebase and your issue tracker.
Be careful. Communication is not a replacement for writing code and shipping things to production. It is only a means to an end. And the end is always delivery. That’s what you get paid for.
I like to start my day by writing down exactly what I want to accomplish. This keeps me focused and helps me judge whether it’s been a good day or not.
Even when working remotely, some developers like to go to a co-working space or rent an office room. This will remove distractions such as (packages being delivered, laundry, dishes, pets, friends or family).
Working from such a place will also separate your job and personal life. You leave work when you leave the office.
One last note, despite the remote setup, make sure your company offers the chance for you to meet your developer colleagues in person. When it comes to building strong relationships, there is nothing like sharing a meal and spending time together in person.
Okay, this was it.
This is your step-by-step guide on how to get a highly paid remote developer job and succeed at it. If you want more tips on how to get your developer career to the next level, join our free developer community here.
And if you are truly interested in becoming a competent and confident Senior developer, apply here to chat with me and see if you qualify for your premium mentorship!
Until the next one,
Dragos
🚀 Want to find out your technical gaps as a JavaScript Developer? Take this FREE Technical Assessment to find out what you need to focus on to get to Senior and beyond. 🚀