loading...
Cover image for Junior Developers Checklist for Landing a Remote Job

Junior Developers Checklist for Landing a Remote Job

ugglr profile image Carl-W Updated on ・8 min read

TLDR Alert: Skip to the tips at the bottom

I can work from anywhere?

That's what I asked myself two years ago, and ultimately changed my life's path for forever.

After meeting during my exchange studies, moving back together to Sweden, getting married and having a child, my wife wanted to move back to her home city in China. We had been living in Sweden for many years and we had always talked about moving east, but when we finally decided, oh boy... time to hustle.

Changing Career Path

I was working as a Hardware engineer at the time at one of the largest surveillance camera companies in the world. The pay was actually quite sub-par, not enough for a single income household, but it was stable and the Swedish government does provide many benefits to families with small children.

I've always been building websites, I got the highest grades on the subject in high school, and 3 years prior to our move I found a site called CodeCademy. Without knowing the ultimate benefit of it, I completed the free Python course, and later I found freeCodeCamp, you've might heard of it? (lol). I quickly ran through many of the courses through fcc, and also made my first portfolio site, just for fun. With that I also started following more and more dev people on twitter, I liked the energy. I had a short journey on teamtreehouse as well.

As my day job fluctuated in workload, my son got born, progress on the coding sites became stagnant for years.

Quitting my job

It was not easy to resign, the uncertainty ahead, we had little savings and a small boy to support. However I was optimistic, I had 3 years of experience as a Electronics Engineer, and I also from university soon had completed a Bachelors degree in Mandarin, at least I would be able to find a job, right....?

A long way from home

After selling most of our possessions back in Sweden, getting on a plane with 3x20kg 3x10kg 3xback-packs and a full size baby stroller we landed in Shanghai.

2 months went while settling in, at the meantime I was looking for hardware engineering positions. As time went by it became increasingly clear to me that getting into a Chinese Company as an Hardware R&D Engineer was going to be tough. I was directly told by many that they don't allow foreigners to enter the company. It did not matter that I was qualified with more than 3 years experience, a Masters Degree and spoke good Mandarin.

But during the time looking at all the job adverts I came to a realisation:

The amount of Software related positions out-numbered hardware positions 5 to 1. And they were paying double on average.

Career switcher in China? They are not taking that bet, and my Chinese friends looked at me like I was crazy. OK...

I started to look into it and as the dev community had changed from my previous stint with software, my eyes opened up to remote working. Unlike before people had started teaching programming on youtube, remote communities were popping up, and sites dedicated to remote workers was available. I can work remotely?!

Not only that, there were success stories from self-taught programmers everywhere. Not only was I in need of re-inventing myself professionally but also I was so excited about the possibility of working from anywhere that I became obsessed.

I looked at the remote job listings and determined that the number of React positions were far greater than those of Angular or Vue. Done deal off to the races we go!

I started researching everything I could get my hands on, youtube, medium, twitter, anything that might be useful. I joined online communities, found mentors online and wen't into tutorial purgatory.

Tutorial Hell

For me YouTube tutorials became the way to learn, I could code along the teacher and after slowly starting to understand the best way for me to learn I could go back, re-engineer the projects and understand the parts that were important.

I opened my Github account where everything would go, did not matter what I was learning, it would be on GitHub so I can refer back to my old code. I understood quickly that consistency was key, and I was pushing code everyday.

Standing on my own

They call it tutorial hell or tutorial purgatory for a reason. It's hard to stop and build something by yourself. Even the smallest things would make me choke, and flush me with self-doubt. Maybe I'm not ready? Maybe just one more tutorial and things click into place?

Forget about it...

I went back to the drawing board, and asked myself:

How can I get real programming experience, without a job?

And did the following thought experiment:

If someone puts founder on their CV and builds software does that experience count? Given that he/she does not (probably) get payed for it? Does the money matter at all? Is it only valid experience if we are getting payed for it?

I answered myself:
It's all about the work you produce

So I started thinking: If I'm working for myself (unpaid lol), What can I build that gives me real experience?

This was the most crucial thought conclusion to take me forward

Build genuine competency!

Build things like your life depends on it

