How I Got My First Remote Job

I’d like to preface this article by saying I’m not exactly the most qualified person for a programming job.
No, this isn’t impostor syndrome speaking; I recognize and acknowledge my skills. I just don’t know as many languages as other people.
And that’s perfectly fine. Programming isn’t about how many languages you know or how great you are. It’s about how good you are at solving actual problems and how willing you are to learn, in all my employment cases at least.

That being said, Id like to tell you the story of how I got the kind of job I imagined I’d get maybe 2/3 years down the line of my programming career.
If you don’t actually care about my story (first of all, rude), you can just skip to the tips here.

Before I begin, here’s a little background: I’m a self-taught front-end developer and I’ve been designing websites professionally for about a year now. My programming knowledge is basically limited to HTML and CSS.
That’s it. I don’t even know the frameworks. Bootstrap? Never heard of it. NodeJS? More like NopeJS.
So you see what I mean by not exactly being the most qualified person.

Also, concerning my job, I work for a company in the UK but the development team is based in Nigeria and I work from a work-space 3 times a week.

Anyway, now it’s time for the actual story:

As you may know, your penultimate year in university is the time you’re sent out into the world to have a taste of real life and gain actual working experience.
It’s also usually the same time you realize just how little you’ve learnt in school. Like yeah, Fourier series are great and all but please teach me how to answer the “How much do you think we should pay you?” question.

Luckily for me, I’ve always been an ardent worker so I had an actual job by the time my fourth year rolled around. The fun part of working while in school is that there’s no actual pressure to stick to one job or whatever so I was always looking for the next opportunity.

I applied for a job with an international finance company, only to be booted out at the actual programming stage (apparently HTML and CSS won’t help you with binary sorting algorithms)

I didn’t let that stop me though. I figured if I can’t get a job to take me to ‘the abroad’, I’ll just get a job that’ll bring the abroad to me.

I started applying for remote jobs. I used sites like Remote OK and StackOverflow (you could also check out CodeMentor and HackHands — more about these in the tips) and kept my eyes on Twitter.

Let me just say applying for remote jobs was a much different ballgame from what I’d been playing before. There were so many forms! Seriously, I must have written at least 3000 lines in total for all those applications.

Why do you want to work for this company?
What do you hope to gain from this experience?
How would you tackle this particular problem?
Explain your approach and reason for that approach?
If you had to choose between being stuck in a desert with a raft or being stranded in the arctic with a lamp, would you use CSS grid or flexbox?

I get that the questions are useful for sorting through applicants but geez louise there were a ton of them! Anyway, I answered all the questions and more because lol it’s me that wants the job.

And then the rejection letters started rolling in.

I don’t know about other people but I see rejection letters as a sign that they at least looked at my application rather than discarding it outright so I must be doing something right.

I sent all my “Thank you for the feedback” responses and then continued my numerous applications.

One day I was scrolling through a GDG group chat on Whatsapp and I saw a message that basically read “Remote front-end developer needed. Send CV to this email”.

Now after all the most I’d been doing to apply for remote jobs, I was like “Just send my CV? That’s all? What’s the catch?” and I almost didn’t send it but then I was like “I literally have nothing to lose”.
So I sent them my one page resume with an introductory cover letter.

The next day the company reached out to me and they were all “Hey, you’re just what we’re looking for.” and I’m like “Lol, who? Me?”
They set the Skype interview for the next day and I’m thinking “Okay, sounds fake but okay.”

During the Skype interview, I was asked to recreate a design which is simple enough stuff. I was also asked some technical questions which, surprise surprise, I actually knew the answers to.

One question that stood out to me was “What’s the difference between display: inline-block versus display: inline?” because I actually just used the inline-block property in a website I was building as part of my application process for another job.
It was my first time using that property and I didn’t even know what the exact difference was but I was able to explain the effect it would have on an element which is what they were looking for. Talk about divine favor.

They did ask how I planned to juggle school and working full time but I mentioned that we would have a SIWES period of 6 months and I’d been working full time in school before so it wasn’t like it’d be the first time.

They set up another interview with the CEO later in the day.
I remember being very clear about my limitations and what I could actually do even when I thought it might hurt my chances.
They asked how much JavaScript I knew and I said as much as it took to add styling effects to elements. And they were okay with that.
Actually, what they said was “Okay, we need you to learn this and this so we’ll give you access to courses online so you can have an idea of what you’ll be working with.” Which is just honestly the coolest thing.

We talked benefits and remuneration after that and that was it: I had my first remote job.

The End.

Tips For Applying For Remote Jobs

Here are some tips based on what I learnt doing my application process and also just general things I feel are helpful:

Practice your craft

I was only able to answer the questions I was asked during my interview because they were things I had done in practice. While it’s great to have theoretical knowledge of programming, nothing beats actually practicing and building stuff.

Build whatever you want in a way that maintains the best practices of code so this reflects in your programming.
Identify a problem you want to solve or a feature you’d like to see in an app and then build it yourself.

Practice helps you become more comfortable with the problem solving aspect of programming and ensure your coding skills are up to date.

Contribute to open source projects

Lol not going to lie, I’ve never done this but I do know people who have gotten job offers based on their contributions to an open source project so it’s still a valid point.
Is it hypocritical of me to be advocating for open source even though I’ve never actually done any contributions? Yes, yes it is. But meh.

