Hacker News new | past | comments | ask | show | jobs | submit | leeny's comments login

good catch. i'll remove the CAGR bit. it's not really relevant to the rest of the post anyway


I've seen hundreds of people do this without ill effect. I know it's counterintuitive, but it works. The times it doesn't work are listed in the post, but it's basically when there's limited headcount.


Shoot me an email at aline@interviewing.io if you'd like some mock interviews on us. I'm sorry we didn't get you there... but if it's a matter of more reps to get your speed up, happy to get you those for free.

I hope Mike jumps in to answer your question about where the book fits in, in a world where speed matters more than it used to.


I added my response in this thread! :)


I'm Aline, one of the authors. We actually doubled down on teaching the fundamentals in this book. If you've read it, please tell us where we could have done better.

If you have not read it, check out two of the technical chapters to see our approach to teaching binary search and sliding windows and let us know what you think: https://bctci.co/free-chapters


Sorry the opinion was based on the prior version of the book. I took a look at the link. My honest opinion is that binary search is kind of rushed in its break down. On the other hand, I really liked the explanation of the various sliding window problems since that is a topic that is normally not covered in CS fundamentals. I also like the pseudocode -- it reads well. I think a book focused on concepts could serve as a delightful companion to this book. Or simply add the pages. Thanks, i'm sure you will sell tons of copies.


Hey! Not sure if you used our negotiation service or just used advice from one of our blog posts.

I'll write a long response below, but obviously my long response doesn't help you if your offer got rescinded for negotiating. If it did, I am really sorry and take some of the blame. Would you mind sharing more of your story (especially if it didn't fall into "small headcount" scenario above) so we can do a better job about putting caveats on our advice?

That said...

In general, our advice holds for both large and small companies, but there are some caveats around 1) how much headcount the company has, 2) whether you're a jerk (can't imagine this was the case here!), and 3) whether you're negotiating directly with a founder.

- You’re applying for a role at a very small startup. In this situation, it’s very possible that the startup literally just has one headcount, and in that scenario, they may just go with the candidate who accepts their offer first. To avoid this scenario, ask how many open headcount the position has. If it’s small and if you’re junior, then skipping the negotiation portion makes sense.

- You’re a giant jerk during negotiations or you blatantly waste the company’s time. When we say “giant jerk” we mean being straight up rude to your recruiter. We do not mean advocating for yourself or asking for more money. And when we talk about wasting the company’s time, we mean drawing out the negotiation process for months, asking to talk to more than 5 people on the team, and still not being able to make up your mind.

Also, regardless of these two scenarios, negotiating with founders is very different than negotiating with recruiters. It's a long explanation, so I'll post it as a reply.


I did not use your service, and that might have made a difference.

I don't blame you at all, I just wanted to share my experience. Here are some relevant details:

During the interview process the company told me their budget for the position. The company has about 130 employees, about 40 engineers, so not super small but not large either. Upon receiving an offer, they offered me the max for their budget. It was an acceptable amount for my circumstances, but I also knew it was slightly below market rate. In an email, I wrote something along the lines of "I'm excited to join but I need to consider some other offers. I would sign today for a 10% base salary increase." They told me to take a hike. Unfortunately I was bluffing (no other offers) and I had recently been laid off and I needed a job, so I backtracked and was and to secure the position.

I think I made some mistakes in this process, such as

1. Not being honest with myself about whether or not their max salary was acceptable