I cut tutorials out of my life and went to work. My first PR was a new portfolio starter to the Gatsby project. I still remember the feeling today when it got accepted. I asked several people to review my design before finalising it, and I shared my success with the people who was rooting for me.

No matter how small, move forward. No matter how small your success is, celebrate it with people who believes in you.

Your biggest supporter is a stranger.

The fact that I was engaged in the online community made me succeed. But you have to be brave enough to ask for support. There's so many awesome people out there and they will help you, they won't pull you down, and they won't heckle you for asking trivial questions. But also you want to be respectful, people have jobs and other engagements, you still have to do the work by yourself, none want's to share their energy with someone who demands attention or comes off as lazy.

I wanted to quit and got lucky

9 months in and I was soon burning out, I had two job interviews left with two take home coding challenges.

I think I got lucky when I needed it the most. Because the hiring engineer I met took his time with my application and he appreciated my struggle and consistency. He hired me to the team and August 1 2019 I started working full time remotely. Without getting into numbers I also earn more, with what I think is a fair market salary that can support my family. I also see more development in that area than what I previous did.

After talking to him and discussing what made me stand out, here's my ultimate checklist for getting ahead of your competition:

I was thinking for juniors but honestly for anybody who want's to go remote.

The List

Todo why
GitHub Those green tiles matter, I was able to show consistent code pushing for 9 months straight. There was projects related to the position I wanted (react) but also branching out with backend, and other languages
Contribute to Open-Source This might sound daunting for anyone to get into but it really makes all the difference. It does not matter how small of a contribution you are making, correct some docs, fix grammar problems are all things that you could do right off the bat. You can make repos where you collect resources etc.
Personal Site I made sure that my personal site looked alright, all links working, no typos, easy structure for hiring parties to find the information they are looking for. All projects links to a hosted version, and to the source code. I linked to Github right at the top, and other small things like: my email looks professional, up to date CV etc.
Start blogging Writing about your daily progress is a win-win situation. You help others struggling with the same thing, you help yourself understand it better, and you take steps towards building your own developer brand. Potential hiring party can go in and see your progress and they can see how you communicate ideas or code to others, further they can see a glimpse of who you are and build a perception of you as a person.
Stable internet It sounds like a no-brainer but if working remote it becomes very clear if your connection is not great. Would you hire someone to work for you remotely if they keep disconnecting? probably not right?
Comfortable to Share screen As a remote developer you'll be sharing your screen a lot.
Clear communication Being able in a clear and concise way explain code, talk about complex topics. Code is sometimes difficult to explain, because we are not used to talking while we code and our mind-maps of how things fit together will be very different. No one will hire you if you can not explain what you are doing.
Be in the now Be alert, be present, answer questions within reasonable time on Slack or Email. And turn everything off during your interview.
Calm environment If you have constant background noise, like motorcycles, trucks, vacuum cleaner, screaming, you get the point etc. You will not be liked in your everyday meetings. Dare I say low key hated. So find a quiet spot to work.
Voice Quality This ties into the above row, but if your microphone is bad, buy a new one. Record yourself, listen to it and you'll understand what the other end hears.
Energy You want to send a lot of positive energy to the person you are talking to. You have to be interested in what you do and like to talk about things related to the field. Don't be a biggot, asshole, racist, or other negative. at least pretend...
Know what you know, and you want to continue learning. If there's something you don't know, come clean and say that you have not used said thing yet. It shows that you know what you don't know, and explain that you are willing to learn that asap if that's a required skill. Maybe fire up a new repo and do something with it, and send it soon after the meeting ended. It shows you are a self starter and can learn new things when required.

IMO if you do these things and can present them through your online presence then you are way ahead of the competition. And further to note much of the list is not even related to coding skills. They are what's called soft skills and many companies are realising that they are waaay more important than your technical skill. Chances are that the project they are hiring for are using new technologies anyway and they are looking a really solid team player.

Shameless plug
Here's what I collected during the time I was searching 1.5 years ago. Some stuff might be out of date but in general I think it's still valid information: It's companies who hire remotely, resources, communities etc. all for getting a remote job.

Remote-Junior-Developer-jobs-directory

If you want me to write more about this topic let me know. I think I'm going to write some more posts about working remotely and what I have picked up along the way.

Hope I could help!

