Ask HN: Graduating CS soon, how do I find a job?

119 points by throwawayjobs ↗ HN
Like the title says I am graduating with a CS degree soon. As I am in my final year, I am getting a bit worried that my resume is kind of uninteresting.

I've applied at probably 3-4 dozen places through my school's job board over the past month and have received zero responses. These are applications for entry level and internship positions. I'm worried my resume just doesn't standout. I only have a couple projects under my belt and no other professional experience.

How can I stand out to recruiters and employers? What can I do to improve my resume? I've worked with many different technologies but I'm afraid because I haven't bothered to work on mastering any of them that an employer wouldn't wanna take the risk on me being able to learn their stack.

140 comments

[ 4.8 ms ] story [ 158 ms ] thread
Have you been applying to "new grad"/"junior SWE"/"SWE engineer I" jobs from other places like LinkedIn and Glassdoor?

Also, if you graduate in the fall (or before), there's no reason to be applying for internship roles.

It might help to have links to working demos for projects listed on your resume.

In my experience, resumes/online applications don't work on their own. Normally I would say lean on your network, but as a new graduate you probably don't have much of one yet (which is fine and normal). Still, the key is to get the ear of a real human being at a given company.

When I was graduating, basically all of my leads came from job fairs. Does your school host those? Does a nearby school host them?

Other ideas:

- Alumni networks

- Professors with industry connections

- Friends from school who interned with companies during previous summers

- Friends from school who graduated last year and have found jobs at companies

- Even extended family members might have a useful connection

To reiterate: automated application portals are notorious for rejecting large swaths of qualified candidates. The only way to get past them is a human being, even one you don't know all that well is fine. I've gotten my foot in doors via friends-of-friends that I've only met once.

Best of luck. I'm sure you'll find a job eventually, there are lots of them out there!

At the interview try to act as left leaning and Politically Correct as possible. If you need a summary of what the current hive mind thinks, you can search issues that will have importance. If you have a basic mastery of CS core curriculum like data types and basic algorithms, then the behavioral part will be very important.
It's too late, but lot of CS students do 1-2 internships, and often get a full time offer from one of these 2 offers if done 12-18 months ahead of graduation.
I'm sorry to hear you're feeling discouraged. Jobhunting in software is a roller coaster. The standard advice is to apply to many companies, read Cracking the Code Interview and practice Leetcode, ask any more senior devs or your profs to do mock interviews. If you're having trouble getting that first callback, I think the commonality is you're only going through the school job board - that might not be working, try directly applying.

If you'd like to post your email (a throwaway is fine) I'll email and review your resume, I'm ~10 years into my dev career.

Unfortunately you are going about your question the wrong way.

Outside of what pg5 user already mentioned, there is probably only 1 more thing you can do.

Employers want problem solvers and people with skills. You may not be able to offer that just yet.

So, you need to instead demonstrate you are worthy of investment. That you are hungry to learn.

That is generally not a quality or a byline on a resume.

Being worthy of investment is to be demonstrated. Think about that.

Its all about behaviors, not skills: Open source contributions, going the extra mile, hustle, and grit.

For a small software company or startup application, a cover letter with something personalised to that company would stand out. I’m thinking spend 15 minutes in the dev console, spot something that can be improved or optimised or maybe a security issue, or maybe something elegant the site does or just list their tech stack, then mention it in a constructive way and that’s show a lot of initiative plus the kind of skills you’d need. If it doesn’t work the bonus is you’d learn something in that time and every thing practical you learn becomes an interview question you can answer well down the line.
Why is it simultaneously so hard to hire software engineers and so hard for new ones to find a job?
It behooves a company to miss at least twenty good candidates if it means avoiding hiring one bad one. A bad hire can utterly destroy a company. See the fiasco with Timnit Gebru.
> A bad hire can utterly destroy a company. See the fiasco with Timnit Gebru.

As far as I can tell... Google is still around?

in the US, employment is at will. when you hire a problem, at the 90 day point you should see that it is a problem.

