Job questing for a CS newly-grad
Posted on April 1, 2025
As my final semester of university is coming to a close, the daunting reality of finding a job is becoming more and more disheartening. At times, it feels like you're trying to feel your way around a dark, empty forest in the middle of the night with nothing to guide you except the occasional snap of an ominous twig in the distance. It's a painful and nauseating band-aid we all have to rip off at some point, and truthfully the best that we can do for ourselves is to try and make ourselves comfortable.
In this article, I'm going to discuss some strategies I've been experimenting with to try and improve my odds of finding a job, as well as ensuring I'm prepared for any potential interviews which may result. I don't claim to be knowledgable of the job search; I don't even claim any of these are greatly original or effective; but in a year's time, when hopefully my search will have produced something, I'd like to look back at this as a historical document to see what worked and what didn't.
Crafting a résumé
Among the most elemental components of someone's employment profile is the résumé (yes, it's actually spelled like that). Of course, I'm not going to insult you with a definition; instead, I want to talk about some of the deliberate decisions I made when drafting it so that you and I have a better idea of my where my head was at the time I wrote it (I said wrote in past tense, but in reality a résumé is a constantly evolving, living document).
Among the most important goals I had when drafting my résumé was to contain all of its content within a single page. If I had more experience, I'd probably break this rule, but freshly out of college a single-page résumé feels nicely terse and approachable. At the same time, I took great care to use as much of this singlular page as possible.
I opine that a résumé serves two purposes: first, linguistically communicating your experience and skills; second, visually communicating your attention to detail and ability to work within limitations. In this way, a résumé is more than just a document: it's a tangible representation of your problem-solving skills.
Cover letter or no cover letter?
A document which is commonly grouped with the résumé is the cover letter. A common question which I and many others have asked the sages of job search is whether or not to include this cover letter in our applications. To me, it seems an antiquated artifact of a time long gone where each job a person applied to was far more meaningful, but what is its place in the modern job search? The answer: nobody knows.
In almost all cases, the moment you submit your application for a job, your role in the review process has ended. It's now up to whoever is lucky (or unlucky) enough to recieve this document on their metaphorical desk. This person may or may not care for cover letters; they may or may not like images in a résumé; this person may have a deep, irrational hatred for someone with your first name; they may have spilled coffee on their lap just before reading your application and thus already have a soured mood.
My point is that there are so many variables which can't be controlled, so it's best to keep throwing different things at the wall in the hope one of those things just might stick. Maybe the person who receives your application has a child who shares your first name, perhaps they went to the same university as you, and there's the distinct possibility they adore the font you chose for your cover letter. It's for this reason I always try to include a cover letter; there's nearly no downside in doing so, and doing it really only improves your chances.
Choosing where to apply
My methodology with where to apply is quite simple: I look on Indeed or LinkedIn (most the former) for jobs which roughly match my skills/experience and immediately check the company website for an application form. If they have one, great: apply through the company website. If not, just apply through which ever employment site you found it on. Rinse and repeat.
Staying in practice
While a part of me hates that it's become the standard, Leetcode is definitely a useful tool for coding interview preparatoin. There is real value in knowing how to utilize and apply the elemental data structures of computer science, and Leetcode can help you learn it.
For those who are unaware, Leetcode is a coding-practice platform which compiles questions that appear in interviews for large technology companies and presents them as digestable programming problems. I'm not the biggest fan of the fact that it has become the de facto way to cull applicants (though this may be changing), but for now, it's definitely better to Leetcode than not, and I do genuinly feel like my understanding of data structures has improved since I started using it, which I am quite happy about.
Keep it personal
More important than practicing Leetcode should be the development of personal projects. Besides being more meaningful and far less boring to work on, you actually learn the same coding paradigms in a more practical, natural way. Still, it doesn't hurt to practice in between these portfolio boosters, but you should always be thinking of new ways you can innovate, learn, and create novel software.
Documenting progress
My most recent addition to my job search strategy can be seen right in front of you: documenting the entire process. Besides the undeniable fact that writing is a universally valuable skill to maintain, writing also allows you to cache your current thoughts and reread them under new light at a later time. Sometimes, the best thing you can do is walk away from something and come back later with a fresh lens. If you write down your thoughts, then the something in this case becomes an idea. It's an invaluable artifact to have and one that will help you be a little less blind when trying out new things. If you write, you have at your complete disposal your past thoughts, ideas, and experiences; when trying to improve yourself, having these past versions of yourself is invaluable.
Besides straight-up writing, I've also started tracking my progress on a Google Sheets document. Every job has the date I applied, its name, the role, the pay, and other related metrics. This allows me to quantify my search and hopefully gain more "scientific" insight into my progress. I see this type of insight as the "final frontier" in self-experimentation; it transforms your blind attempts at change into deliberate (and hopefully fruitful!) rounds of true research and development.
I expect to discover new tools which will aid my job search, but for the time being, I hope you've found something even marginally useful, or, at the very least, I hope you've found something which made your job search feel a little less lonely. In the of writing this post itself, I've gained new insight on my strategies, which has helped me to understand and justify the choices I've made along the way; for that reason, perhaps the best advice I can give is to write a piece about how you approach your own job search.
In doing so, you will undoubtably learn something new about yourself. This will, in turn, inform all of your future decisions and imbue in every single one far greater individual weight, purpose, and meaning.