Ask HN: Self-taught roadmap to multiple big tech offers in a few years?
This is not a "I want to become a career developer after many years in an unrelated career" situation. This is "I tried building my dev career for 10 years and want to (almost completely) start over".
I have held multiple jobs as a contract web developer, doing sporadic PHP and Ruby work. While I'm not exactly a stranger to cubicles and meeting rooms, my position as a temp worker really doesn't allow me to grow or make very meaningful contributions to a company.
In addition, I don't get compensated well for an engineer (US citizen for context). Most I've made in a single year is $55k gross in a MCOL area. Almost all is 1099 work
Back to the problem I want to figure out, I know I have a difficult road ahead, what with 2.5 years unemployment and sporadic contract work. Over a thousand job applications and zero offers. I have no interest in trying to run a business. My priority is financial stability (never had 401k or company health insurance) and having a more "mainstream" software engineer career.
(I'll also need to rebuild my network almost from scratch as my former colleagues do not reply to my inquiries about jobs anymore. It's kind of difficult with lockdowns still putting IRL meetups on hold, but I'm part of a few tech professional chat groups.)
The usual route for a CS student is to maintain good grades, participate in research, academic publishing and extracurriculars to help them get good internships, and one of them may convert to a FT job, all in a few years.
I am trying to construct a similar "self-taught" version plan of that. Take those gradual steps over a span of 2-3 years. Complete some similar bodies of work that gets the large companies want to interview me, and hopefully get a couple offers lined up.
I'm not asking for shortcuts. I just want to expand my options beyond just doing interview prep and digging into my network, which after 2 years without a single "yes", feels like I'm beating a dead horse.
35 comments
[ 2.6 ms ] story [ 77.8 ms ] threadLol.
55k was my best year. Usually I make under 25k.
You can't change who you are.
My story is not quite the same as the start of those that made a great turnaround by changing careers, which I've read many of. I'm curious to hear how a story of turning a new leaf in the same career would pan out.
- Are you self taught?
- Do you have a bachelor's degree? One in CS?
- What does your work history look like; have you been full-time employed at any point since entering the work force or has it always been part time contract work?
- Most importantly, why have you only done contract work -- is there something that has prevented you over the course of the last decade from applying to and succeeding in full-time work?
- Do you simply not want it, have you tried it and it hasn't worked out, perhaps a combination of the two?
Based on that you can determine what your next paths forward are.
One approach is applicable if the will to work in a professional capacity is there, as well as the capability, and that all that's missing is that, for lack of a better term, you've been on "sabbatical." If that's the case, doing work on Toptal/Gun.IO/Facet (probably would recommend any of those over Upwork although it is an option of last resort). You should be able to get a decent stream of contract work that way, sharpen your skills and then eventually move to a FT position from there. The most important thing is to get into a rhythm where you are doing work on a regular basis that is useful to your employer so that you have something of value for when you decide to move.
Another approach is taking a reset because you can't do the former. Ways to do a reset include either a bootcamp or an MS program (assuming you have a bachelor's; if not, the bachelor's is an option), as both will likely have placement programs after you complete the program. They will also give you a foundation of some kind to think about problem solving in a structured environment with instructors, all of which increases the possibility you'll have a shot at finding gainful employment.
That doesn't tell us very much. How many interviews did you get from those applications? Are you drawing interest but not converting? Or is there zero interest?
> my former colleagues do not reply to my inquiries about jobs anymore
Because you've asked them too many times already?
Do you have any insight into why none of your your temp stints have turned into permanent roles?
You mentioned you live in a MCOL area but where, exactly? Have you tried changing your location on LinkedIn to a hot tech area, such as the Bay Area, Seattle, or NYC? A lot of interviews are all online now. And even if not, you can pay out of pocket to fly in.
- Do you have a degree? If so, which subject
- You claimed you sent in over a thousand job applications and zero offers. What kind of jobs are you applying for? How far along in the process do you get?
I think your problem can be broken down into two parts: getting an interview and performing well in the interview. The first part is trickier IMO because its kind of a black box, although I managed to get contacted by big tech without a CS degree. The second part doesn't take years, it takes months of just cramming leetcode interviews. It's no secret what they look for and ask. They want you to do well and give you all the tools to do well. It's just putting in the effort by grinding leetcode an hour or two a day for a month or two.
I apply only to software engineer jobs. Full-stack, front end, or back end, I'm shooting my shot at all three. 95% of those are for mid-level and lower. Other 5% are for senior level. I get zero interviews for senior jobs, though.
I share similar views on passing an interview vs. getting an interview. The former is pretty codified these days- there's so much reading material to cover on leetcode/tech interviews.
Comparatively it's very tricky to figure out what goes into making your resume turn heads for big tech. It's great that I can read about top Lyft interview questions, but how to get Lyft to 1st round your resume to the top, though. Leetcode practice is useless if you don't even get the chance to use it.
How do you apply to jobs? If you're simply going on indeed or LinkedIn and clicking easy apply I can see why you might not get many responses.
For reference I think I've only applied to maybe 20 jobs in my life and got at least a first interview for 18 of them. That said my process for applying to a job takes at least a few hours if not days, because I research the company, try and understand why they're hiring, try and find people who work their to talk to, then I tailor my resume to the position and apply by asking someone to pass it along to the relevant person. I don't have A CS degree, a deep network or any notable opensource projects so I'm fairly confident this approach would work for anyone.
Beyond that, if you get into an interview, every companies wants to mitigate risk as much as possible, and even after 6 interviews with everyone and their sister getting to ask similar vapid questions, you can be rejected with an automated email.
It's pretty soul sucking. If I lose my current job, which took me 2 years of misses to get, I'll probably have to leave tech
I agree, 100%.
That said, I would consider filtering out those sorts of companies as part of my pre-application process. I'd want to know upfront, what the interview format is, how many interviews there are, what other candidates experience has been with the interview etc, before even considering putting together an application for the company.
I'm guess (and please correct me if I'm wrong) that the major difference between the world OP and yourself describes and my experience is mostly in that it seems you two are trying to get "a job" (any job) whereas I'm saying, I find companies that I think I would enjoy (pre, during, and post interview) then tailor my application and approach specifically to that company.
Otherwise, it seems unlikely that you would still end up with companies with a terrible interview process, despite doing your due diligence to filter them out
In my case, you wouldn't be completely wrong or right. Both are in-part hampered by a number of factors. The first being the absolute critical mass of companies jumping on the bandwagon of these hiring practices. So among the companies you want to work for and make your resume look spiffy for, there often isn't a way to mitigate much of this, except with numbers. Second is the spotty work history, so even in the ideal case where you do bypass any of that, you don't really have much of a choice. The one area that I'd say is worthwhile to do, is always asking about the interview process. If they don't tell you, they're off your list, but the next 10 might come back and say "Hey, you look great for the role, just talk to our CTO, tmand our entire marketing department, and of course Joe over in Boston, after you complete this take-home project" which is just so much risk off loaded. I even had a guy—literally Joe from Boston—and the CEO agree to hire me, after going through all of that, and then get cold feet and back out because I'm in Canada. That was 6 months ago, and I was already on the verge of being homeless, having soent all my savings on just basic necessities between jobs.
If you've got a stable or consistent work history, are well-spoken enough, technically competent, you're probably fine, such as in your case. Otherwise, it's brutal.
For me personally, I don't interview anymore unless I speak to someone on the team first. That's enough to eliminate 95% of all potentials I look at, and it's only possible because for now because I'm already on a contract. Those 5% carry the rest of the risks, and there just isn't enough out there most of the time to be that selective.
I'm in the second group, for the long term goal on finding companies I'd like to work at. It's in the thread's title.
Recently I chatted with a less experienced engineer, he currently works at Lyft and has had internships at Intel and Github while at college, along with related extracurriculars. That is what inspired me to make this thread. I'm trying to build a several years long plan to do what is possible for a self-taught in order to get to a similar position.
So my aim right now is to plan a itinerary that is suitable from getting noticed the way reputable tech companies notice future graduates with good internships and credentials. I will have to earn my own credentials differently (not necessarily with a job), to position myself in the same way. You can think of this plan as a "school away from school" on the way to get multiple offers from reputable companies.
There is a risk that it may backfire from a hiring standpoint, since this plan would probably further delay my re-entry into the workforce. However, without the ability to pass job interviews, I will have to obtain other accomplishments without work experience. Also, I'll probably cut my oldest jobs from my resume to shorten my experience.
The only "trick" is to find the balance between pestering strangers and showing a genuine interest in the experiences of the people you talk to.
> Hi you have a $COMPANY shirt on, can you get me a job
would likely come off the wrong way whereas
> Hey $NAME, you work at $COMPANY? I've been thinking about applying there and was curious if you could tell me what you think of it?
Would likely get them to talk to you, and if things are going well, they'd likely introduce you to someone or offer to pass your contact information along.
I used Craigslist to find all my jobs from 2008-14. This probably contributed a lot to haphazard career management. Typically those CL jobs were posted by small web shops or startups looking for extra helping hands, on a tight budget. PHP, JavaScript, Ruby, no cloud. They were not really great to grow as a software dev but hindsight is 20/20.
From 2015 onward, I stopped using CL and switched to LinkedIn, Indeed and sometimes AngelList and WeWorkRemotely (I had some remote exp. in 2014 already)
I definitely use the 'spray and pray' with jobs and am pretty familiar with the typical pace of 1 round per week in most companies that interview me. Occasionally I get talent sourcers and managers emailing first for a job. My most recent interview was in April. 6 month full-stack dev contract for $80/hr. They approached me first. I didn't pass the first round because I didn't have enough experience.
I also finished a career accelerator course last year which really helped me in organizing my job search. I could go to interviews with hardly any nerves. I fulfilled their a minimum quota of 25 applications a week for several months.
Unfortunately I wasn't the best in rephrasing the best answers to interview questions. Positive points on composure and attitude, but fail in the right knowledge.
There's really no social or network issues related to drug issues, or strong personality dysfunction issues. And there's nothing in my past that'll stand out in terms of business-related controversies or illegal activity. I have none of that in my record. I tend to be one of the quieter ones at work, hardly raising my voice or starting drama. I don't consider it to be as much burning bridges. I built my bridges poorly and they collapsed from neglect.
I still have an interest in software development. I make personal projects from time to time, since I was a college student, and put some on Github. Not paint-by-numbers stuff, but things that directly relate to my interests and problems I want to solve. Many people have really good engineering careers without having uploaded a single thing to a public repo so I know it's very possible to attain.
Will joining a staffing agency be easy and no-sweat in terms of interviews? I had interacted with Robert Half in the past, granted that was almost 10 years ago, but they made me sit in front of a computer to take a technical test. Some of the questions were arbitrary trivia knowledge- they seemed to care more for explicit knowledge over tacit knowledge. I didn't pass the test so there was not much they could do for placing me for work.
I also tried Triplebyte because their more novel approach got my attention. It really heavily favored people that can finish the tests fast. I was never fast enough in my three attempts so didn't get into the phase of company selection.
You finish off by saying I should think about completing my education more formally. I swing back and forth on this thought often. I wonder how necessary this is, given that the common advice I receive on education is, the job experience you have trumps education. In other words once you have like ~5 YOE your degree no longer matters. With my background, is it still worthwhile to formally complete the CS degree?
There are likely smaller consulting firms in your area, other than Robert Half, that would be looking for resources. I'd make another run at Robert Half and look at the other firms in the area. In any decent sized city, they exist. As a quieter person who doesn't like putting in the effort to maintain a network, you really need someone that'll do that for you. I don't see introversion/quietness as a job obstacle but it can slow down finding work as an independent consultant.
As for the degree, I wouldn't say that it necessarily has to be a CS degree. But many hiring managers see someone in their 30s who goes back to school and gets a degree as particularly motivated and committed. It opens doors, maybe not everywhere, but more places than you are finding currently. It could be accounting, finance, software engineering, etc. just not a non-applicable degree such as Medieval English Literature. I was in my mid-30s and already a manager before I got my MBA. Why did I do it? Because of a conversation with my boss's boss (yes, we did skip levels even in the 80s, although they were often on the golf course or at the bar) who told me that the lack of a graduate degree would hold back my advancement, not because I didn't already have the knowledge but because I didn't have the credential. Not necessarily "fair" but that's the real world.
Interviewing takes practice. Some recruiting firms offer coaching on interviewing. Many interviewers are simply bad interviewers, trying to hit you with gotcha questions, put you on the defensive, show how smart they are, etc. Personally, I've never been a big fan of any of the behavioral approaches to interviewing. I've had numerous HR managers tell me how effective they are to screen out "bad" candidates. I don't see interviews that intentionally make the candidate uncomfortable as productive. Some hiring managers do. And sadly, one of your obstacles is that far too many companies/interviewers are searching for explicit knowledge instead of talent. That's one of the reasons job ads are so dense with acronyms. I did ask technical questions and did have candidates interviewed by senior technical staff. And I didn't hire anyone that the technical team labeled as unlikely to LEARN (not know) our environment/business.
I interviewed with Microsoft Consulting in the late 90s, when I was a bit older than you, and it was a brutal all day affair with 8-9 different interviewers. Some parts were deeply technical and I did less well, e.g., a deep dive into the MS server security model. Still at the end of the day they made an offer and ultimately I turned it down (how smart was that). I was married, had a house, etc. and the lifestyle changes, e.g., spending the first year living in a hotel in a very small city, just weren't palatable to me.
I've also interviewed with Amazon, in my mid-50s, and it was a totally different experience. Numerous phone interviews, as well as an online test prior to the onsite. A lot of the questions involved thinking through scenarios and how one should approach them. Far less focus on deep technical issues although there was some. It was actually a fun experience but ultimately didn't lead to an offer. It may have but when the hiring manager walked me through the structure of a deal, e.g., the signing bonus and it's vesting schedule, starting salary (much less than I was making), the work expectations, coupled with my prior research into the attrition rate of people in similar roles, it wasn't a smart move for someone in their 50s. Seattle isn't cheap.
The upshot of all of this is that the FAANG environment isn't for everyone for a variety of reasons. There are folks on this board that are/or have carved out successful and satisfying careers in the Big Tech world. Others, such as myself, did very well in the commercial world, e.g., banking, finance, etc. In the commerc...
You need to establish some normalcy.
- 4 year Bachelor's degree in Fine arts (digital media concentration)*
- Male, age 39
- from 2008-14 my jobs came from Craigslist. Call it a habit from applying to PT jobs in college. I moved onto LinkedIn and other more "real" career boards in 2015 and the job search got much tougher
- I would count at least 2000 applications from 2015 onward. No offers came from applying on LinkedIn etc. Instead they were all from word of mouth from a local tech group that I am a part of. All of them part time, and temp contract jobs
- At least 1000 applications from 2020-present, interviewed at around 20 companies. Most with LinkedIn Easy Apply. A few interviews from direct emails from some manager/sourcer that came across my resume.
- I took an application break to cut back on burnout. The last 6 months are almost application-free
- Nearly all jobs applied are for software engineering. 95% are mid-level or lower rest are senior-level (just to feel things out). I might get as far as 3 rounds with a few interviews.
* Actual time it took to finish the degree was 6 years because I changed majors prior. At year 5 I was in my final year in Art, and I also had a growing interest in comp. sci, but I had to make a tough choice. Graduate at >5 years with the BA degree, or double major BS in CS with Art graduating in >8 years. I thought it would look awful to stay in college that long (plus my debt really started growing at that time) so I cut my losses short and graduated with just the BA.
This stands out as the most likely reason you are not finding any interest. 10 years of experience and not being senior is a massive red flag. While it may not be true, the signal that sends is that you're uninterested in or incapable of growth. You need to do something to combat that perception. I would recommend either:
1. Applying to senior positions only 2. Hiding your years of experience during the interview process
> I would count at least 2000 applications from 2015 onward
This should tell you that your resume is not interest, consider finding and paying someone specializing in tech resumes to polish yours.
If you're sufficiently dedicated, a much more extreme option is to move to the bay area and start socializing. Show up to a few regular meetups and charm the right people and it you can get referrals to a dozen tech companies.
My bonafides: I’m a college drop-out with a background in mathematics who went from teaching and having almost no coding experience to working at a big tech company in SV in ~3 years. The result is not typical, but I’ve seen it repeated enough to know that I’m not just a fluke. I recently saw another college drop-out make the jump in 18 months.
I befriended a software engineer enough to get a basic idea of what was needed to break into the industry. I needed to learn web development and be able to deploy apps that worked and were well tested. I also needed to pass whiteboard tests.
I started with “eloquent javascript” and learned how to write JS and use the DOM. I then taught myself React, express, and just enough SQL to write things to postgres, and set up a super simple app. I then deployed the app to heroku. After deploying to heroku, I learned to redeploy it to AWS. I added on various features that felt “production-y” like OAuth with Google to show I could write business code.
While I was working on this project I read “cracking the coding interview” and began doing what we now call leetcodes. I also accompanied my leetcodes with Skienna’s “Algorithm design manual” for when I got out of my algorithmic depth. I was also reading hacker news which was very useful in filling out “unknown unknowns” like the dangers of having too many dependencies etc. The site also pointed me to some inspiring characters like Rich Hickey from whom I derived much of my early engineering philosophies.
A note here: Because of my math background, algorithms were easier for me than they will be for most people. I had been taking graduate courses in mathematics when I dropped out (long story) and nothing I’ve encountered in CS has been mathematically difficult by comparison.
After 6 months of prepping like this, hundreds of applications, and doing a lot of networking in the bay area was enough to get a 1099 contracting gig. I kept studying very hard during my time contracting. I read multiple books on design to make up for my lackluster CS skills, “Don’t make me think”, “Cadence and slang” “About Face” all come to mind. The sensibilities from those books gave me a lot of rope with the team as I learned to not write terrible code a lot of the basics of development (command line tools, how to write a PR, etc.)
I also continued to study CS. I worked my way through CLRS (“Algorithms”), “Operating Systems: Three Easy Pieces”, “Engineering a Compiler”, and “Networking, a top down approach”. I did most of the problems in these books as well as projects meant to be paired with them (either from the book or from university sites I could find). This took me roughly 2 years on top of my job, which I converted to full time from contract. I then went back to job prepping, practicing leetcode every day. After 3 months I started interviewing and got multiple offers. I’ve been at big companies ever since.
In retrospect, I probably over-prepared for the jump and could have made it faster. The bar for a software engineer at a large company was a lot lower than I imagined. I’ve continued to study through other textbooks, I’d say it’s made me stronger than most of my peers who took classes that may have targeted only a few chapters.
I’d say if you can be disciplined enough to study in this way I imagine you could get better paying tech job as well. Best of luck.
The key point is to do the hard work in all dimensions i.e. studies (preferably in a low-cost Community College to get a degree), preparing for interviews, job networking etc.
PHP and Ruby cannot be your only skills at this stage of your career.
The bar for US-based web developers these days is usually full-stack; lower than that and your competition are offshore developers. We're usually looking for skills in JavaScript, CSS, debugging inside the browser, NPM, SQL in a couple different flavors, basic network troubleshooting (know your way around confirming DNS is working, SSH key exchange debugging, pull and interpret the basics of a TCP dump), SSL certificate management (know how to create a CSR to installing a certificate in a trust store, manipulate a trust store, pull a cert from a server, renew a cert), working in two out of the top three cloud vendors enough to create your own free tier tiny homelab, CI/CD (Git/GitHub, Jenkins, CircleCI), Jira, and containers. This is for a Linux-oriented stack. Decide whether you want to go towards a Linux-oriented skills portfolio or Microsoft-oriented one, trying to tackle both in your situation will quickly lead to frustration, leave it for later when you're established if you really want to pick up both.
One out of many possible "self-taught" version plan of the "usual route for a CS student" for your current situation is to volunteer in your gigs going forward to help anytime there is any crisis or blocker outside your competence area, outside of billable hours. Promise you won't ask questions, only offer remedies to try if you know of any. Start by offering to take on-call duty off the clock as the go to for applications you develop for the operations team to turn to for X months, for as long as you hold a gig there. This will keenly develop your sense of where your application fits into the overall infrastructure, and how to defensively code against false positive alerts that your application "failed"/"hung"/"crashed". When you get to a point that you don't get calls for months at a time, then broaden your offer to help out issues only indirectly related to your application(s), also off the clock.
Actively listen into the conversations about the issues. At first, this means furious Googling of terms you don't understand, more furious Googling of a seemingly straight vertical wall of seemingly impenetrable technologies, and challenging yourself to understand every character of every command and operation you see spill across the screen. Every flag argument, every value of each flag argument, every command, etc. Challenge yourself to understand the interrelationships between the technologies. Offer to record the session for attaching to the issue ticket, and if transcription is available, enable it. Review the recordings over and over until you understand what you are seeing, or until the next problem comes along, whichever comes first.
Then challenge yourself to understand why someone typed a command when they did, what information they were trying to gather, who they needed help from, how they knew they needed that command at that time. Then challenge yourself to work this all out as it is all going in real time. Then challenge yourself in real incidents to pre-anticipate what the lead troubleshooting engineer is doing before they do it.
When you get to the point you're correctly anticipating >80% of the time what they're going to do before they do it, start offering your own suggestions of what to try at the rate of once per session. Feel your way towards increasing the number of suggestions of what to try before it is done. Simultaneously, broaden your understanding of the technologies by implementing them yourself on your own in your own cloud account.
When you start being consistently asked what you think during these troubleshooting sessions, start to volunteer to actually fix the problems as they come up. When you start consistently solving these problems, switch your time spent on them to billable hours if you haven't already.<...
* No academic or employment history that communicates significant expertise in software development.
* Scattershot and stale work experience that looks bad. At best it looks like you’re not serious about your career. At worst it looks like you have a problem keeping a job.
* Little or no professional network, probably the most important resource when looking for work.
On top of that applying to hundreds of jobs online is the least efficient way to find a job.
To fix these problems you need to reset.
1. Study modern web development (or whatever you want to do) so you can get through interviews and actually do the work when an opportunity comes your way. You can find plenty of free resources online, you just have to put the effort in. For web development that means, at minimum, knowing HTML, CSS, Javascript, a back-end language like PHP or C#, relational databases such as MySQL or PostgreSQL. You should understand HTTP, SSL, DNS, and cloud services reasonably well. I have done WordPress work for $150/hr, and there’s plenty of that work available.
2. Find a small or medium size company that doesn’t have its own IT/development staff. That includes many companies, you will have to ask around. If I were in your situation I would look for companies in my area that are advertising for developers and contact the hiring manager directly, even going to the office in person. Show some initiative. When someone does take a chance on you bust your ass to solve business problems and deliver value. The best way to learn programming is on the job, but you need to add value, not just treat the job as a training opportunity or stepping stone.
3. Socialize with colleagues and people you know and meet who have jobs and run businesses. Not just other programmers — you can get job leads from people who work in management, marketing, sales, finance, etc. Marketing departments often have good budgets and outsource web work because the IT staff doesn’t have the skill or bandwidth, so cast a wider net for professional contacts.
I have some articles on my site typicalprogrammer.com you might find useful (free, no ads).
Good luck.
Incredibly I never went out of my way to do everything as wrong as possible. It just kind of happened without thinking about what is really bad, for the first couple years of my career. I would have assumed that to have so many red flags you'd have to actively work to get them, but here we are.
I've been following point 1 by making side projects that make more use of modern web development. Have some on Github and one on Heroku as well. What is unclear to me is which kinds of topics are usually taught in on-boarding and which are left to the candidate to learn for themselves. I don't have experience with mentoring or on-boarding situations which is why I ask.
As for the next point, I am trying to avoid companies with no IT staff as I've heard many times that they are not well suited to grow your career in tech. I also know from experience, been there, done that, hasn't worked for me, so it's time to move away from them. They are more "cost center" than "profit center" jobs and am following different advice to choose companies where software is at the core of their business.
I'll see what I can do with socializing with others for professional talk. The only people I speak with face to face are the places I grab a bite or coffee, etc. and typically otherwise just converse and chat with people in tech focused communities like this one.
I wouldn't expect to get taught anything during onboarding. The days of companies hiring juniors and trainees and mentoring them and building their skills seem long-gone. Now companies only want to hire people who exactly match their specs and can start contributing (or appearing to contribute) from the first day.
The vast majority of programming jobs are with companies that don't produce software as their main product, so focusing only on software companies severely limits your options. Those jobs are the most likely to demand solid experience and demonstrated expertise. I prefer companies that make a profit and depend on technology but aren't in the technology business: logistics, law, finance, retail, education, etc. You will get a wider exposure to different languages and tools in that world, and more focus on business problems as opposed to technical problems. Software companies are often not profitable and volatile, and very focused around a small number of languages and tools. I've been there and done that too and got tired of the "pivots" and "runways" and layoffs. The companies that do make money in the software business have their choice of top experienced people so they're harder to get into.
Try talking to a stranger every day, just something casual to start a conversation. I have done that for years and have met some great people that way, and got leads on freelance opportunities. People you know are always the best source of job leads.
FAANG is a nice goal to have, I don't want to dissuade you from trying, just keep in mind many many people want to be there and there isn't room for everyone. There's plenty of good jobs outside of FAANG.
Another thing that can really help is having a thing that separates you from the crowd - a good Github profile, a good technical blog or even a good Stackoverflow profile (it actually helped me get an offer as the manager was impressed I had a nice Stackoverflow score).