take action, give 2 weeks severance, move on. both sides.

now, someone that turns into a problem after 5 years, that's on you. they weren't bad when you hired them, you made them that way.

Nobody wants to invest anything in "human capital" anymore.

The senior developers are busy making deadlines for products that should have been delivered moths ago, so they and their managers can't really afford "knowledge transfer".

A young employee is far more likely to fail in this kind of enviroment than someone with some experience.

I got my foot in the door by applying to an unpaid position and lying about my knowledge. They were looking for experience in a particular framework and I then learned the basics of it over the weekend.

> Nobody wants to invest anything in "human capital" anymore.

I can understand the resistance to do this given that juniors are demanding well over six figures and the widespread recommendation to skip town every two years. Paying $400,000 to spend a year eating up a senior engineer's mentorship time and then getting a year of work taking tickets off the wall is not a great trade. I don't know how to square this circle.

Not every job is in Silicon Valley.

Where I live, you can get 15 motivated and capable CS graduates for that kind of money.

For a rough anecdote, what I've heard consistent from my network is that the current job market is wildly different depending on experience level.

From what I've heard and seen, anyone hiring a junior engineer is getting overwhelmed with applicants the moment they advertise it. Going up in experience level, the same places that are overwhelmed with junior engineers are begging for senior and principal engineers and are leaving these positions unfilled due to a lack of applicants.

Agreed. It's hard to hire senior people with experience in anything much. I strongly suspect that our industry has a self-inflicted injury where we make developers - even people who are meant to be doing deep algorithmic stuff - do web stuff and devops and 80 other ancillary things - then we jump up and down because we can't find people with experience at higher level things.

Even at a very senior level, I've been asked to do some ridiculously sysadmin-ish stuff that I'm not good at, and I've seen more junior people loaded up with web/testing/devops/admin work to the point that the majority of their time is no longer being spent on what is ostensibly their job.

Isn’t much of the job/industry “web stuff” though?
I shouldn't have made it sound like I was sneering at "web stuff" - just that people I work with who are meant to be doing other things have been regularly dragged into fairly menial "web stuff" (i.e. they're not specialists at that, and they're meant to be spending their time on other things). If you are doing a bunch of random firefighting then you don't get good at what your chosen specialty is (it would be similar to having a bunch of web specialists and making them do sysadmin chores half the time).
It's only hard to hire experienced developers. You can hire new grads easily if you are paying remotely competitive salaries.
Everyone is hiring for senior positions. Everyone graduating is not a senior.
Oh boy, welcome to the grind

The most effective way to get a foot in the door, and the thing I wish I did when I was in college was go to all those different career fairs that your college likely hosts.

Talk to the different representatives of each company, tell them what you like, what you're interested in and _ask them questions_. What interests you about their company? If you seem excited about it, they are more likely to be excited about you.

If you have any kind of CS Alumni group, talk to them. Network. It is 1000x easier to get a job knowing someone already at the company vs applying blindly.

Some bigger tech companies FAANG, S&P500, etc have recent grad positions and programs. Those are like rocketships to get you ahead at the company. They might sound too junior, but in practice, you will be working with a different team every 6 months, making connections, and working on tons of different real world problems you can add to your resume. At the end of it, typically you get to pick which team you liked the best, and if they like you back, that relationship is worth its weight in gold for things like promotions etc.

If none of that is on the table then first step is to create a LinkedIn. List all your skills that you know, even if you dont feel that you know them the best.

Have any side projects? Anything you can show in Github? List that as well. No recruiter will look at this, but it will still make you look good.

Lastly, and what I had to do, was literally sit in a cafe, your bedroom, wherever you are, and just apply to every vaguely relevant job that pops up in the area you want to work.

When I graduated I didn't live in a major tech city, so I very literally applied to every jog that popped up with my skill-set (in my case iOS). I swear I applied to over 500 positions. Got maybe 8 interviews. Made it to the finals in 5 and took one job.

