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 honest and persistent, you’ll eventually overcome this tumultuous phase.
Don’t Bluff on the Resume
First of all: never bluff on your resume. Any experienced software engineer interviewer will know if you’re lying. And if you somehow land a job with a padded resume, you’ll likely feel imposter syndrome because you didn’t earn the role.
In the long run, you will likely get caught, silently.
If you apply for a role and do well during the interview process, then the hiring manager will call one of your past employers and confirm that you actually worked at CoolCorp for 3 years. If reality doesn’t match up with your resume, then it’s unlikely that anyone will even confront you about it. You’ll just get silently turned down.
Oh, and there’s a little thing called integrity. It’s good for the soul.
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.
But 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.
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.
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.”
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.
Modern Frontend Development
For a frontend developer gig, the expected skillset has changed drastically over the last decade.
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.
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 exception 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 know how to build full blown applications, 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.
Under the Hood
For example: Numbers and strings are passed by copy into a function.
But objects (key/value map, dates, arrays) are passed by reference (pointer).
It’s a subtle thing, but 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.
Learning the C (not C++) language will teach you most of the low-level programming stuff you need to know. C is a simple language, but it lacks much of the syntactic sugar of modern languages.
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.
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.