How to Get a Remote Job as a Junior Developer (7 Steps)

While there are countless remote developer jobs being posted daily, it’s tough to land a remote dev job as a junior developer. These tips will help you pave the way towards landing your first remote gig as a developer.

1. Never Call Yourself a Junior Developer

Remote companies don’t hire junior developers. They want mid to senior level developers. Sorry, but if you label yourself as a junior developer, you’re already shooting yourself in the foot.

You’re a developer. Period. The terms “junior” and “senior” have drastically different meanings depending on the company.

Developer vs. Software Engineer

However, there’s another subtle truth in this game of self-labeling… Calling yourself a “software engineer” is even better than “developer”. The term software engineer implies a higher level understanding of software systems. Not just writing code.

To be fair, you’ll often see the words “developer” and “software engineer” used interchangeably, so don’t stress about it too much in the day-to-day.

But your resume should ideally use the term “software engineer” if you want to increase your chances of landing a remote gig.

2. No Experience? Make Your Own

Trying to land your first gig as a developer with junior-level experience is not a walk in the park. But if you stay efficient and persistent, you’ll eventually overcome this tumultuous phase.

Draft your Dream Resume

If you want to get your dream job, then build your dream resume. Look at examples of other software engineer resumes so that you can gauge what you’ll need to train up on.

You might find certain buzzwords that you’re unfamiliar with. Learn what those terms mean and why the tech industry uses them.

There are a few terms you’ll often see on a developer resume:

  • AWS, Google Cloud, Kubernetes
  • Scrum, Agile
  • CI/CD
  • ES6/Webpack/Sass/SCSS
  • and so on…

It can be a little intimidating when you first see these terms. But they’re just fancy terms for certain technologies and strategies that companies use.

You don’t need to have all of those skills to land a remote developer job. But you should at least know why the industry uses those things, and strategically pick which skills you want to invest time to learn. Some skills will earn you a higher salary than others. Other skills will align closer to the type of work you want to do.

Once you’ve studied up on the industry vocabulary, then add a few desired skills and hypothetical personal projects to the resume. This “fake resume” is not for public eyes. It’s just a guideline for your self-teaching efforts.

Once your dream resume is populated with a few items. Then it’s time to start learning those skills and building those projects.

Create Real-World Experience

Companies hire based on experience. Experience refers to the number of years that you’ve worked professionally.

To be more specific, it means on-the-record experience, working for a legitimate company. Not the web app that you built for grandma.

I learned this the hard way. During my first dev job interviews– even though I had built several web apps as a freelancer– recruiters would always ask “but did you work for any real companies?”

The problem is that, in order to get experience, you’ve got to land your first developer job, right?

So in order to get the first developer job, you actually do need to build the web app for grandma. Sounds like we’re going in circles, huh?

Every hobby project that you build will become part of your portfolio. Your portfolio will help to fill the blanks in your resume. It’s not real-world experience, but it’s the thing that’ll get you to that point, eventually.

At some point, a company will see your resume and think “hey, this developer might not have professional experience, but they seem highly motivated and willing to learn new things– let’s give them a shot.”

That’s what happened for me. Back in 2015, I had did some freelance projects (building websites) and taught myself how to build apps, too. I got turned down during the first few interviews, but then one company gave me a shot because I had a good portfolio of work and I was eager to learn more. I landed my first salaried job as a developer.

Build Collaboration Skills

Another thing that a junior-level developer might lack is collaboration experience.

Tech companies need engineers who can effectively collaborate. They typically use Git for version control and code sharing. If you know how to create branches with Git and create pull requests on Github, then that shows that you at least understand the standard code-sharing workflow.

Do you have any friends who are also into programming? Try to work on a hobby project together using a Git repository. It’ll have sharpen your teamwork skills while building your portfolio.

3. Focus on Modern Development

The popularity of different frameworks, tools and workflows changes quickly in the ecosystem of development. Avoid learning from outdated materials.

Tips for Modern Frontend Development

For a frontend developer gig, the expected skillset has changed drastically over the last decade.

For example, Javascript has changed over the years. We now use const and let in place of var. We typically use webpack to bundle lots of code together, rather than including individual scripts into a page. We use promises rather than callback functions. Everything is modularized to the point that frontend JS looks nearly identical to backend Node.js code.

You won’t be expected to build a complex application from scratch, but instead with modern frameworks. React.js is one of the most popular frontend framework right now for SPAs (Single-Page Applications).