If you end up doing this, work smarter, not harder. Make a generic cover letter, and add a paragraph you can change to look specific to that company. Leave the rest the same.

You'll see the same 5-6 job application software tools pop up when applying to different companies. Make a text file that has the info they ask for and just copy and paste. Writing it out each time is exhausting, and soul crushing.

It's normal for it to take a while to get your first job. It doesnt feel great, but we've all been there, and there's nothing wrong with you if it doesnt happen right away. You will get there, I promise.

> Talk to the different representatives of each company, tell them what you like, what you're interested in and _ask them questions_. What interests you about their company? If you seem excited about it, they are more likely to be excited about you.

Agreed, hiring is largely arbitrary when you're fresh out of school so if you can get someone on your side, they can go to bat for you when the decisions are being made. And if you have the opportunity to talk to the CTO or another big shot, make sure to take it. They can literally hire you with a word, bypassing or overriding any process the company may have in place.

If you can, do a coop term or internship while still in school, invaluable.
School job boards are notoriously bad. Schools like to advertise the value of their networks, but the value is usually overstated and only in specific channels.

Job fairs are usually the best way to be recruited through your school. Companies have to commit resources to attending job fairs, so they have an incentive to actually hire some of the people they talk to.

New grad resumes are basically all the same with few exceptions. Companies have little ability to screen new grads without actually interacting with them (e.g. interviews, phone screens, take-home tests). Your best bets are referrals, which will fast-track you into the hiring process. Referrals can be through distant connections, so don't be afraid to ask acquaintances.

Otherwise, you can try applying to companies directly. There are more opportunities than your school's job board, and even if they are the same companies, they probably pay more attention to their own application channels than the various crappy school job boards they forgot they posted to.

Agree on the jobs board, disagree on the network.

The network consists of the actual alumni of the school, not the career counselor who probably didn't go there. Get a LinkedIn premium subscription and go ask people who attended your school to put your resume in the referrals pile. Just random alumni.

Many will do it. I have done it for people. Many have done it for me. Random people, because you share a school, will refer you.

Be careful about applying for internships. Many of them stipulate that the intern must be a current student for the entire length of the internship and they are not for recent graduates. These internships are explicitly a hiring funnel to try and get the brightest students to commit early to the company where they had their internship. If you're going to have already graduated by the time the internship would happen, it simply isn't relevant to you in most companies.

Cram leetcode (aka interview skills) and keep applying to large companies through their websites. Your university's job board will help mostly with finding local companies near the university, but they are not the sum total of your opportunities, not by far. Furthermore, companies that post on university job boards get flooded with applications from that school, so they'll stick with the school's cream of the crop. Start with FAANG and then work your way down the Fortune 500. Small companies / startups need people with established track records because they need to produce results quickly; large companies have built the internal processes over time that protect the company from the inexperience of junior engineers and will therefore prefer to hire junior engineers in order to save money.

The industry is in dire need of labor so it shouldn't really matter what you put on your resume, as long as you put down that you have a CS degree and you're applying for junior engineering positions at large-enough companies, quite frankly that should be enough to at least get you a phone call for initial HR screening. If you're not progressing to other interviews or offers, that's a different question, and barring any personality complications that could come up ("interview skills") it probably goes back to you needing to cram leetcode ("technical skills").

If your resume isn't getting you phone calls, find someone in your career center and ask them to help you with your résumé. You don't need it to stand out - not in this jobs climate. You just need to make sure you're not making stupid mistakes with it.

First of all its not about standing out. In the vast majority of orgs, no one experienced expects some one fresh out of college to be a MASTER at anything. Most of them arent masters of anything either.

So dont worry about that.

Worry about location. If you AND all your friends in town arent getting responses - move. If you are sitting in the boondocks move closer to larger cities. Best case would be to move to the most buzzing active cities where you have friends who have access to school job boards and/or have landed jobs/know the process enough to help.