2. Not securing multiple offers at the same time as recommended by interviewing.io (though in my defense I still don't know how to do this, recruiter teams work at extremely different speeds and I tried hard to get multiple companies to align - perhaps this is where the service would shine)

3. Bluffing about other offers when I didn't have leverage

I think reading all the articles and watching the videos on the site made me optimistic and feel like money is just waiting to rain on me if only I ask for it, so at the time I was disappointed that it didn't work as expected. It's been about a year and a half since that experience and at this point I'm at peace with it, but I think I'll behave slightly differently the next time I'm in a negotiation situation. My biggest takeaway is that if a company states a budget, it's valid to assume that its a hard upper limit.


Thank you for sharing that. I am floored.

Do you have some time to talk? You don't have to, and it'd be a big favor to ask for your time, but I'd love the opportunity to dig in a bit more because this is really surprising to me. Even in the kind of crappy market we had a year and a half ago, for asking politely for a small raise to result in being told to take a hike doesn't compute. So either I need to update my priors (important because I don't want other people to run into this!) or there are some extenuating circumstances here.


I reviewed my email exchange with them (I am an email hoarder I guess) and it isn't as bad as I made it sound. I added my email to my HN profile, feel free to reach out and I'd be happy to provide you a copy of the email exchange.


I also should have said in my top level comment, other content on the site was absolute gold and helped me a ton, particularly the system design info. I appreciated the site as a whole during my job search.


Ok, there are some things to keep in mind when negotiating with founders rather than recruiters. (I just grabbed this from the book and edited it down a bit.)

At young startups (seed and possibly Series A), there often isn't a recruiting team. Until a startup hires a recruiting team, usually one of the founders handles important hiring-related tasks, such as negotiation. Even if they do have one or two recruiters on staff, sometimes the founder hasn’t handed over the negotiation reins to them yet.

In case you do find yourself negotiating with a founder, here's how to handle it because if you treat them just like recruiters, the results could be disastrous.

Here’s the most important difference between recruiters and founders. Recruiters are doing a job, and at larger companies, they’re often following a script. Though we always advise you to be enthusiastic, gracious, and courteous (and we take great pains in our copy to do so), at the end of the day, there’s an undercurrent in our negotiations: if you read between the lines, we’re practically shouting, “Look! Here’s my leverage! I’m cold and calculating and indifferent! Money talks!”

For founders, everything is personal. The company is their baby, and talking to them like they’re a recruiter may upset them and make them think you’re wasting their time. Moreover, many founders are not experienced at hiring, especially if it’s their first company, and may not have had many candidate conversations. The playing field between you and a founder is, in this way, much more level than it would be with a recruiter.

Here’s a real story to drive these points home.

One of our users had just wrapped up the onsite at a seed-stage startup. The final step was to meet (once more) with the founders. During the call, they asked him where else he was interviewing. Using our playbook, he was deliberately vague and said that he’s interviewing with a number of companies, at various stages, and is unable to share more information at this time.

The founders dug in and asked several more times if he was interviewing with big tech companies. He held the line, even though the founders were visibly surprised in the meeting that he wasn’t more forthcoming.

After the meeting, the candidate got an email from their recruiter saying that they wouldn’t be moving forward because “we aren’t sure what you’re looking for.”

What happened here? Here’s my best guess.

After spending several weeks of interviews telling them how interested he was in their startup, the founders were shocked to find that he wasn’t fully bought in and was still considering other companies. Moreover, going into the conversation, the founders were probably worried that this candidate was interviewing at FAANGs and other big companies and that there’s no way they’d be able to match big company compensation. It’s a real thing.

As such, they made the calculated decision to stop investing in this candidate because they’d be unlikely to close him.

As a former founder, I can relate to the visceral irritation that comes with feeling like someone is wasting your time. But as a former founder, this decision strikes me as naive – if a candidate is spending time with you, it’s on you to sell him, and you sell til the last minute! However, founders don’t always feel this way. Their time is limited and the opportunity cost of any time spent is very high. Moreover, as we discussed earlier, they’re not recruiters – they have less experience navigating these conversations, and for them it’s personal.

So how do you deal with founders? Here’s what we recommend. Incidentally, the advice below assumes that you’re OK with the cash hit you’d invariably take when working at a startup and that you’re going into it with your eyes open. If you’re not actually OK with it, please don’t waste founders’ time! And if you’re using small startups for interview practice, shame on you. Not only is it unethical, but the types of questions and feedback you’ll get will likely be non-indicative of what you’ll see at big companies.

When founders ask where else you’re interviewing, you can say that you’re excited about this company and that you’re talking to a mix of startups and big companies.

If they ask you about your comp expectations and/or if they push on the big company thing, and especially if you’ve previously worked at one, say up front that you understand startups can’t pay the same thing as FAANG, and that you’re sure that they’ll make you a fair offer.

If they give you a compensation range at the beginning of the process, take it seriously. Large company ranges are often fungible (we’ve seen FAANGs go $100k+ above their ranges with proper negotiation). Startup ranges are much less so, when it comes to cash. You may be able to negotiate a lot more equity, but if you don’t want equity, think seriously about whether you even want to continue with the process.


I replied to your other comment but I think this your point at the end is my biggest learning from the process. Small(ish) companies don't have the luxury of significant swings in their budget. I think I assumed there would be some flexibility when there wasn't.

If I decide money is my biggest motivator for a new job the next time I'm looking, I'll probably sign up for your service to get coaching, I imagine getting guidance on navigating the FAANG process would be useful.


Hey, my name is Aline. I'm one of the authors of Beyond Cracking the Coding Interview and the founder of interviewing.io.

I have also wondered about the arms race and how it weighs against market forces for the bar going up, especially because as founder of an interview prep platform, I am complicit in said arms race and don't feel great about it (though I think the good of starting interviewing.io far outweighs the bad, but that's a story for another time).

So I looked at the data.

Between 2015 and the first half of 2022, I'd argue that "the bar" was about the same, even though a bunch of interview prep resources sprung up during that time (interviewing.io was founded in 2015, Leetcode was, Pramp was, Triplebyte was, HackerRank was a few years earlier, the list goes on).

Then, the tech downturn happened in 2022, and all of a sudden the bar jumped... because for the first time companies didn't feel like there was an acute shortage of candidates.

Here's some the data about the bar. At interviewing.io, after each interview, whether it's mock or real, the interviewer fills out a rubric. The rubric asks whether you'd move the candidate forward and also asks to rate them on a scale of 1 to 4 on coding ability, problem solving ability, and communication.

We can look at what the average coding score was over time for passing interviews to see how much the bar has gone up.

Between 2016 and 2022, the bar grew a bit (from 3.3 to 3.4). Starting in 2022, it shot up to 3.7. Is this the be-all and end-all? Of course not. But to me this is compelling data that market forces >>> the interview prep industry.


Hi Aline, thanks for the reply. That makes a lot of sense.

Even so, I do think it's worth considering what someone in your position can do to make things better. If an arms race is inevitable, can it at least be an arms race with positive externalities?

For example, if companies focused much more on security questions during interviews, that would create an incentive for devs to learn about security. Then we'd have more secure software as a positive externality -- in theory, at least.

If we could get companies to ask more questions about AI alignment, that could reduce risks from AI misalignment.

If we could get companies to ask more questions about optimizing the energy usage of apps and data centers, that could be good for the environment.

The pitch to hiring managers would be something like: The algorithms interview is not about algorithms per se. Algorithm knowledge is only somewhat useful on the job. Rather, the algorithms interview is about giving the candidate a chance to signal that they can master technical coding knowledge. It doesn't particularly matter what that technical coding knowledge is.

And, if you ask questions on topic besides the classic data structures and algorithms, that means you're measuring something different:

* You're measuring the candidate's passion to learn CS stuff that's not usually covered in interviews.

* You're measuring the candidate's ability to pick up something new on the fly.

* If you're transparent, and you publicize the topic(s) you interview for, you're measuring the candidate's passion for getting hired at your company in particular.

All of those measurements seem potentially more valuable than measuring how much time they had to study classic algorithms topics.


I love this comment, and as an author of this book, I don't disagree with a word of it.

A common misconception is that Gayle's original book put forth the "right" way to do interviews. Gayle neither invented or encouraged the current interview structure. Gayle discusses the timeline in more depth in a Blind AMA thread you can find online. I think a lot of people are under the impression that books like thes somehow steer the interview process toward this style of interview. At this point, all we are doing is looking at the process as it is TODAY, and trying to help provide transparency and equal information to everyone. We spend several chapters in this book talking about how broken the process is and making similar points to you, but we can't write a book on an interview process that doesn't exist and while Gayle's original book is well-circulated, she (or any of the rest of us authors) doesn't have sway over how big tech companies conduct their hiring.

With that said, I think we are seeing companies start to incorporate other interviews precisely for the reasons you've mentioned. It isn't uncommon for smaller tech companies especially to have a DS&A interview, but also include a system design interview, and maybe even a practical "build something simple like a tic-tac-toe game in front of me while I watch" kind of interview. I do believe things are getting better and more fair over time (remember two decades ago Google was literally asking riddles in an attempt to screen people). I don't buy into the narrative that these interviews should go away entirely (and if they did, it would take at least a decade) because they are still a reasonably effective way to interview people at scale. The Pragmatic Programmer guy actually had a great take on this here: https://x.com/GergelyOrosz/status/1891212829346435103


100%. I agree with everything you said. The interview is supposed to be about whether someone can master new stuff. I've heard good interviews described as "being smart together". Drilling on questions flies in the face of that.

Here's the problem. It's really hard to get companies to change.

A bit of a long-winded answer that I hope will come back around...

I don't feel great about my role in perpetuating the interview prep industrial complex. It wasn’t my intention – to this day, interviewing.io is first and foremost a hiring company that’s trying to make eng hiring efficient and fair (though bc of the downturn we've been doing less hiring than we'd like). Our goal is to find the best performers, regardless of who they are and how they look on paper, and get them into any company they want.

So why do we do mock interviews?

Mock interviews were supposed to be a way to attract people to our platform, not an end in itself. Over time, though, mock interviews have become a larger and larger part of our business, and that’s part of the reason I wanted to write this book. I'm hopeful that changing the conversation around prep and empowering engineers to learn the material rather than memorize the material will make a dent in an industry that is, as of now, headed in the wrong direction.

The other thing we’re doing at interviewing.io is gathering a massive interview data set. Unlike other mock interview platforms, we don’t tell our interviewers what questions to ask or how to interview. Instead, we let each interviewer run their own process. This means that we end up with a lot of “interview biodiversity” on our platform.

I'm hopeful that, over time, we’ll be able to use that data to do a retroactive analysis where we look at users’ outcomes and which mock interviews they passed and failed to figure out which types of interviews carry the most signal and, over time, conclusively come up with some best practices around the best way to surface good engineers. Because it can’t be what our industry is doing now!

The other piece of the puzzle is having enough mindshare, when we do figure out the answers, to have people listen. We've already blogged a LOT about what companies can do to hire better. Here's our collection of posts specifically for employers and how they can hire better: https://interviewing.io/blog/category/for-employers-how-to-h...

The reality is that employers don't care. They won't change their behavior unless you're somehow making things 10X cheaper or faster. So that's what we want to do, both with respect to how companies hire (making it be about what people can do instead of the brands on their resumes) and with respect to how companies interview (hopefully moving away from toy algorithmic problems that people can drill on and memorize).


We did an experiment at interviewing.io a few months ago where we asked interviewees to try to cheat with AI, unbeknownst to their interviewers.

In parallel, we asked interviewers to use one of 3 question types: verbatim LeetCode questions, slightly modified LeetCode questions, and completely custom questions.

The full writeup is here: https://interviewing.io/blog/how-hard-is-it-to-cheat-with-ch...

TL;DR:

- Interviewers couldn't tell when candidates were cheating at all

- Both verbatim and slightly modified LeetCode questions were really easy to game with AI

- Custom questions were not gamable, on the other hand[1]

So, at least for now, my advice is that companies put more effort into coming up with questions that are unique to them. It's better for candidates because they get better signal about the work, it reduces the value asymmetry (companies have to put effort into their process instead of just grabbing questions from LeetCode etc), and it's better for employers (higher signal from the interview).

[1] This may change with the advent of better models


A couple years ago, we were using a take home coding assignment as a hiring signal. It was a small API based off something I'd built for an internal tool. It was self-contained and relatively easy to explain. The .md file was about two pages.

I recently fed it into ChatGPT and asked it to do the assignment. It did it perfectly -- I read the code in detail and couldn't find any issues.

So custom questions are off the table now, too. We'll be using a code review instead for the next round.


Founder of interviewing.io here.

Clarification: Just because companies don't want a 3rd party like us providing them with junior candidates, it doesn't mean they don't want them. Even back in 2017-2019, when the market was booming, we couldn't get employers to take our juniors... because they generally have their own robust pipeline.

So the solution is to go to companies directly, rather than relying on a 3rd party service like ours, which companies tend to use specifically for roles they can't fill on their own.


I'm not really sure what you're saying here. My point was that the market for talent is not particularly competitive, with the opinion of interviewing.io given as an illustration of that.

You seem to be confirming that the market for talent isn't competitive - in your view, companies have more applications than they want.

Or maybe you're going for a different point? For the suggestion, my experience is that companies won't consider direct applications either, and in the general case do not ever even list junior positions. (An observation which is not unique to me; see e.g. https://marginalrevolution.com/marginalrevolution/2022/07/fr... )

If you're worried that I'm implicitly slamming interviewing.io for claiming to do something very different than what they actually do, I don't think you've rebutted that - "if people perform well in our interviews, we will introduce them to top-tier companies as long as we think their resume looks good" isn't particularly similar to "if people perform well in our interviews, we will introduce them to top-tier companies, regardless of how they look on paper".


Yes, companies do indeed have more applications than they want (I'd argue that means the market IS competitive).

The point I was making is that even though companies don't want to hire juniors through us, they still DO WANT to hire juniors in the absolute. So junior hiring isn't dead.


>> The market for talent is competitive. So companies bid up to the absolute max they can - The market for managers is also competitive. Creating dynamics that lead to larger teams and raises for team members - Companies allow things like remote work, which is a perk

Here, saying "the market for talent is competitive" clearly means that hirers are competing with each other over potential employees. Deciding that you already have too many potential employees is the opposite of that. It would mean that the market to sell talent is competitive, which isn't what was claimed.


here's the correct URL. i'm going to see if i can delete and repost! https://interviewing.io/blog/how-well-do-leetcode-ratings-pr...


It works now. Thank you



Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: