- You're a junior dev with 1.5 years of exp and you got laid off.
- Cold applying used to yield interviews but not anymore without having changed the contents of the resume.
- You're still unemployed after 6-9 months.
- Your work experience is centered around React, Next.js, JavaScript/TypeScript.
- You have a CS degree.
- You're not afraid to pivot and learn new skills. (New programming languages, tech stack, etc...)
- You don't have to worry about paying bills. (You didn't move out of your parents' home yet)
What would you invest your time in?
Finding a job because:
1. The best time to find a job is when you have a job.
2. Statistically, knowledge gained through self-study is worthless relative to knowledge gained on the job. Particularly when a person has very little experience.
In regards to finding a job, I mean any job.
Not just developer jobs.
Because the laid off entry level developer who wash dishes in order to work is the laid off entry level developer who stands out for their work ethic.
And entry level developers with work ethics are the best entry level developers to mentor.
Anyway, people skills are usually the best skills to developer for developers (and everyone else).
Good luck.
For example, you'll hear people say things like "Easy Apply" button is a waste of time and you should go apply directly on the company website.
In my opinion, in a crowded job market you want to apply ASAP.
Also contrary to most popular advice, opt for quality over quantity. Find an area that aligns well with what you can do and double down on that.
I
If you're reasonably good at design, build something that looks like a legit startup. Add a fake careers page, a fake about page and a fake teams page. Buy a domain for $10. Setup an email account (ie adrian@superstartup.co). Create a fake email signature.
Put that on your CV to close the gap and make sure you're ROCK SOLID on the story. Build the webapp using the technologies that come up the most in your job search. Don't sell yourself as a "junior". Speak confidently about your "last gig".
Be good at the phone interview. This is what will get you to the next round (ie, the technical interview). If you can pass the tech round, you're good.
Also, apply to jobs you don't necessarily feel will be a good fit just to get the hang of it. That way, you'll be prepared when the right opportunity comes.
Most companies will highly likely not run checks, and if they do, well who cares.
I had built two failed startups before and added them to my CV but made the mistake of calling myself "CTO". Don't do that: You worked at $fake_company for $duration doing $stuff.
I'm telling you this because most of the companies I interviewed with genuinely believed that my startups were legit companies. They would ask such questions as "Oh, are you still working at X ?". This is when I realised the power of perception.
Keep your head up, It's not going to be easy, but in the end you'll make it.
I've also searched for recruiters for a company on linkedin and messaged them directly, in addition to cold applying. Helps sometimes.
It also helps to be prepared to interview at any times, especially if you're looking at startups. So being on top of your system design (maybe not applicable at 1.5 years) and coding game.
I'm not a fan of leetcode (and maybe as a fe person you don't actually get asked it much?) but using some roadmap to learn it while applying is really useful, doing mock interviews etc. Neetcodes roadmaps are pretty good, and I'm building an AI mock interviewer at that _somewhat_ should help in doing 'mocks' (not as good as a real mock though but I've found it great for learning).
It's at https://comp.lol/. Sign up if you want to try it out. Sorry if the last part sounded like an ad, no real pressure to try it but I've had some interest from folks interviewing. Best of luck!
I've worked with people who had very little professional experience but had done enough OSS that I knew they were both competent and great at working with other people, as well as not needing to have their hand held.
I'm sure my opinion isn't universally held, but if I see good sized contributions from someone with very little professional experience, I consider them head and shoulders above other juniors and would consider them mid level.
- Narrow the list to 1-3 companies you are most excited about
- Contribute to their open source project. Be consistent and contribute high quality stuff.
- After 3-6 weeks email the founders asking if they are hiring. You have a very high shot of getting hired.
- In Parallel keep applying to other companies and mention your open source experience
* Be 10x at administration. Learn to communicate with precision and get your work done on time. This is what will get you promoted in comparison with your peers.
* Be average at writing software. Be as average as possible. If you are interested in solving real problems, innovating, or any kind of engineering you are in the wrong line of work and should immediately look for something unrelated. Your peers are only interested in the framework of the moment and the vanity of code style. If you over achieve beyond that you only lower your career mobility and desirability in the marketplace. You are hired to jiggle user events and put text on screen, so don’t over think what goes into the actual work with a bunch of delusions. Be average.
If you want to continue writing JS/TS for a living those two bullet points will dictate where you need to focus.
You have all the tools to build something.
When it comes to the interview part, I sadly often meet people who don't understand the fundamentals. Like if someone is asked to write a web app and doesn't understand HTTP. Specifically, things like not every request needing to have a content-length header. I'd love to see that you know what a race condition is and how to avoid it when writing code. Same for security, know your vulnerabilities and what coding methods to use to avoid them.
I know this is a lot to ask for. However, I wouldn't go and learn another JS stack, they come and go and I trust that if you have your basics in order, you'll learn a tech stack or even programming language in no time.
But then again, that's just me and I have a tendency to not hire juniors due to the small team sizes I work in and the relatively large overhead a junior tends to represent. In other words, I don't have a lot of experience hiring juniors. Another thing, you may want to try and apply above junior level, even if you'll get lots of rejections, if you're good you may land something that way.
A good junior dev job is still going to suck compared to any senior dev job. I'd argue your goal as a junior dev should simply be to progress to senior as soon as possible. Looking for a good junior dev job is the wrong long-term objective.
Assuming you agree the unpopular solution here is just to compromise in all of the ways no one else in your position is willing to. This includes:
- Working for minimum wage.
- Working longer hours.
- Mastering the things you don't understand in your spare time.
- Traveling into the office 5 days a week.
- Working on side projects and building a portfolio of work whenever you have a free moment.
The first 3 years I was a developer I was working for minimum wage while at university. Every day I wasn't at university I was working - including weekends. When I had any spare time (which was rare) I was working on side projects. I barely slept for about 3 years between studying and working. But the result of this was that I left university and immediately jumped into a full-time senior developer role and from there things were relatively easier.
If I contrast my experience with those of my peers most struggled to find full-time employment when they graduated because they had no real experience. Those who found work were then working as juniors for several years.
My advice to anyone wanting to get into tech is to just work like crazy for a few years for crap pay and you'll get there. Those who expect to land a fully remote job with good pay while they have little to no experience will often just remain unemployed and unexperienced.
Also, while learning skills outside of work is useful, you really want to be able to demonstrate that you've used those skills professionally. Companies in my experience don't really want to take a bet on candidates who claim they've played around with x,y,z technology in their spare time. The stuff you learn in your spare time in my opinion should generally complement whatever you're being paid to do professionally, at least while you're still trying to progress from junior dev -> senior.