When I transitioned from physics to software engineering, it felt as if I was playing life on hard mode. Learning about academic computer science, coding, and taking coursework wasn’t the difficult part, though. What was challenging, and this often surprises people, was that I was often discounted because of my background. It was a bizarre situation where it was easier to pass interviews than it was to get them. The details of this are for another post, but this weird situation made it prudent to understand some core aspects of what profile recruiters are looking for. That is, among an ocean of resumes that pass the minimum requirements of a job listing, who gets picked to interview and why, when the choice is completely at the discretion of the recruiter? From my conversations with recruiters, some AB testing, and other surreptitious methods, I found that there were four factors that really stood out as good predictors that recruiters would want to network with you. These factors are part SEO and part unconscious biases.
1. Degree in computer science
To me this sounds wholly uncontroversial, but when I’ve mentioned it to friends some are puzzled. The usual response is a counterexample of a successful software engineer without a college degree, or something like it. It’s kind of a non-sequitur to mention a counter example like that, as my argument is that certain factors reliably influence your socioeconomic outcomes. The argument is not that a lack of a formal CS degree precludes success, but that whether or not you have one affects how people size you up when making quick decisions. When a recruiter is looking at your resume, or LinkedIn profile, that CS degree will make it easy for them to form positive biases towards your ability to pass an interview at their company, before any resources are invested to assess you. This has a pretty large effect when your network is small and you are trying to penetrate an industry. When I AB tested my resume as if I had a CS degree, the results were dramatic, but that is a story for another post.
2. 2+ Years of experience working as a software engineer
This one is pretty obvious, too, though not relevant to people looking for that entry level role. I found that at the 2 year mark the frequency that recruiters would reach out to me jumped up. I suspect this is just SEO since recruiters are probably not floating around the internet looking for candidates but rather using search tools with constraints. Something like, “show me people whose title was software engineer and have 2+ years of experience.” Personally, I think the 2 year mark is a point where you’ve gained enough experience to no longer be green and past the growing pains adjusting to a professional environment.
3. Prior employment at a prestigious software company
Also intuitive, but I’ve seen some push-back on this thesis. The usual counterargument is still that opportunities abound regardless. But again, my thesis is a statistical statement; we’re talking about socioeconomic outcomes and trends. Employment at prestigious companies has extreme value when viewed through the lens of “will this guy pass our challenging interview process?” The famous software companies like Google are thought (fairly) to have challenging interview processes and competent software engineers. It’s probably the best heuristic to size up the skill level of your new professional contact in minimal time. Non-Googlers are somewhat of an unknown, but ex-Googlers are something different. Recruiters and other engineers can piggy-back off of the thorough assessment by a trusted and competent third-party to size you up quickly. The name recognition probably helps, too. The famous companies are famous because everybody knows about them. If the companies stay relevant, you get a little boost in those unconscious biases people naturally form when they think of you in a professional context. There’s no benefit for being ex-Enron in 2017 for obvious reasons, but before 2001 it was probably hot stuff. For IBM, it sort of fluctuates, but they’re still relevant so there’s some level of prestige with it.
4. Name recognition of your alma mater
Some schools are known to have solid computer science programs. There’s some correlation among undergraduate university prestige and graduate program prestige, but it deviates depending on specialty. This is to say that there’s a difference between selective undergraduate enrollment and output of serious and competent engineers among universities. For example, US World News puts Georgia Tech and Brandeis at #34 among national universities in 2016. Brandeis is my alma mater, though I studied physics, but most people haven’t heard of Brandies. But, everybody knows Georgia Tech in the bay area. If you look instead at graduate program rankings, Georgia Tech is a cool #9 and Brandeis is at a distant #82. As a general rule of thumb most people know of the top 10-15 computer science programs, or at least recognize the names of the universities with some positive connotation. If you have one of those under your belt as your alma mater, I suspect you’ll get another small SEO boost. Though in certain industries, like finance, Ivy League is sort of a standard requirement as a culture fit, but that’s not what this post is looking to explore.
Summary:
Your success or its magnitude is not determined but there are factors which can strongly influence your professional socioeconomic outcomes. Finding good software developers is probably an ugly, messy process guided by heuristics and gut feelings. If you had the choice, you’d probably want those heuristics and gut feelings to be to your benefit. That’s what it means for something to affect socioeconomic outcomes. It gives your professional contacts, friends, colleagues, etc. that initial impression which at times can open doors and make your life easier in ways.