Posted on by:

ugglr profile

Carl-W

@ugglr

React / React Native / Software Engineer, former Senior Robotics Hardware Engineer.

Discussion

pic
Editor guide
 

When I don't know how to become a software engineer, I saw your post. What a coincidence! Thanks for sharing

 

There's only one way to be, and that is to do!
Thanks for reading 😁

 

Totally!
I find problems when I actually do it. But I can learn from solving problems.

Solving problems you encounter is the main way you learn programming, so you are on a good path! Take care!

 

'Your biggest supporter is a stranger' - how true that is!

 

Totally agree on that

 

It's exceptional and a tragedy at the same time! Initially I reached out to anyone in my original network. Nothing, not much belief in that I could make it either.

But complete strangers, whom I've never met, helped me more than I ever could have thought.

Thanks for reading 😁

 

I've come across a variation of this idea lately - that most opportunities lie in your extended network, not the people who are closest to you, because they all know the same people and have access to the same opportunities. (I got this idea from Kelly Diels, to give credit where it is due.) This is an interesting twist: that they also might have the same (stale) ideas about what is possible for you.

Great post - thank you.

Glad you liked the post!

Thank you for you input, I've also been thinking on the topic for a while. It could be also that there's jealousy at play as well. My thinking is that original networks will be making comparisons to each other, who's the more successful, who's making more money and the list goes on. If someone is taking a risk with a high reward, no one can say for sure if that person is going to be successful in that pursuit or not. But, if they are successful it might "put them ahead" in the competition, and people are much less likely to lend a hand. It will help the enemy so to say. Maybe we are keeping our enemies closest after all πŸ€”

In comparison if it's not someone in your direct network looking for help it does not impact you at all if they are successful. It does not infringe on your position in your current "pack". Also further, there's a slight chance of new opportunity if they do succeed.

 

One small tip to add for juniors re: getting out of tutorial hell... You could participate in #100daysofcode, which is a challenge taking place mostly on Twitter. To do it, you need to pledge that you'll code 100 days straight, every day, and update the community on your progress (every day if possible). There is a lot of encouragement from new and veteran coders, which is nice. Good luck to all the new coders out there! Remember, everyone started somewhere... :)
~AD

 
 

I don't know how to network(as dumb as that sounds), I have been a dot net developer for years and got a job doing style sheets in XML remote for 2 years and loved it. I have been studying HTML/CSS because of the style-sheet(XML) job. But no support or any networking...

I want to be a front end developer.
Great article best regards!

 

I'm really bad at networking as well, it's never felt natural to reach out to someone out of the blue and strike up conversation. I always try to make it as mutually beneficially as I can. If there's something I can offer to the other side to make engaging with me more interesting?

The web developer community has been extremely welcoming and been filled with positive energy, much recommended!

Thanks for reading, glad you liked the post! 😁

 

Wooh. This is really helpful and inspiring to follow. Thanks Carl

 

I'm happy if I could help and inspire you, Thanks for reading John 😁

 

Common man, this is great post. Keep writing and informing us. We're thirsty of your knowledge. Thank you

 

Thank you! πŸ˜† I will keep writing, what would you like to know more about?

 

Thank you so much dear Carl,
I'd like to know more about
Minimum technical skills needed for starting job search?
How can I survive and find a remote job in China? (or actually anywhere else, as I see most of employers don't trust juniors for remote jobs and they're more inclined to senior for remote positions)
9 months is not a huge time and would like to know how you progressed and what you learned in this period?
A roadmap would be great

Thank you so much

 

This post has inspired me to continue my development journey. Thank you for pointing out how important it is to break out of tutorial hell by creating own projects. I believe that community is everything and we all thrive working together!
Have a great day!

 

I'm happy if I could help you πŸ˜„

I think you are right, within a group we can accomplish more than on our own! We just need to be cautious: watch your energy levels closely. If you notice that there are certain interactions online that takes more energy than what they give, steer clear from it. Especially from any gatekeeping type of crowd or people who try to one up one another constantly. Pin-point the things that lifts you up instead of draining you.

I made a conscious decision to cut out everything possible that gave me bad energy, still do, and it's become a very important practice to me. Time is too scarce.

 

