Have you ever dreamed of working for global companies, from anywhere in the world without a commute or coworkers interrupting you with small requests? Well, becoming a remote developer might be right for you. Our team chatted with Mario de la Ossa, a backend developer at GitLab, about his journey to becoming a remote developer.
This article will cover the remote developer's journey: tools and skills needed for the job search, advice on how to find remote work, and advice for collaborating within remote teams.
Before we dive in, here's a short checklist to know if remote work is right for you.
Remote working is great if you:
- Dislike commuting and would rather spend that time doing something more valuable
- Have trouble concentrating in cubicles and open-plan workspaces
- Can work independently and don't require micromanagement
- Have a desire to work uninterrupted
- Can communicate your need to socialize or ask for help troubleshooting issues
Preparing for the Job Search
Bring your A game
When you're local, you're only competing against local talent. But, once you go remote, you're competing with the rest of the world. So, always put your best foot forward and prepare for stiff competition.
Create an online presence
To compete in a global market, you need to be discoverable. Having a personal website or a profile on a portfolio site is important. Mario recommends pushing private projects openly to a repository. Others can see what you are working on that way.
LinkedIn and most job networking sites are great for searching for jobs and networking, but they are not as great at showcasing developer projects. Instead of forwarding your LinkedIn profile, Mario recommends sending potential employers your Stack Overflow profile.
Stack Overflow's 'developer story' is a digital timeline of sorts where you can showcase your badges, list past jobs and personal projects, as well as any answers to questions that you contributed. The developer story is a powerful tool for showcasing your skills and can even be used to land work.
Your cover letter and resume are excellent places to link to Stack Overflow, Github, and similar platforms.
Participate in the community
One way to be discoverable is by participating in your community. You can establish yourself as an expert by answering questions on Stack Overflow, writing articles on your blog, guest blogging, or even speaking at local conferences. Basically, do anything that shows you are an expert in your desired field.
Being online and participating in a community shows that you know your stuff and that you can deliver without anyone pressing you — these are fundamental traits for a developer.
Believe it or not, answering questions helps a lot with establishing expertise. Here's how Mario rose to the top 20% on Stack Overflow in just a few months.
After almost a year of not posting, Mario logged into Stack Overflow to see if there were any unanswered questions. At that time, he was in the top 30% in his field.
He filtered the unanswered questions by tags related to his interests and area of expertise. Then, during his free time, he'd quickly answered one question every couple of days. Within two or three months, his ranking had risen 10%, earning him a top 20% badge.
This can work for you too because the majority of people only read or ask questions. Answering questions doesn't have to be time-consuming. If you don't know the answer off the top of your head, you can do a local test or do a quick internet search for the answer. Your responses don't always have to be original; people appreciate relevant reference links.
Post your projects online
Posting your projects on GitLab, GitHub, and similar platforms show that you are a developer who can complete jobs and make meaningful contributions. Mario advises putting all your projects online — even school assignments.
Finding Remote Jobs
It took Mario years of portfolio building and job applications before he was able to land his first remote developer position. Sometimes it can happen within weeks or months, but it’s important to realize you may need to work locally first in your field before going remote.
Most times, remote developer job postings are for senior-level positions and require at least two or three years of experience. You won't see many junior-level positions because junior developers usually need mentorship and supervision.
Luckily, fully remote companies tend to have a better idea of what programming is about and are therefore more willing to take a chance on talent with fewer years of experience but a proven track record for completing projects.
Never let a lack of skills keep you from applying because, in the end, job searching is also a numbers game. Somebody will take a chance on you at some point, and you'll be able to prove them right!
To minimize risks associated with hiring new talent, most companies will start a remote worker off on a part-time contract. Starting part-time is good because it allows you to work on other projects on the side. Your ability to handle multiple projects independently will tell you whether remote working is right for you. Those that hire full-time straight out the gate often have a longer interview and testing period.
Double-check the requirements
Job search sites like WeWorkRemotely.com are great for finding remote developer jobs, but they don't filter out positions where employers require you to be a U.S. citizen or resident. So be mindful when selecting jobs to apply to.
That said, once you have a good enough profile on GitHub, Stack Overflow, or even your personal blog, you should feel confident to apply for roles that you qualify for.
Collaborating within remote teams
Working remotely still involves being part of a team. And while really rewarding, collaborating within remote teams comes with its own challenges. Mario shared some of the ways to make remote collaboration work.
- Develop a great deal of self-discipline because no one is going to be there pushing you.
- Whether you set up a home office or go to a coworking space, make sure you have enough space to spread out. You'll need to be comfortable.
- If your coworkers are in different time zones, just remember that no one expects an immediate answer to anything — everything is asynchronous.
- Keep track of your communications by using an issue board.
- Make everything available synchronously by sharing your files with everyone.
- Pair-programming in the traditional sense is not possible so, if you get stuck, reach out and tell someone. Remote pair-programming can help in this case.
- Find or create a space to socialize with your coworkers.
Curious about remote work? Watch the full expert webinar with Mario de La Ossa, backend developer at GitLab, to learn more. And if you're ready to become a professional remote software developer, get started below.