On hiring


Been having a few thoughts about the value prop in hiring new grads, in perspective of an engineering new grad who was fortunate enough to be hired in this market, as well as a person who have been on the other side of the equation (I recruited engineering members for a college org — HackSC). Given that it has been very much a senior-only market, getting a job as a new grad has never been harder. New grads have to kind of show that they’re worth it to the business of their company in a way.

Hiring as a constrained forecasting problem

New grad hires are major bets — bets that a company is willing to take on someone who had less than 1 year of experience can do the job (unless their schools have disproportionate coop programs that set them up for mid-level roles right after graduation e.g Waterloo). This is not to say more senior hires are not bets — they’re still bets because there’s no way to prophesize with a 100% accuracy how well any hire will do on the job based on their profile. As such, it’s worthwhile to understand that hiring, at its basis, is a forecasting problem — employer is given a candidate who has historical data points across M variables, presented by the M components of their profile e.g. work experience, education, side projects, etc…, and the goal is to predict future value add to the company, where this value add could be a certain N variables that represents marginal value to the employer e.g. revenue, profit, cost decrease, OKR meets, etc…

But we don’t live in a perfect world. Given this task of predicting N target variables from M historical variables, it’s trivial that we can always find the perfect hire, but the reality is that it’s not always possible. Employers have constraints. For example, does the business have enough runway to make payroll for both their new and existing hires? Can we get our job postings discovered by high quality candidates, or do we have to work with whatever discoverability we have? Is our offer attractive enough to the perfect hire, if one even exists? These questions are what makes hiring a constrained forecasting problem instead.

Getting noticed

Putting this idea that hiring is a constrained forecasting problem into perspective, the current main constraint for most employers in the current socioeconomic condition is cost: quality bars for new hires are much higher than before, and there’s much more job seekers than there are positions available. Because of that, we see thousands of applications for a job posting for a certain company that would have previously totaled only hundreds. To get picked for later rounds, you must stand out. The problem is most new grads don’t stand out; most new grads don’t really get a chance because those I see that have a problem getting a job right now have pretty mid profiles with barely any real experience building something. The best most new grads have done is some app that never received prod traffic, or a generic app that merely serves to show that they know how to use X Y Z library / framework. In a good market, most of these new grads would have gotten a job somewhere if they grind Leetcode, but considering big tech is pretty much not hiring, and that big tech is notorious for hamming Leetcode problems during interviews, most new grads who grind or is influenced by their peers to grind Leetcode now have a subpar profile that’s easily overlooked because they have already spent too much time not doing things that boost their visibility.

So to get picked for an interview, ask yourself this question: do you stand out or have you done anything to stand out? A really good cold email? Built something great demonstrating prod-level skills that would catch anyone’s eyes? Got star referrals from your network? All of these serve to standout.

Exceptionality

When tech was good, everyone gets software engineering jobs. The median salary for software engineers in the US is a lot higher than the median salary for other jobs, and so many came into college picking the computer science major because they want to get a really well paying job after graduation; as such, their purpose is solely based on money. People started to pursue CS even though they have no real passion about the subject. I think it’s very wrong to pursue a degree just for its job prospects, especially when that degree is competitive. This is because you’re competing with those who are actually passionate about the craft and have dedicated a ton of time into perfecting their skills — their dedication was what made them great, else without it, they would have never been as skilled as they are now. The software engineering talent market is back to pre-saturation level where only the best and most dedicated software engineers remain, and those who think they can just float by with a subpar profile from a top school will be left behind; I think people should really consider changing their CS major to something else if their goal was to make a shit load of money and retire at 40.