One of the first people I interviewed off of AngelList was a man from Lagos. He had created a website that displayed Manchester United scores, and it was beautiful. The layout was clean. The colors were bright. It even had elegant animations when you clicked or hovered. Also, by checking the Github commit log, I could see (with some degree of certainty) that he was the one that had actually made the website. I thought to myself, “this guy must be a talented designer and love Manchester United.”
Three days later, though, I saw someone else (this time from the US) who had also created a Manchester United website. In fact, they had created the exact same Manchester United website. Right down to the pixel.
How could this have happened?
Well, it’s possible that they both copied the code, or that one of them copied the code from the other. But I doubt it. After all, their Github commit logs differed and demonstrated their separate processes for building the website. No, I think what they did was something much worse: they each spent a dozen hours building the exact same thing when they could’ve just as easily spent a dozen hours building something new.
Clark: …I will have a degree, and you’ll be serving my kids fries at a drive-thru on our way to a skiing trip.
Will: [smiles] Yeah, maybe. But at least I won’t be unoriginal.GWH
The beauty of software is that you can create anything. Software may often be limited to the virtual world of “bits” rather than “atoms”, but within that world, the sky is the limit. Games, art, scripts to automate chores and tasks, money-making schemes, AI. It can all be created with code. And yet, 4 out of 5 portfolios I see are made up entirely of copied templates.
The first thing I look for now is the intrinsic motivation to build things that you actually want to build. I’d much rather see an applicant create something ugly but novel than something beautiful but replicated. I’d much rather see a video game than a covid tracker, even if the covid tracker was not based on a template.
I saw a surprising stat recently: in the 2020-2021 school year at MIT, out of all declared majors, 43% were computer science or had “computer science” somewhere in the name. Almost half. For comparison, physics made up 5%, architecture 1%, and philosophy a measly 0.3%.
In the talent war for atoms vs bits, it seems that bits is winning, at least at MIT. Heck, even their School of Humanities has a computer science major.
At other technical universities, the percentage is smaller. But that may be largely due to rules in place to hold back the flood of wannabe CS students. For example, at Berkeley, even if you’re admitted as a computer science student, get a few too many Bs in your freshman year (God forbid a C) and you’re out.
Given the rapid rise in computer science students and software job applicants around the world, a lot of truly talented and motivated young people have told me that they worry that the field will become too saturated in 10 years and they’ll be left without a job. Will it? My take is that once you “break in,” say by getting a job in big tech or at a prestigious startup, you’re in for good, but that it will become harder and harder to break in.
That’s how, for example, universities work, and everything else in the world works. So the same should be true for software engineering jobs (and already is true for that matter).
That said, I do believe those truly talented and motivated individuals will continue to be able to break in. Being concerned about saturation, though, is a smart worry. Because you don’t want let yourself become part of the saturation. Don’t just hop on the machine learning or crypto hype train because there’s hype. Build what you want to build, and learn what you want to learn.
The number one most important thing for any application—not just software job applications—is standing out. And more importantly, getting inside the mind of your reviewer to know what will stand out.
When I interviewed at Google several years ago on the Pittsburgh campus, I had only one “behavioral interview” (the other four were programming challenges without much chit-chat). The interviewer was with a thin, soft-spoken guy with a goatee, and he came in to the conference room holding my resume. He said, “I looked at your resume and there’s one thing that stands out: you played football. Have you learned anything from playing football that you think will help you in a software engineering role?”
Ironically, just a few days prior, I debated whether to remove the “varsity football” line from my resume. I had only played for one season and had not actually played in the games. Also, I knew that joining the football team had helped me get into the CS program at CMU, and I didn’t want interviewers to suspect that I wasn’t as smart as the other students. Thankfully, though, I ignored those worries and left the line in. And now I realize that my worries were completely stupid!
I mean, Google gets a million smart applicants from top programs every year. As a former Google interviewer, I can say that if I saw “Stanford” or “MIT” on your resume, yes I’d notice it, but I would never say “wow” based on that detail alone; I had seen too many other resumes from the same schools. Same goes for seeing a 3.9 GPA (in fact, if I see too high of a GPA, like a 4.0, I tend to make slightly negative assumptions, but that’s a topic for another post). Quality trumps quantity almost always.
Of course, what stands out completely depends on the mindset of the interviewer and differs drastically from application to application. Applying to one undergrad institution requires something different from applying to another undergrad institution, same for MBA programs, PhD programs, jobs in software, jobs in consulting, you name it. But standing out and having the telepathy to know what will stand out is key.