great post. it was very useful for me. big thanks.

 

Awesome! Thank you for your comment, it makes me happy that I was able to bring you some value πŸ€“

 

I love reading inspiring posts like this. I've just got into web dev for 2 months and aimed to work remotely in near future. Many said it's nearly impossible to land a remote junior position because companies can't provide proper training. That's why most jobs require at least 2 yrs of experience. Could you give me some insight into this issue. Thanks a lot.

 

It's definitely not impossible to do and go remote as a junior, you are just going to need to work way hard for it. You will be competing for the same spot with the whole world, and if a company advertise that they are looking for a junior, oh boy.. They are going to get flooded with applications.

So here's how I would think about it:

  • Don't go in with the mindset that you need training when you start. Go in with the mindset that you want to contribute, and you can learn on your own what you need to know. It's tough I know, but that's the most valuable skill of a software developer. I have to learn new things everyday and no-one is there to hold my hand.

  • Make a set of requirements on the company you want to work for. My tip is that you want to work for a company that has some remote workers already, and they are not called "the remote developers", because chances are it's going to be extremely lonely and crushing to work there. I say that because they often won't have any processes in place to engage with the people who are not in the office, especially as a junior when you are filled with self-doubt. One such thing that I can think about is that there is no real documentation, people are used to go over to the other team and ask for the information they need, when you go virtual with that practice it's hell. Because you will need to ask every little thing in Chat and you'll be bouncing around and waiting for others. Other things might include that the remote workers are expected to always be available to answer questions or to be working around the clock. It's just not a good experience and in the long run for yourself it will be so much better if have a bottom line set of requirements. (maybe I should write a post about thatπŸ€”)

  • Don't go after junior positions, apply to all jobs. They will write 2,3,5 years in the advert as mandatory, filter that out and ask yourself the question: Can I work with the technologies they are mentioning. If I cannot then go learn them, and then figure out a way to showcase that to potential employers. If you can make sure to include some example of you using it. Show them you can be productive in the project fast, because that's what matters

  • Don't wait to apply, any feedback you can get is of great value. Even if they don't have time to say why they rejected you, you know that you got rejected. Many people seem to have a hard time handling rejection, but the sooner you get comfortable with that the better. And if they did not reject you go celebrate! Even getting through to the coding test was a victory for me.

  • Getting a job is not a numbers game, it's a peoples game. The hiring side want's to make sure you are reliable, and showing some "official" experience in the field communicates that you are reliable and you won't run out the door 2 months down the line and they will have to go out and try to hire someone again. So as a remote junior how do you mitigate that doubt? I think the best way is to show that consistency online, you push code for months on end, have projects to show for it and have started working up a developer brand.

  • Build real apps / projects and try to include the things the type of position normally would look for. Some things I can think of for webdev would be: Responsive design, Forms (login/registration etc.) , authentication, dynamic routing, calling APIs, aggregating data etc.

  • Find something that normal developers neglect, and become good at it, it will make you stand out as you bring skills to the table they might not have. Take accessibility problems for example, it's widely neglected. Point some problems out tell them how you would fix them with their current product. They won't get mad. If they do, move on and think yourself lucky that you dodged that bullet.

As I mentioned in my post I did a thought experiment where I said:

Ok how can I get real experience without a job?

And I started to think about startup founders. They just started building something they thought was missing, and in that process they built real competency by solving the problems ahead. Do the same. Build something that's close to a real app, and if you go really really full in on that track you could even put founder / ceo on your CV and say yeah I had this idea and I worked full time on it, unfortunately it failed, but here's the code and I think many of the things I encountered in that project can be applied in this job

Maybe it's a stupid example but let's do it for the sake of science:
say Mark Zuckerberg built the early version of Facebook and it never took off. Would you consider him a junior developer just because he did not get payed to build it? (or insert other random founder)

What does it mean when a company says 3 years experience minimum? I stopped completely thinking about that I need x years of experience, and started thinking in terms of I need x amount of skills. Because that's what matters to the company and the team.

Even if you are the best, so many times you have to put faith in that the other side likes you or sees something personal in you that they like, it's proven time and time again that it's your soft skills more than anything that pushes you over the edge towards success. So apply to everything, start already and try to get as much feedback as you can from it.

 

