
Source: Google Gemini AI (2025)
Overview
This post covers a broad range of career and job searching tidbits. It doesn’t need to be read in order. Feel free to jump to any section that might interest you. Also, please take all of it with a grain of salt. I’ve been working for the same company for over 20 years, so my perspective may be a bit more narrow than most.
Table of Contents
- If I’m Interviewing You
- If You’re Interviewing Me
- Resume and Application Tips
- Leetcoding
- Ghosting
- Rejection
- Loyalty
If I’m Interviewing You
If you are reading this section, that probably means that you are going to be interviewed by me and are wondering what to expect. First off, congratulations! Your resume made it past the recruiter gauntlet, which is never easy.
My Pledge to You
- Empathy for the process: I know interviewing is stressful and inconvenient. I will do my best to make our conversation relaxed, respectful, and—hopefully—enjoyable.
- A two-way street: I don’t take your interest for granted. You are evaluating us just as much as we are evaluating you.
- Respect for your time: If I am running late (which has not yet happened), I will try to notify you immediately and with apologies. If we finish our technical deep-dive early, I’ll give that time back to you; please never interpret an early finish as a reflection of your performance.
- Due diligence: I will be prepared. I make it a point to review your resume, GitHub, portfolio, or dissertation before we meet so we can dive straight into meaningful topics.
- No leetcode: I won’t annoy you with unrealistic coding challenges. You are likely an expert in areas where I am not. I want to learn what you can do, not put you in a high stress situation that you’d never actually encounter in the job.
- Coordinated effort: I will try to coordinate with my team to ensure we aren’t asking you the same questions repeatedly.
What I Value Most
- Technical depth: Can you discuss the projects on your resume with nuance and detail?
- Communication: Can you explain complex concepts clearly and adapt your explanation to your audience?
- Character: I look for curiosity, humility, and a collaborative spirit.
- Integrity: Trust is our baseline. I value honesty over “perfect” answers; exaggerations or misrepresentations are an immediate red flag.
- Domain curiosity: Are you interested in the “why” behind our business, or just the “how” of the technology?
If You’re Interviewing Me
I expect to be treated the same way that I treat candidates. If you flake out or show up late without offering any apology, jump straight into a Leetcode-style question in the final interview round after I’ve already passed an all-day whiteboarding session, or generally act like you’re doing me a huge favor by deigning to interview me, then I will politely terminate the interview early to save both of us time. I’ve done it a few times, and remarkably my career has survived.
I will also try to be up front about any relevant shortcomings or knowledge gaps that I’m aware of. For example, while I like to think that I have a fairly deep technical knowledge of C++, I haven’t programmed in it professionally for many years. If I am interviewing for a C++ role, I will be sure to let you know ahead of time.
Resume and Application Tips
These tips are based on my recent learnings from some recruiting thought leaders who I’ve come to respect, and also on having carefully read hundreds of resumes over the course of my career. Disclaimer: My own resume still fails in many of these respects:
- Brevity is…wit: Having read lots of long resumes from folks with two years of experience, I appreciate brevity. I’ve been a working professional for quite a while and I try to keep my own on a single page. LinkedIn is a great place to add more detail if you like.
- Tailor for every job: This is may sound obvious, but it’s worth mentioning. Fortunately it’s not as hard as it sounds. Usually tweaking a few bullet points will suffice.
- Don’t overuse AI: A while back I had a clever idea: Why not create one comprehensive master resume, then feed it to an LLM along with a series of job descriptions so that it could create tailored resumes for each one? Ultimately, the time I spent correcting false claims, fixing formatting issues, and removing buzzwords proved to be longer than I would have spent customizing it myself. It’s fine to have the LLM review it though.
- Add keywords…: This is not for the hiring manager. This is for the recruiter who will be doing the initial screening, and likely doesn’t realize that someone who won the “best paper” award at NeurIPS probably also knows Python and Pytorch. The unfortunate truth is that a lot of recruiters still seem to screen resumes based on keyword matching.
- …but not too many: While I’ve personally never seen it, I’ve heard of candidates going so far as to copy/paste the entire job description into their resume as white text in hopes of fooling the tracking software. That might backfire.
- Be human: I love it when candidates include a brief blurb about hobbies or past careers. Were you a flight attendant before getting your computer science degree? Do you sing in a rock band on weekends? Let us know! It makes you much more memorable.
- Be honest: This should go without saying, but lying and exaggerations are sadly quite common in my experience. Don’t apply to jobs you’re clearly unqualified for, and don’t invent projects to make it sound like you are. You’ll probably only succeed in getting yourself blacklisted by the employer if you do.
- Don’t overthink it: There is zero correlation between resume quality and candidate quality. One of our top-performing engineers had a resume that was mostly about his prior food service career. He mentioned his CS degree as an afterthought. I don’t know how the hell he passed our screeners but I’m glad he did. On the flip side, some of the most beautifully-crafted resumes I’ve seen have turned out to come from obvious charlatans.
- Tap into your network: When a former colleague’s startup shut down a few years ago, he humbly reached out to everyone in his network and said he needed a job. I bent over backwards to make useful introductions, as many others apparently did too. Within probably a week or two, he was back to working full-time and has since had an amazing career. If you want to apply to a position in a company where you have no references, use the company website directly. Never rely on the LinkedIn Easy Apply. While it doesn’t hurt, odds are that your resume will quickly drown in a swamp of remote poseurs.
- Prefer onsite (even if you don’t): With the state of the job market today, it is nearly impossible to stand out in the flood of applications for remote positions. Look for onsite roles, and be prepared to relocate if necessary. If you prefer remote work and you’re good at what you do, odds are the the company will choose to accommodate you rather than lose a valuable employee.
Leetcoding
“Leetcoding” refers to the practice of solving algorithmic coding problems. For example, “Detect a cycle in a linked list,” or “Find the longest palindromic substring in a given string.” I do occasionally practice these types of problems, mostly because doing so helps to sharpen my problem-solving skills, and I don’t mind trying to solve them in an interview.
However, I never ask them when I’m the one conducting it. I believe that they are a poor proxy for real-world programming ability, and they tend to favor candidates who have a lot of free time to practice them.
Ghosting
Ideally, you should never be left wondering where you stand. In reality, even good companies drop the ball. Urgent production issues arise, reqs get transferred, or visa issues complicate the pipeline.
If I’m on your panel, you have a direct line to me. If HR goes quiet, reach out, and I will look into it.
But here is something I’ve learned: The hiring process is messy, and rarely reflective of a company’s culture. While I certainly wouldn’t blame you for withdrawing your application and seeking other opportunities if you get ghosted, it may be best not to let a silent period sour you on a good opportunity. Usually, it’s a process failure, not a culture failure, and the people you’d actually be working with are likely unaware of the delay.
Rejection
I’ve gotten several offers from well-known companies that are renowned in the software industry for their difficult hiring processes. I’ve also gotten lots of rejections. When I made my first serious foray into the job market over a decade ago, my first seven phone screens led to rejections even though I had spent months beforehand preparing for them. This was humbling to say the least.
If we (or I) reject you, this does not mean that you were a bad candidate. Sometimes there’s someone else who was just a teensy bit better suited for the role, and who we ended up selecting after much anguish and debate. Also, in today’s job market, it’s unfortunately necessary to reject qualified candidates without even giving them a chance to interview. I don’t want to give the impression that the situation is hopeless if you’re looking for work, but it definitely is a numbers game. Assuming that you aren’t just spamming your resume everywhere, a response rate of one in fifty seems to be pretty normal right now.
Finally, a rejection doesn’t mean the door is closed forever. I recently advocated for one candidate who unfortunately was not chosen by that team. She reached out to me about a year later after the startup she was working for shut down, and we had better luck finding her a placement the second time around.
Loyalty
Occasionally one sees news or commentary to the effect of, “Company X just reported record earnings, and yet they did a massive layoff soon after! How cruel! How heartless!”
This sentiment fundamentally misunderstands the relationship between employee and employer.
There have been several large layoffs during my long tenure at the same company, and I’ve had to say goodbye to many wonderful colleagues. Yet every time, without exception, the company emerged far more nimble and competitive. This flexibility led to better outcomes for our customers and net job creation in the long run.
I’m under no illusion that I’m indispensable. If my management decides that my salary would be better invested elsewhere, then by all means they should do so. They are not obligated to maintain our business relationship.
This goes both ways. If I determine that my time and expertise would be better invested elsewhere, then that’s what I will do. I take care to ensure that all of my work is reproducible and well documented, and I will otherwise take reasonable measures to minimize the impact of my departure. I owe nothing to my employer beyond that, and occasionally it’s good to remind them of this.
“Lack of loyalty” shouldn’t be confused with frequent job hopping. It’s in your long-term career interests to stay with a company long enough for them to see a considerable return on their investment in you. This investment is not only in terms of salary, but also the time required by your team to help bring you up to speed. I’m not suggesting that you force yourself to remain in a toxic work environment or in a role which you discover that you’re clearly not suited for, but I am quite wary when a candidate’s resume show five different companies over the last ten years as a regular employee.
Finally, it’s worth noting that your managers are people too. If you are dissatisfied with some aspect of your work, whether it be culture or recognition or compensation, or something else, chances are they’re not aware of it. I’ve had remarkable success over the years in working together with the right people to get such issues resolved, which is largely why I’ve remained at the same company (though in many different roles) for so long.