I spent 6 months in a smaller town getting no calls. Moved to NYC and the whole story changed. This ofcourse was because I had friends going to multiple schools there. Thanks to which I would keep getting info on which company was on campus, which team within the company, what they were looking for, what type ot questions etc. So even if I missed them on campus I would apply via the site knowing which positions to target.

Also keep brushing up every single day on a list of fundamentals, known interview questions etc. Dont let the activity over time rot the brain away. So when a call does come certains basics are on your finger tips.

Moving now probably doesn’t make that much sense. Everyone is still remote, and interviewing remotely. Just tell the recruiter you’d be willing to move anywhere they want you to.
There's a definite bias against people who are outside of a company's area. It might just be that they look at and hire from the local candidate pool first, or it might be something else.

If you live in the middle of nowhere it is very hard to get a job.

Per a (now very old) HN thread there also seems to be a bias against rural candidates.

True, but I think you can use this bias to your advantage in some ways in the remote world. On a resume what catches your eye first, the name/locations of the HQs of prior employers? Or home address of candidate? The former is much more striking to me personally. If I've seen someone has ever worked in my city, I mentally frame them local even if I later see their address is remote.

Point being, if you can break into the market and rack up a bit of experience, you get that some of that local bias for yourself.

Just remove any location information from your resume. Mine has none. No address, no office locations. All sorts of recruiters have called, assuming that I live in SFO or Seattle.
I don't agree. Not me personally, but company policy strongly prefers local candidates that can come to the office every day. Well, some day at least, for the last 1.5 years nobody has been required to do so. So when I read an application with no mentioning of location or somewhat convincing willingness to relocate that's automatically a no go. Well, in case of an exceptional applicant we would ask. But exceptional candidates are ahem... exceptional. The question was about normal mortals just having graduated.
Name, email, and a local number procured through Skype or Google Voice is the way to go.
Summary: It's now what you know that gets you the job. It's who knows you.
(comment deleted)
It's difficult to stand out without internship experience.

Are any of your projects visible on the web? The best projects are ones where I as a reviewer can click a link and start instantly interacting with your software. Projects like this are directly responsible for at least 3 people I know who graduated last year getting their jobs (based on feedback from interviewers who reviewed their resumes, they did not have referrals).

It's hard to critique your resume without seeing it but in general:

- Your resume should be submitted as a .pdf file, nothing else is acceptable

- Your resume should contain your name and contact info as well as links to github/linked in at the top

- Your resume should contain a skills section with a list of technologies you know, this will get you past keyword filters

- Your experience section should be broken up by project, and each project should have bullet points outlining the task you accomplished and any technologies you used to to accomplish it.

I would say that another aspect of best project is one with traction.

Even 100-1000 monthly active users is impressive.

If your site/app is free, this is highly achievable.

Agreed, but for most students "working and available software I wrote" is a less stressful and more achievable goal to set themselves :)
> Your resume should be submitted as a .pdf file, nothing else is acceptable

Given how I have seen that pdf-to-text ATS systems sometimes generate a completely blank set of text out of a text-rich pdf, no. A docx is perfectly acceptable.

try to do an internship over the summer and transition to a full time job. Internships can get your foot in the door and can let you put down roots somewhere which otherwise wouldn't accept you full time.

If it doesn't work out, continue doing temp internships till you get a job. You should be able to survive on an intern salary when you are young.

I do technical interviews for my current company. Without internship experience, it's difficult for me to assess your technical prowess. I don't do algorithmic questions. My advice is fill the lack of internship experience with a few open source contributions to real projects. It'll put you through the motions of collaboration, architectural decisions, trade-offs, etc. Then you'll be able to talk shop.

An addendum: hiring isn't a meritocracy, even in engineering. Make your interviewer(s) feel good. Be conversational.

Get a LinkedIn premium subscription and ask alumni of your school for referrals. Just random alumni.

I was given this advice and thought it was brazen and aggressive and that nobody would do it. I didn't after graduation. I was wrong and when I tried it later, it worked. And I ended up doing it for others who messaged me.