It’s easy enough to start contributing to open source. Check out Open Source Guide for more information on open source projects and First Timers Only for a quick intro course into solving beginner friendly issues on an existing repo and creating your first Pull Request.

Also, it’s just nice to contribute to open source projects and it’s a great way to advance your programming skills while also giving back to the developer community.

Apply for the job

Fun fact, applying for a job is a very crucial part of the application process (go figure). Lots of time people miss out on job opportunities because they didn’t bother to even apply but the fact is, you miss 100% of the shots you don’t take. Cliche but true.
“I literally have nothing to lose” should be a mantra when applying for jobs. If they don’t accept you, then you’re right where you started. And if they do, great!

I already mentioned the sites I used for my applications but here’s a list of other sites you could check out:

Of course you don’t have to limit yourself to sites for remote only jobs. Lookout for remote-friendly jobs as well.

Twitter is also a great place for finding employment opportunities. Most times people just tweet employment opportunities in an informal way so it’s easier to apply as you’d have a more personal introduction.

It’s also important to prepare yourself for application.
- Have a soft copy version of your resume and portfolio on hand and be prepared to type (a lot).
- Some companies repeat base interview questions so you could keep a sort of template answer on hand and tailor it to the company.
- Other companies may ask really in-depth questions that require a lot of thought so feel free to bookmark those pages, do your research and then answer.

I would recommend searching for jobs based on your skillset rather than fishing randomly for any remote job and applying for whatever. It also doesn’t help to be too picky (“Yeah it’s a good company but they only offer 2 months paid vacation and a chauffeur driven car. I need 4 months off, at least, and if it isn’t a private jet, don’t even talk to me.”) but, hey, if you can afford to be picky, then you do you.

The most important thing is to apply!
You could keep waiting for the perfect job to come along or until you master all five elements and become the true Programming Avatar but who knows how long that’s going to take.

Don’t allow the fear of rejection cause you to miss out on the best opportunities.

Have an online presence

Throughout the course of my employment seeking process, I realized that all those profiles you create online are actually useful for something. It may not be a common occurrence for every job but most of the jobs I applied for asked for most, if not all, of the following:

  • GitHub profile
  • LinkedIn profile
  • Codepen profile
  • Personal portfolio
  • Resume as a PDF or link

Some of the more advanced applications would fill out the form based on the information listed in your LinkedIn profile then you could just edit at will. So yeah, not so useless after all.

The benefit of including these profiles is that they tell your employer things you may not be able to say yourself.
You may not express your enthusiasm for a project so well in your cover letter but your GitHub profile should show just how much time you dedicated to building it.
Your GitHub profile is also the easiest way for your prospective employers to see the kind of code you write.

Also, if you can get one, have a portfolio website.
It’s really not that big of a deal, just come up with a design or use a template and purchase the domain name. If you don’t want to purchase a domain name, you can use GitPages, Heroku or any free web-hosting platform of your choice.

You may think “I haven’t done enough to have a portfolio website” or “Nobody cares about my website” and maybe you’re right but the fact remains that it is something to add to your list of projects and also a great way to show off what you’re capable of building.

Finally, sites like CodeMentor and HackHands provide you with the opportunity to mentor and train upcoming programmers so that’s a great way to appeal to remote employers.

Be specific

If you read my story, you’ll understand that I applied for a ton of remote jobs in very little time. That in itself may have been a problem.
If you apply for as many positions as you can, you tend to present a watered down version of yourself in each application rather than if you took your time to research the company and put your best foot forward.

Ensure to do your research thoroughly for each company. Most companies are very specific about what they’re looking for in an employee so it should be easy enough to portray that image. Tailor your resume to the position instead of just using a generic template type resume.

The thing to remember is the company wants to hire someone just as much as you want the job — okay maybe not as much — so make it easy for yourself to be employed.

Of course, maybe I’m just saying this because I’m happily employed and you should ignore me and go apply for all the jobs you can right now. Who knows.

Sort out your resume

I don’t think I could ever overstate the importance of a good resume. If you don’t have a readable and accurate resume enlisting your skills and experience in a clear and concise manner, it may be hard for the recruiter to take your application seriously.

Developers have an advantage when it comes to resumes because the company could just check your Github and LinkedIn profiles and determine if you’re a right fit for the job.
However, keep in mind that not every company will do this. Resumes do matter so make yours outstanding.

Be honest

There’s really no point in lying on your application.
If you’re applying for a job in San Francisco that requires you to be in a time zone 3 hours ahead or behind and you know you’re 6 hours behind, then just let it go. They’re going to find out anyway.

Another thing that’s a bit dicey is knowing which type of jobs to apply for despite the requirements.

Let’s say a company asks for someone with 1–3 years experience working with front-end development tools and frameworks. You have about 6 months worth of experience but you’re pretty confident of your skills then, in this case, go for it. Best case scenario: you get the job or they turn you down at first but then reach out to you later in the future.

Just don’t be one of those people that’s like “I see that you’re looking for a .NET core developer. Well, not to brag, but I once wrote a program to calculate the sum of numbers in C#. So when can I start.”

Okay so that’s about it. I hope this article helped you somewhat.
Basically applying for remote jobs are pretty much the same as applying for normal jobs, in my opinion.

Well, all the best in your job search.

‘kay, bye.

More where this came from

This story is published in Noteworthy, where thousands come every day to learn about the people & ideas shaping the products we love.

Follow our publication to see more product & design stories featured by the Journal team.

Self-taught developer, school-taught engineer, sometimes writer