There is a strange contradiction built into job hunting.
You are looking for work.
And somehow, looking for work becomes work.
Not metaphorically. Not in the motivational-poster sense of “treat your job search like a job.” I mean actual work: hours spent searching, editing, studying, researching, rewriting, tracking, preparing, and occasionally staring at an application form wondering why a company needs your résumé and also needs you to manually type your entire résumé into 27 separate fields.
Job hunting in tech makes this even more interesting, because applying is only one part of the process.
You also have to prepare for an interview process that may or may not resemble the interview process you prepared for.
Fun.
The Job Search Starts Before You Even Apply
At first, applying for a job sounds simple.
Find a position. Send your résumé. Wait.
In practice, there are several steps hiding inside the phrase “apply for a job.”
First, you find a role that looks relevant. Then you read the job description. Then you try to figure out whether “3+ years of experience” means three years exactly, three years approximately, or “we wrote three but we are secretly hoping for seven.”
Then you compare the requirements to your experience.
Then comes the résumé.
One of the biggest mistakes I made early in my search was applying with essentially the same résumé everywhere.
It is certainly faster. It is also not necessarily effective.
A backend engineering role, a general software engineering role, and a data-heavy engineering position might all be reasonable matches for the same person, but the strongest parts of that person's experience may be completely different for each one.
So now, instead of rewriting everything from scratch every time, I keep a kind of master inventory of my professional experience: projects I worked on, systems I built, technical problems I solved, tools I used, and outcomes I can explain clearly.
Then I adapt the relevant pieces to the position.
This is much faster than trying to remember your entire career every time you find a job posting at 11:47 p.m.
It also means the résumé is actually speaking to the role you are applying for.
Of course, that takes time.
And we have not even applied yet.
Then There Is the Interview Preparation Problem
Tech interviewing has another complication: companies do not all evaluate engineers the same way.
One company may heavily emphasize data structures and algorithms.
Another may send a take-home project.
Another may ask you to debug something.
Another may focus on system design.
Another may combine behavioral interviews, coding rounds, architecture discussions, and a mysterious final conversation with someone whose title contains the word “Principal.”
The difficult part is that you often do not know exactly what the process will look like until the company contacts you.
So what should you study? Graph algorithms? System design? Behavioral stories? SQL? Frameworks? A take-home project? The answer is unfortunately: Maybe.
You can spend two weeks preparing intensively for algorithm interviews and then get invited to a process centered around a take-home assignment.
Or you can spend your limited study time building projects and suddenly receive a coding interview invitation with three days to remember how breadth-first search works.
It can make preparation feel inefficient, even when the studying itself is valuable.
You are not only preparing for an interview. You are preparing for several possible versions of an interview.
That is a very different problem.
And Time Is Not Unlimited
The popular advice is to “just study more.”
Which is excellent advice if your calendar contains approximately 46 hours per day.
For most people, job hunting has to coexist with the rest of life.
You may already have a full-time job. You may have a family. You may be studying. You may have responsibilities that do not politely disappear because you decided to start practicing LeetCode.
So imagine someone who has two hours available after work.
Those two hours now have to cover finding jobs, deciding which ones are worth applying to, adapting a résumé, completing applications, and preparing for interviews that have not happened yet.
That is where the feeling of having a second job comes from.
The problem is not necessarily that any single activity takes an unreasonable amount of time.
The problem is the accumulation.
Thirty minutes here. Forty-five minutes there. Another application. Another résumé adjustment. Another coding problem. Another evening spent convincing yourself that yes, apparently you have forgotten how binary search works even though you have implemented things far more complicated than binary search professionally.
The Hardest Part Is Doing All of This Without Feedback
There is another psychological difference between regular work and job hunting.
At work, you usually get signals.
A feature ships. A bug gets fixed. Someone reviews your code. A customer uses something you built. A project moves forward.
Job hunting can involve a lot of effort with very little visible feedback.
You can spend hours improving your résumé, researching companies, and applying carefully — and hear absolutely nothing.
I started seriously applying for jobs in March. It is now September. I have applied to more than 100 positions.
And so far, I have not been invited to an interview.
That is probably the most frustrating part of the process.
Not necessarily rejection.
Silence.
Because rejection at least contains information. Silence gives you very little to work with.
Is the résumé the problem? Is the market unusually competitive? Am I applying to the wrong positions? Is my experience being interpreted differently here? Did 800 people apply before breakfast? Was the position already effectively filled before it was posted?
You usually do not know.
And yet you still have to decide what to change.
That is a difficult feedback loop.
So How Do You Avoid Turning the Search Into Chaos?
I do not think there is a magical productivity system that makes job hunting easy.
But I have found a few ways to make it less random.
The first is keeping a detailed master record of your experience.
Instead of rewriting your history every time you apply, keep strong descriptions of projects, responsibilities, accomplishments, technologies, and challenges you have handled.
Then customize.
You are starting from something solid instead of a blank page.
The second is studying interview topics in groups.
I used to think doing random coding problems was good because interviews themselves are unpredictable.
But random practice can make it difficult to recognize patterns.
Recently, I have found it more useful to focus on one topic at a time:
- Arrays and hash maps
- Sliding window
- Trees
- Graphs
- Dynamic programming
- Backtracking
Spend several sessions solving problems that rely on similar ideas.
Patterns begin to become visible.
Instead of thinking, “I have seen 70 unrelated LeetCode problems,” you start thinking, “Oh. This is basically the same traversal pattern with one annoying twist.”
That is progress.
I also built a small DSA study agent to help structure my practice.
Not because AI can magically interview for me — unfortunately, recruiters still expect me to attend — but because having a structured study process removes some of the decision fatigue.
The less time I spend wondering what to study next, the more time I can spend actually studying.
Applying to Everything Is Probably Not the Answer
There is a temptation during a long job search to turn applications into a numbers game.
If 20 applications have not worked, send 50.
If 50 have not worked, send 100.
Then 200.
At some point, though, more applications can simply mean more low-quality applications.
One lesson I have learned is that applying to a job without adapting the résumé — or without thinking seriously about whether the position makes sense — often saves time in the short term but may waste time overall.
This does not mean every application deserves two hours. That would make the full-time-job problem considerably worse.
But there is a middle ground between writing a custom autobiography for every company and clicking Easy Apply at the speed of a competitive gamer.
The goal is to become more selective and more reusable at the same time.
Create good material once.
Reuse it intelligently.
Adapt what matters.
The Job Search Is Really Several Jobs
Maybe that is why this process feels so exhausting.
You are not doing one job.
You are temporarily acting as a recruiter searching for opportunities, a résumé writer, a career strategist, a researcher, an interview candidate, and a student preparing for exams whose syllabus may be revealed approximately 72 hours before the exam.
Occasionally, you are also expected to be a motivational coach for yourself.
Which may be the least qualified person for the job after receiving the fourth automated rejection email of the afternoon.
But there is something useful in recognizing that this process requires real work.
If job hunting feels exhausting, that does not automatically mean you are doing it badly.
It may simply mean you are doing a lot of different things at the same time.
The challenge is figuring out which of those things deserve your limited time.
I am still figuring that out myself.
More than 100 applications later, I certainly do not have a magical formula for landing the next job.
If I did, this article would probably have a much more suspicious title like:
I Applied to ONE Job and Google Called Me 14 Minutes Later. Here's My Secret.
Sadly, no.
What I do have is a better understanding of the process than I had when I started.
I know that preparing randomly is not the same as preparing strategically.
I know that a résumé should change depending on the role.
I know that organizing what I have already done professionally makes every future application easier.
And I know that when time is limited, reducing unnecessary decisions matters almost as much as studying harder.
Job hunting may feel like a full-time job.
The goal is to make sure it does not become a full-time job with terrible management.
Tell us a real story
Something worth sharing. Or at least worth laughing about.
Tell us a real story—something that happened to you or a friend. Share a lesson that might save someone else from making the same mistake, a moment so awkward it still haunts you, something that made you laugh way too hard, or a wonderfully nerdy fact you’ve been waiting for an excuse to show off in public.

