It’s summer in San Francisco, and this convergence of conditions can mean but one thing: intern season. Members of this unique species emerge from their underground dwellings at the inflection point of favorable temperatures, and may be identified by their distinctive mating calls in the most crowded bars of the Marina.
But the intern’s escape is tinged with a primal fear. Survival is not guaranteed, and the ecosystem around them seems to be growing increasingly inhospitable.
Gone are the days in which Cracking the Coding Interview was enough to convince your peers that you’re a true 10x engineer. Gone is the promised land of a guaranteed 6-figure job at a FAANG company if you’ve included a Github link to your calendar app on your resume. Leetcode premium has become the expectation instead of the exception, and you needn’t apply to job postings if you haven’t published an article on multimodal learning at NeurIPS, or raised at least at a $3 million pre-seed valuation.
With the pressure of recruiting starting to mount as we get closer to the fall, college students have started to surface in my DMs, LinkedIn connection requests, and even my parents’ inboxes, with one single question.
“How do I get an internship?”
Let me first be clear - I am in no way trying to undermine the stress of the hunt. I truly believe that looking for a job is one of the worst possible human experiences, because it is uniquely designed to make you feel inadequate at every turn. I’ve suffered my own share of mental breakdowns after failing coding challenges, choking on system design interviews, and trying to brute force a dynamic programming problem. This entire process is difficult, scary, and sad.
Which is why I can understand the search for a secret password. When all seems hopeless, and you see other people who’ve found the success you’d like to find for yourself, it is completely reasonable to pursue some Holy Grail that’ll bridge you to the LinkedIn announcement post of your dreams.
Genuine mentorship has been invaluable for my career. I am immensely grateful to everyone in my life who guided me through the dark and scary places, and think it is everyone’s responsibility to pass forward the kindness they have received. So of course, when family friends or new pledges from my college business fraternity reach out with their heads spinning, I am always happy to chat, and share what little wisdom I’ve accumulated in my own college experience, plus the year I’ve been out in the real world.
But my take might not be the one they want to hear.
The system is simpler than you think.
There’s no trick, hack, secret, or resume font size that will get you the opportunities you want.
Companies want to hire desirable candidates, and the best way to get hired is to become a desirable candidate. And if you ask me the best way to become a desirable candidate, it is to try really really hard at school.
Higher education is a privilege, and when I was in college, I was consistently frustrated with the atmosphere of general disinterest I came across in my peers. In computer science more than any other major, you’ll find an abundance of people who see the degree as nothing more than the path of least resistance to financial independence. I met countless people who, if it were an option, would never attend another lecture or complete another assignment, or read another article again if you could guarantee them a 20 hour a week remote job at graduation at a company that would barely notice if they dropped their laptop in the Pacific on their midweek vacation to Cabo.
If this is your ideal goal, it’s probably in the best interests of your time to stop reading at this point.
If I tried to pinpoint one defining trait that defines the best engineers (or just smartest people, period) that I’ve met, it is that they love what they do. The people whom I look up to the most at work come in every day excited to solve new problems and have fun doing it. They’re not waiting for the clock to tick past 5, they’re not joining meetings with their cameras off, and they’re not looking for excuses to get out of their responsibilities.
In my opinion, if you want to find true success in a software career, technology has to be your passion.
Passion was a really scary word for me when I was in high school, because I didn’t think I had one. I figured that to have “passion” you just had to have been born with it, and the people that are genuinely able to find joy in their work or academic endeavors were just born with a gene I was missing. But when I got to college, I learned:
So let’s recenter. What does this have to do with getting a software engineering internship?
I think the majority of career advice re: SWE internships centers solely on optimizing the technical interview, and don’t get me wrong, this is super valuable. Leetcode is critical, and you should spend time practicing the structure of technical interviews, because it is a skill in and of itself.
What’s critical here to remember though is that Leetcode-style interviewing is nothing more than a company’s very best attempt to measure your aptitude in a limited amount of time. It would be a huge mistake to overfit on the interview itself to try and optimize for success in your interviews. You should be focusing your effort on maximizing your aptitude, and doing well in your college courses will directly make you a much better candidate.
College is the perfect environment to try really hard and care a lot and practice getting good at things. Far more likely than not, your professors want you to succeed. Courses are designed to try and teach you the content they’re about, and if you put in the requisite effort, you will find success in your courses. And I know how this sounds - it’s annoying to be told that you should be trying even harder and trying to find joy in your work when you’re grinding out a problem set at 3 AM that’s due at 8 AM, and then also scheduling time to study for your exam at noon.
But try anyway.
If you’re in a stupid Gen-Ed where the assignments are insultingly easy - perfect, you should ace every assignment and test. This will raise your confidence, and make you feel smart, and when you feel smart, you act smarter. Do yourself a favor, and give yourself a class you never have to stress about. Do the extra credit, submit things before the deadline.
If the content is terrifyingly intimidating, don’t count yourself out. People love to talk about weed-out classes, but the first time you’re truly weeded out is when you succumb to the horror stories, and give up before the class has even started. Even difficult courses are designed to make you successful, and your job is to figure out how you can make the system work for you.
If you have a mean professor, or a bad project team, or you don’t have any friends in your section, good. Try extra hard in these classes. Problems like these will come up over and over again in your career, and the earlier you can figure out mechanisms to find success anyway, the better you have set yourself up.
And if you think it is uncool to try super hard, know that this is a psyop meant to hold you back from achieving your full potential. Success feels much cooler than acting cool.
By aiming to be at the top of your classes, not only will you have gained so much real technical experience by completing your assignments with integrity, but bonus! You will also have a good GPA, which is a great signal when a recruiter is looking at your resume. Maybe this is all trivial and obvious, but it didn’t seem that way when I was in school. Cheating culture continues to become more and more advanced, but I think it’s hard to see the long-term ways in which you screw yourself over when you rob yourself of the experience of struggling and succeeding.
On top of your courses, try really hard to integrate yourself with communities full of people that inspire you. Learn from them, but also give back to them. Smart, capable people tend to find each other, and make each other by spending time together. Be someone who expresses gratitude and appreciation for these communities, but also someone who’s able to identify its weaknesses. And don’t just complain about them - take action and put in the effort to improve them.
The glow of someone who works hard and makes communities better and finds joy in what they do is obvious. It’s magnetic, and the fact of the industry is that people want to work with people they want to work with. This isn’t an easy shortcut, but it is the surest path to becoming the kind of person who has the kind success you want to have.
The technology industry has existed in a bubble for a long time. Compared to any other profession with the prestige and economic opportunities, it is beautifully meritocratic, with an unimaginably lower barrier to entry. But the industry is growing, and maturing. The standards for how good you have to be will keep increasing, and you are unfortunately not entitled to success.
Reading CTCI isn’t enough, cold-emailing people for referrals isn’t enough, forking other people's passion projects isn’t enough. In this bizarre, evolving environment, it is the survival of the fittest, and the only way to make it out is to become the kind of person who does.
Back to Home