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.
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 💪🏻
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 🤓
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.