I can't appreciate it enough for your prompt and detailed response. I'm working on my personal project at the moment and your idea of "founder" is brilliant. I also agree that I should get rid of the 'junior' mindset by focusing on what I can contribute to companies. I'd love to read more posts about your remote working experience as your focus on soft skills is valuable.

I was in your position 1.5 years ago, people helped me and I'm really happy that I can help others and pay it forward. Sometimes it's just that small thing someone wrote || said that sticks to you and pushes you forward. Reach out any time, I'm a stranger but I'll support anyone as much as I have time with.

I will write more when I think I have something to say so stay around for that πŸ€“

 

As a junior "Go in with that mindset that you want to contribute."

And if it's a company that actually does mentor you, you will be much more receptive to that training πŸ’ͺ🏻

 

Great post!

You mentioned online communities that you joined... I'd love to hear more about your experience with that and online mentors. I find as a self taught dev in a non-tech city - community and mentorship are some of the most difficult things to find.

 

Thank you!

I can really relate to not having local meet-ups or irl dev community so here's the communities I joined at the time and had the most impact:

  • Coadingcoach I found several people among the mentors here and just messaged them on twitter basically. Like hey I'm trying to be a software developer, is it ok for me to ask you some advice at times. It's crazy but the rubber duck effect for me is really strong, wiki so just asking questions to someone who is in a position I aspired to be in made a big difference. I still keep contact with the people I met and I'm still very grateful. There were people who took considerable amounts of time out of their day to give feedback on code / design etc.
  • Eddie Jaoude : I learned about Eddie on youtube, and his energy is really great. Super inclusive, everyone is welcome, no questions are stupid and the people on the Discord server all celebrate each others victories and encourage each other. The main focus is open source but anything goes. Many times he will have guests on the live stream, and it's a great place to be. I'm still active and joins his live streams every time (almost hah).
  • Remotive : Fully focused on remote working, people say hi when they start their workday, there's hiring people lurking around etc. It's friendly. I'm kind of on the fence about recommending a paid community honestly, but I joined back when.
  • Reactiflux : This community is really big, but I also got really good leads by directly messaging people on there who was hiring, it's been a better hit rate messaging people directly on there compared to sending in official applications through websites. Matter a fact I found my current position there by just reaching out.
 

Awesome! Thanks for sharing this.

 

This one had me crying. Great story, its compelling.

 

Oh! I never wanted to make someone cry
Thank you for reading 😁

 
 

Thank you !

 

Being a digital nomad (which I think is the fancy term for who works from anywhere) I think it's really a popular option right now, a lot of ppl discover that working from home was more productive these days.

In your post besides the great tips for junior devs there are some good tips for anyone who wants to start to work remote, because it seems to be straightforward but working remote needs special attention to comunication skills for example.

Great post, thanks for sharing!

 

Yeah that's probably the buzz-word people are using XD As you say companies are challenging old mind-sets. Offices are expensive!

I don't think remote work needs any extra tools that a tech organisation already has today, but the way everyone agrees to use them needs to be aligned across the board. Communication needs to be more inherently async. Instantly answering chat messages for instance should not disturb anyone to the degree that they are not getting any work done.

The result of that is for instance that decisions needs to be fully transparent for all the teams to see, because it's not possible for the news to travel to others. It's rather fascinating how information can spread in an office setting, somehow word get's around automatically. In the remote world there's no magical way for information to spread. It needs to be available or it's going to become frustrating fast, when PM "keeps things agile" in the project and many hours go to waste because the devs were not kept in the loop of what the product managers decided half a day ago. Or there's no notice to anyone when the backend team is deploying breaking changes.

Open-source projects are perfect example what remote teams can achieve and how well information can be spread to many developers.

Thanks for the great feedback 😁

 

Maybe being an open-source contributor will be more valuable in no time by recuirters of all company sizes (included the old-fashioned) as a proof of good work remote practices :)

I hope so! It's also the best proof that a software engineer knows the workflow of daily coding. sending PRs, making issues, discussing, getting feedback in code reviews etc.

 

Really useful tips. I'm in the same position now. Open to junior remote dev role. From the checklist, I have to work on the following:

  1. Personal Site
  2. Voice Quality
 

