DEV Community

Cover image for Junior Developers Checklist for Landing a Remote Job
Carl-W
Carl-W

Posted on • Updated on

Junior Developers Checklist for Landing a Remote Job

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!

Top comments (69)

Collapse
 
gabs profile image
Gabs

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

Collapse
 
ugglr profile image
Carl-W

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

Collapse
 
code_regina profile image
Code_Regina

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!

Collapse
 
ugglr profile image
Carl-W

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.

Collapse
 
bipubipu profile image
Geek Lady • Edited

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

Collapse
 
ugglr profile image
Carl-W

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

Collapse
 
bipubipu profile image
Geek Lady

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

Thread Thread
 
techie_ania profile image
Ania

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

Collapse
 
ergashevulugbek profile image
Ergashev Ulug`bek

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

Collapse
 
ugglr profile image
Carl-W

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

Collapse
 
kasra6 profile image
kasra6

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

Collapse
 
ugglr profile image
Carl-W

Thank you! 😆 I will keep writing, what would you like to know more about?

Collapse
 
kasra6 profile image
kasra6

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

Collapse
 
robmarshall profile image
Robert Marshall

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

Collapse
 
jaytailor45 profile image
Jay Tailor

Totally agree on that

Collapse
 
ugglr profile image
Carl-W

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 😁

Collapse
 
amyrbrown profile image
Amy Brown

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.

Thread Thread
 
ugglr profile image
Carl-W

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.

Collapse
 
codersrank profile image
CodersRank

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

Collapse
 
ugglr profile image
Carl-W

+1 !

Collapse
 
paqman85 profile image
Glenn Paquette

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.

Collapse
 
ugglr profile image
Carl-W

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.
Collapse
 
paqman85 profile image
Glenn Paquette

Awesome! Thanks for sharing this.

Collapse
 
timchew2012 profile image
timchew2012

Awesome read

Collapse
 
ugglr profile image
Carl-W

Thank you !

Collapse
 
webdev_chen profile image
Uchena Miller

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

Collapse
 
ugglr profile image
Carl-W • Edited

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

Collapse
 
tia311 profile image
Thuyet

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.

Collapse
 
ugglr profile image
Carl-W

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.

Collapse
 
tia311 profile image
Thuyet

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.

Thread Thread
 
ugglr profile image
Carl-W • Edited

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 🤓

Collapse
 
webdev_chen profile image
Uchena Miller

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

Thread Thread
 
ugglr profile image
Carl-W

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

Collapse
 
chrispaine profile image
Chris Paine

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!

Collapse
 
ugglr profile image
Carl-W

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! 😁

Collapse
 
dastasoft profile image
dastasoft

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!

Collapse
 
ugglr profile image
Carl-W

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 😁

Collapse
 
dastasoft profile image
dastasoft

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 :)

Thread Thread
 
ugglr profile image
Carl-W

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.

Collapse
 
l3zero profile image
Leonid Yanchis

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.

Collapse
 
ugglr profile image
Carl-W

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! 😁

Collapse
 
mzkenna profile image
mzkenna

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

Collapse
 
ugglr profile image
Carl-W

Glad I could help 😁