In the early stage of React, you would use class-based components with lifecycle methods. But nowadays it has become standard to use function-based components with React hooks. The modern approach is far easier to maintain than the legacy approach.

Tips for Modern Backend Development

In order to get a developer job at a modern startup as a backend engineer, you’ll need to be comfortable with Docker.

It used to be common practice to run code directly on the host machine. The problem was that you’d end up with a mess of different dev tools and programs installed on your host machine– difficult to manage.

Additionally, the code might behave differently between your local machine at home and the production machine in the cloud. Different operating systems or system dependencies could yield different results.

Docker allows you to package your backend services and their dependencies, so that you can quickly and easily run them on different machines.

Get familiar with Linux, too– or at least common unix commands– as it is the backbone of Docker.

4. Emphasize Results

You aren’t just a code monkey expected to churn out as many lines of code as possible.

Demonstrating that your are a problem solver makes it far more enticing for anyone considering hiring you. One the reasons that developers get paid well is because a single developer can have a substantial impact on the organization.

Be a Manager of One

When you apply for a remote developer job, you’re competing against other candidates. If you convey that you are a Manager of One, then you’ll have an edge over the other candidates towards landing the job.

Being a Manger of One means that you can craft solutions to the organization’s problems, and execute them on your own. You don’t need to be managed. You consider the technical requirements, user requirements, and time constraints.

To be fair, this tends to be an expectation of a senior software engineer. But it’s nonetheless what remote tech companies want from all engineers.

5. Master the Fundamentals

Software development is a funny thing. You might learn how to build full-blown apps, but still have big gaps in your knowledge of general software engineering. If this happens, then you’ll reach a plateau when solving harder problems, and need to revisit the basics.

Learn Basics of Programming

For example, if you learn Javascript as your first programming language, you can get pretty far by having a surface-level understanding of Javascript. Variables and functions. That’s all you need to know, right?

No, because high-level languages like Javascript hide a lot of the details from you.

For example: Numbers and strings are passed by copy into a function. But objects (key/value map and arrays) are passed by reference (pointer). Yet the language itself doesn’t show you any of this in code.

There are many subtle “gotchas” in programming, and if you don’t understand it, then you’ll spend hours trying to fix obscure bugs, not even knowing what question to search for on Stack Overflow.

Learn Low-Level Programming

When a developer starts off by learning a high-level language like Javascript or Python, it paints only a partial picture of what software development is. The nuances of memory allocations and data structures are abstracted away and hidden from you.

With C, you’ll learn about compiling binaries, using data types and pointers, and creating data structures. Then once you come back to high-level languages like Javascript, Java, or Python, you’ll know what’s going on under the hood.

Learning a low-level language like C (not C++) will make you a comfortable and confident software engineer. The C programming language is (believe it or not) a simple language once you wrap your mind around pointers.

6. Market Yourself Online

Even if you’re a great software engineer, you’ve got to make it known to the world.

Create a LinkedIn Profile

LinkedIn is the big Goliath when it comes to networking amongst professionals. Set up your LinkedIn profile with all of the nerdy details. Include previous job experience, hobby projects, and connect with old colleagues.

Leverage Recruiters

Then once your LinkedIn profile is up to snuff, you’ll find your inbox full of messages from job recruiters who want to help you find a job. They get paid when you land a job, so it’s in their best interest.

Recruiters actively work to find you new job opportunities. It’s free inbound marketing, which will speed up your job hunting experience.

However, you’ll need to make it clear to the recruiter that you’re only interested in remote jobs. Don’t settle for an office job that “might” become remote.

7. Apply for a Remote Dev Job

Once your skills are sharp and your resume is ready, then it’s time to start actively applying for remote dev jobs.

There are boatloads of online remote jobs boards to choose from. However, many of them are too generic. For developers, I recommend avoiding mainstream job boards like Monster or Hired. Focus on developer-friendly job boards like JS Remotely or Remote OK.

Or, feel free to use my remote job search tool and save time by searching through a huge database of remote dev jobs.

7.5 Backup Plan

Getting a remote job while lacking experience is hard. If you find yourself getting turned down over and over for several months, then it’s time to reshape your strategy.

You might need to aim for a non-remote developer job first. The competition will be lower, and a local company is more likely to give you a chance. Over time, you’ll accumulate the skills and experienced needed to land a fully remote developer job.

Good luck and happy job hunting!

Leave a Reply

Your email address will not be published. Required fields are marked *