Good luck with your search! Keep improving everything you can think of to get ahead of other applicants. You never know when it's your turn, that's why everything counts as a step forward and every day counts to keep moving.

 

Thank you and yes, so true! πŸ’―

 

Great post! After reading it I just wanted to add a couple things from my own experience:

1) Forget tutorials like you said but get good at reading documentation. It might seem like the 2 are related but reading docs effectively can be a difference maker.
2) Sign up for weekly newsletters in your preferred dev area. Can't stress how important this was for me. Js Weekly, Node Weekly, React Weekly, Smash magazine, etc. You get so many amazing things in a concise package every week.
3) Leverage, leverage, leverage. Leverage the immense reusability of the modern web dev world. Don't forget to learn things from scratch that are important to you but after that, leverage.

 

Yes for sure, how to read docs is very important. If one notice that the docs are thin in some places it's a great place to start contributing to open-source!

I've never actually signed up for any newsletters other than the ones I get automatically from places like this Dev / Medium it's interesting that those helped you

Also very good tip, I think it's more close to how software engineers work, services like Contentful, firebase, aws got so much pre-built so leveraging those can be really productive. It's just as good to mention to future employers as some library.

Thanks for reading and your input! 😁

 

What an amazing read, you have literarily lived the struggle of every developer....the switch of career path, the rejection and frustration and then the fulfillment... There is always going to be a way, no matter what level you are ....keep doing... you will become ,that's what I have learnt from your article. Thank you for writing

 

Glad I could help 😁

 

May your internet connection always be stable! I lived in Hangzhou from 2012 to 2014 and connecting to the "outside" internet was a big issue, entrepreneurship for non-Chinese also a bit tricky. From what I've heard this is much better now, so I hope you'll get some sparks from the local dev/entrepreneur community and keep on experimenting ;) - I've never met so many people experimenting with their business ideas than in my time there!

 

Hey! I was here during that time too! 2012 - 2013 that's so interesting, were you part of a startup community? I have been looking for that XD

The bandwidth these days are quite good, 150/150Mbit fiber line into most apartments but yeah, cross border website access is still very annoying. VPN providers do their best to keep us connected but it's still not good.

My job VPN got blocked by the government and I had to "unblock" it by myself actually, I wrote down my method here Split Internet Tunneling with SSH proxy so at least I can continue working T__T

 

Really Great! Yes still i believe strange is my biggest supporter.

I am on second step according to your story. Worked almost 3years in some small company/freelancing without any team. So after that i realised i just wasted time. But now i can realise i am not only guy who has bad luck. Everyone is getting up with struggle. So i started to adopt some new skills from last months. Hope one day will come and i will growup again

Thanks for your post! It will help me to motivate

 

Thank you very much for your comment!

I'm very happy that I could motivate you, Best of luck in your journey πŸ₯³

 

That's what I needed for today's motivation I am in kind of a similar place as you were when you stopped the tutorial hell. Today was my day 1, I made a simple React tic-tac-toe app but I am confident I'll be doing much better and complex projects in the coming months.

 

"Keep moving forward, no matter how small" I still say to myself every day. Happy I could help :)

 

This article looks a good one for lazy ass devs like me.

Build things like your life depends on it

Good way of controlling thinking. laziness will haunt you down otherwise xd. Life actually really depends on it.

I pushed code everyday, everything.

That's real inspiration. Thanks for the write

 

Thanks for the post, It helps a lot when you realize what you are going through is actually the path that everybody else in your shoes is traversing along.

 

It does feel way more palpable, best of luck !
Thanks for reading 😁

 

Great article!

Thanks for sharing.

 

Great, thank You for sharing.
Sharing is caring

 

Thank you for reading 😁

 

Thank you for reading ! 😁

 

加油!This is inspiring

 

Glad you liked the post!

 

nice article! I'm in the same situation now.. tutorials hell.. I'll follow your advice for sure :)

 

Best of luck!
Thanks for reading 😁

 

Great But I was expecting more about the "how" of your journey.

 

Hi! Sure! What would you like to know? πŸ€“

 

Awesome post - personal and practical!

 

This is a great article. Many thanks for sharing!!

 

So for the first time, it means all about portofolio website ?