Apply though the back door for VIPs. Plenty of people are happy to put you in. Random people on Hacker News have referred me. Random people from whoishiring threads have been willing to ensure I got an interview.

This works and demonstrates two desirable traits: confidence or courage to overcome apprehension and a growth mindset willing to work at actively searching for work. I prefer to hear directly from new grads than recruiters any day of the week.
The other thing people fear is being one of many and being a bother. As long as you target low enough of an alum, they are almost certainly not swamped.
This is good advice. I had a first year CS student at my alma matter randomly reach out to me for general guidance on LinkedIn. Two years later we have a rich mentor/mentee relationship.

Related... Mayuko is a software engineer who has worked at Intuit, Patreon, and Netflix. She now makes YouTube videos full time, many of them focused on bootstrapping a career in tech. Her latest video is about increasing the likelihood of getting engagement when doing exactly the kind of thing the parent suggests. https://youtu.be/SJ3cXmRX7mM

One reason why this works so well is that there is often a monetary incentive on the referrer's side, in that they get paid some referral bonus if you get hired
> Get a LinkedIn premium subscription

How does this help with asking alumni of your school for referrals? Can't you do that with a regular account?

It allows you to bypass (some?) restrictions on who you can message.

Without it, I think you need at least to have a mutual connection. (Which wouldn't be that hard to achieve with fellow alumni.)

> ...ask alumni of your school for referrals. Just random alumni.

When candidates do this to me I am happy to refer them after I personally screen their resume and I converse with them a little (written or verbal).

I don't refer someone unless I think it's worth my company spending money evaluating them.

I dislike the pushy candidates who believe this approach is a no-effort side door.

Bigger, name brand tech companies have way more applicants than they can accept so they have a crude recruiter funnel that is tossing out resumes for any reason they can find. They're literally trying to turn thousands of resumes from hundreds of schools into curated packets of dozens of candidates. But recruiters don't know a thing about software engineering. At best they can keyword match a few buzzwords they got from some VP of engineering who hasn't actually coded anything in 20 years (if ever). If you don't have the right 3-4 signals (school and program prestige, internship number and prestige, GPA) it's in the bin you go. The actual front line hiring managers won't even see your resume.

Try applying to smaller companies. Smaller companies aren't going to land the candidate from a top 10 school who already interned at multiple Fortune 500 companies. But small shops need to hire talent too. They're digging deeper and they have to read the resumes more closely. There isn't much of an HR department, and the hiring manager might be sifting through the raw resumes themselves.

If you still want to land a big company job, you're going to need to bypass the HR filter by finding a direct line to the hiring managers. Maybe you have some friends or alumni you've met who are at the company and can refer you directly to a team. You can meet these people at networking events, recruiting fairs, or other social activities. Creativity, determination, and luck play a big factor.

> Try applying to smaller companies. Smaller companies aren't going to land the candidate from a top 10 school who already interned at multiple Fortune 500 companies. But small shops need to hire talent too. They're digging deeper and they have to read the resumes more closely. There isn't much of an HR department, and the hiring manager might be sifting through the raw resumes themselves.

This describes my situation when I'm hiring entry-level developers: I, the hiring manager, am reading each application that comes in. However, I think this is probably more true for smaller companies that are not venture-backed; venture-backed companies probably have enough funding to hire senior developers (and are probably more rushed to do so).

For the OP: I'm not hiring developers at the moment, but if you'd like to send me your resume (you can reach me through my profile), I can offer some feedback.

The offer you handed out was not for me but is it okay if I send you my resumé as well? I am in the same boat as OP except it’s been a month since I graduated.
Sure, no problem. I actually would not be able to distinguish between you two, since the OP used a throwaway handle.
As a note: With recent spike in salaries, many venture backed companies don't have the cash to pay the salaries of good seniors. Spoken with a dozen founders in SF facing this problem over the past two months.
This doesn’t seem possible. Startups are raising Series A rounds of 15-20 million routinely. A quarter of that would cover a reasonable number of senior engineers for a year or two.

But just in case it is possible…

Maybe they should try offering meaningful stock packages, rather than 0.1% and less?

Meaningful as in 0.5 to 1% for a senior engineer, 4-6% for a manager, until salary improves.

Also, try offering stock with no vesting cliff. It’s not smart to trade salary for stock when you might leave before the cliff through no fault of your own. So smart candidates often round the value of stock to $0, especially before the cliff.

You shouldn’t be giving managers 6-8x what you offer senior engineers at a startup, at least not in a startup where engineering matters.

If smart candidates are rounding the grant value down to zero, smart companies will not seek to give grants that are multiples of the current size. (That’s giving away $100 bills to someone who values them at less than your cost.)

When you’ve raised a $20M round and have an employee pool that is 10-20% in total, you don’t have many 1% grants to give…and you have exactly zero 6% grants to give.

> When you’ve raised a $20M round and have an employee pool that is 10-20% in total, you don’t have many 1% grants to give…and you have exactly zero 6% grants to give.

This is true, but the percentages illustrate how silly many investors are being about the resources necessary to put together a good engineering team.

I've had offers from startups with well known VC backers who wanted me specifically. They'd tell me their upper bound on cash, and then assuming I thought they had a decent chance, I'd calculate how much stock I'd need to make for the expected value for working for them to be at least as good as at a big tech company. Generally the calculation came out to 4-6% of the company per year.

That number could be lowered if I had access to the cap table or were being issued some kind of preferred stock, but no one's willing to do those things either.

Cash is cheap and labor is expensive but investors still want a way better deal than any engineer could dream of.

This is why I left Silicon Valley and founded my last company FAR, FAR from it. Silicon Valley is 100% OVER. It's jumped the shark. It's overdone and needs a fork stuck into it.

I sold the company 3 years ago. My latest company is doing so much better than it could ever be possible if in Silicon Valley in terms of "R&D budget/Investor capital".

It means we'll attain things that Silicon Valley startups with exactly that kind of personnel compensation requirements NEVER WILL.

Where u based now?
SF a good senior can run you 350k/year not including overhead, add on overhead and you can quickly be looking at costs of ~500k per senior per year.

Vesting cliff isn't the only problem with stocks either. Common stock holders can easily get screwed over when raising or during any liquidation event that isn't an IPO or direct listing. The disparity in treatment means as an engineer you need to value stock at 1/10th face value as a rule of thumb.

> Smaller companies aren't going to land the candidate from a top 10 school who already interned at multiple Fortune 500 companies

One thing I have worried about though is they might require someone who is more experienced. I have noticed there are not many small companies on my school's job board. Would you know of a place where I could find these?

Another commenter mentioned checking the website of VC firms for start-ups. I think I will give that a shot.

I appreciate all the help from everyone in the thread, I am reading all the comments.

> I have noticed there are not many small companies on my school's job board.

The few small to medium sized companies on your school's job board are actually great opportunities. Those companies don't have the resources to recruit many places so they might not even be looking at any other schools or programs. There is probably a very strong alumni connection to your school or program. They likely know exactly what they're getting with those new grads and wouldn't be recruiting there if they weren't comfortable with that.

> Would you know of a place where I could find these?

One problem with small companies is that they tend to not advertise their job openings everywhere. You can usually find different ones everywhere you look. The worse they are at advertising the job, the less competition you have and the more likely you resume will be considered. So it does pay to look beyond any one job board.

> One thing I have worried about though is they might require someone who is more experienced.

This varies company by company. Some companies founded by new grads or college drop outs exclusively hire new grads. Some big companies exclusively hire experienced engineers. And there's everything in between. If they have a job posting for entry level or new grads, go for it.

> They're literally trying to turn thousands of resumes from hundreds of schools into curated packets of dozens of candidates.

This would indicate that there is a severe oversupply of candidates eager to work in this industry.

Which may well be true, but conflicts with the narrative that there is a severe shortage of people.

> This would indicate that there is a severe oversupply of candidates eager to work in this industry.

Not the industry as a whole, but certainly there is an overabundance of people trying to land a job at very specific companies (FAANG, and a handful of others).

There would be an industry oversupply if this situation were widespread, but it isn't. The industry has a shortage, certain famous companies are the exception rather than the rule.

There is an oversupply of candidates, as evidenced by the fact that engineers have very little bargaining power about the terms of employment with any particular company. The negotiation for 90% of engineers is very one sided.
And then how does that compare with other jobs? That possibly can be said for negotiation for 90% employees in any field too.
> Which may well be true, but conflicts with the narrative that there is a severe shortage of people.

It might seem this way, because the narrative is almost intentionally simplified to the point of being vague enough to support almost any narrative.

Shortage is real, but what often is omitted is the fact that it is the shortage at the senior level. At the entry level, shortage isn't really a thing. It isn't an insane oversupply either, unless we are talking the few popular FAANGs, but it isn't a shortage at the entry level.

> Shortage is real, but what often is omitted is the fact that it is the shortage at the senior level.

There's more possibility of shortage at the senior level and in more specialized areas.

Still, I'm not entirely sure how real it might be. Depends how it is measured. I'm in very senior and somewhat specialized roles, so that's my perspective. I see lots of companies opening reqs in my area and never filling them. The same job posting will stay open for years, sometimes.

Now, is that a shortage? Obviously they are continuing to do business just fine for years even without filling that position. Presumably they are interviewing tons of people and never hiring anyone, because they don't really feel any pressure to fill the position (otherwise, they would).

So it's worth considering, does that opening even really exist? Technically it's posted, they might be interviewing, but if nobody is ever good enough to hire and they continue to operate without ever hiring anyone... it feels more like a phantom req. Should such phantom reqs even be counted towards stats of companies trying to hire?

I 100% agree with you.

Just a generalist qualified senior engineer alone is something that is in shortage. If you dive into senior specializations, the shortage is even stronger.

My point was that the media and people tend to forget about the whole senior/entry distinction when it comes to shortages, and loudly proclaim "there is a shortage in tech" without specifying at which level, and then get a ton of entry level fresh grads yelling at them "no, there is no shortage, we struggle to get jobs".

>Should such phantom reqs even be counted towards stats of companies trying to hire?

If they are genuinely trying to hire someone for that position, but just have been unsuccessful to find a qualified candidate, then yeah, absolutely it should count. And I don't doubt they are trying to actually hire. Because why else would they spend tons of engineering time and money on interviewing people with zero intent to actually hire anyone.

Even where I work, we get tons of applications due to the company's high profile. And even when my team was desperate to hire a mid-senior level, we had to interview close to 50 people just to fill one position. It wasn't a competition for a single slot either, we were just looking for someone who was baseline qualified. If more than one emerged, we would have hired them all and just rerouted them to our sister teams who were looking to fill some positions as well, or to elsewhere in the company. But getting that one baseline competent person (we ain't talking about some 10x rockstar engineer type) was already a struggle.

> Because why else would they spend tons of engineering time and money on interviewing people with zero intent to actually hire anyone.

Not so much zero intent, but I see groups who keep job postings open for ages just perpetually holding out for that perfect unicorn that doesn't actually exist and can't exist (you know, the person who has 20 years experience in low-level kernel development but is also a UI design god and a full-time devops guru on the side; I exagerate but only slightly).

So technically they can claim shortage of experts, can't hire anyone. But meanwhile the team continues operating just fine for years even though this magical person can never be found.

So to those job postings, I consider them essentially fake. They just inflate the count of positions that can't be filled by a position that never will be filled.

There is definitely a shortage overall, but not at the top companies
candidates != qualified candidates

A shit ton of people apply to FAANG companies because of the money on the table despite having no professional experience as a software engineer nor writing any code.

It's about the price - there is a shortage of people willing to work for 5-figure.
Although some places do find talent hard to source, at any price (see Microsoft's Bing team who have _really_ struggled to hire enough people to compete with Google)
And they've tried 'any price' (even not taking it facetiously literally)? What makes it so unattractive?

The prospect of working on Bing or at Microsoft wouldn't exactly excite me perhaps, but it'd only have to be the best paying (by some non-trivial but not massive amount) offer. (Or everything else less exciting!)

Perhaps you mean search engine experts, not grad entry or 'at any price' in that sense, so the pool they're looking at only wants to work on the biggest most exciting one, which happens also to be willing to hire all of them?

I would say there's a shortage of skilled mid to senior level developers, but at the junior level, not so much. That's not to say even decent junior talent is easy to find though.

Keep in mind those large companies can be very desirable to work for - many people don't want to work for these smaller companies, including myself at a younger age, but in truth I think smaller companies can be better to work for depending on what kind of person you are.

It’s not that mid to senior people are rare, it’s the expectations get high enough most can’t stay in the field. Mid is generally generally viewed in term of years of experience not talent.

Someone that’s good but not great with 7+ years of experience is going to have a rough time as are any senior people that picked the wrong software stack.

It indicates an abundance of applications for sure. That doesn’t indicate an oversupply of applicants nor of qualified applicants. How many times have we read the advice to apply for hundreds of jobs and only apply to those that take little effort? I think there’s a lot of people out there applying to every long-shot job because the prize is large enough.
Almost all these people will get jobs at non-Faang companies.
Also of the "near zero information" value of resumes.

Tufte compared PowerPoint presentations to having the information density of Soviet-era propaganda posters (i.e. nearly zero).

You can validly claim similar comparisons with resumes!!

Also in a smaller company, chances are, that you need to touch a larger variety of the systems, as people are not in as specialized roles. At least in my experience. This is great for people starting out, because they will learn a lot on the job.
too bad a lot of smaller companies try to hire like they're big companies and hand out unrealistic assignments for the applicants
Google top venture capital firms and look at their portfolio companies. Find a few that are early (series a-c) to target. Pick ones that resonate with you.

Venture capital firms do tons of due diligence, and if you join early enough, when an exit happens it could be a big payday.

Write to them about why they resonate with you. Use LinkedIn to find out the right person to message. Your goal is to get into the interview pipeline.

Be eager. Enthusiasm counts for a lot. If you’re thoughtful and personable, foot in the door is all you need.

Cannot second this enough. I wonder why so many people want to go to FANGG where a well funded startup can be so much more exciting and little to no insecurity as an employee.
Because they don't want to get worked to death.
View it as a software engineering problem. You're there to learn from what responses you get (and early on it'll be a numbers game) and refine your approach. Then you can iterate based on how interviews go.

Any entry-level or graduate position is going to have to train you, good employers know and acknowledge this. Really there's always an element of learning how things are done when entering a new business.

Don't worry too much about job fit. Be broader than you might feel you need to be. Highlight relevant experience for individual jobs. If it's a python job, put your python projects first (for example).

Single page resume, no picture. Find an attractive template and use it.

You can use a section on technology interests to add more technology and express keenness for particular topics. Especially since you're soon to graduate.

Beyond all that, hiring is a high variance activity. There's a lot of randomness with how people review resumes and what will stick out for them. Don't get discouraged.

It depends on your country. If you are in India then do not worry. There is clearly more demand than supply for software developers. You have just got to apply in some promising startups, maybe try some platforms such as HackerEarth. I have seen that a good linkedin profile also helps.
It’s not the highest prestige or highest pay, but development agencies and advertising agencies usually are most starved for CS talent and most welcoming to considering and interviewing new graduates.
I actually got my first job out of college by responding to a posting on the monthly Who’s Hiring post here. The nature of HN is such that most of the posters are actual engineers and in many cases they put a direct contact method in the post. I was able to skip past the black hole that is company employment portals by emailing my resume to the lead engineer directly instead of getting screened out by a recruiter.
Apply to work for whatever school you have graduated from. You will easily stand out.