Hacker News new | past | comments | ask | show | jobs | submit login
[flagged]
avinassh on Jan 7, 2023 | hide | past | favorite



Hi, ACTUALLY Gayle Laakmann McDowell here. This substack is not mine. It is an impersonation. I reported but substack hasn't deleted yet. I commented and I was, of course, banned.

(And please upvote this so people see :). Also, feel free to comment on the substack that this is an impersonation.)


I submitted this post on HN thinking it belonged to you. I guess I made the matters worse and brought more traffic to the site. I don’t see the delete option now. I am really sorry. Please let me know if there is anything I can do


Yeah this is really odd. If you had a personal blog and someone was just copy/pasting your articles to Substack in order to get subscribers I could see it. But based on your comments below it sounds like you didn't even write this (or accept a guest post), it's a complete fabrication in terms of author and post. TBH I wonder if this is a ChatGPT post though it seems almost more like someone is whining and wanted to use your credentials to get on top of HN.


The formatting of the paragraphs definitely gives Credence to the idea that this could be chat GPT


Damn, that’s rough. I am sorry this happened to you. I hope it’s taken down soon.

Doesn’t detract from the fact that your books are excellent, though! Thank you, they’ve helped me very much at certain points in my career!

Edit: They’re referring to it as a “guest post” now in the comments - ridiculous.


Hi Gayle. I've emailed the HN moderator, referencing this comment and your tweet. Hopefully the impersonated site can at least be banned on HN.

This is already the third submission from it here: https://news.ycombinator.com/from?site=gaylelaakmann.substac...


We've banned it. Thanks.


What is the gain in this impersonation? Seems weird af to me.


Get traffic, sell subscriptions / products


Sure but if you can churn this out why not do it organically, or if you must fabricate: through a persona?

I can't imagine this pays off once the real person finds out and gets it closed.


It's gone now.


Did Gayle write this? It’s hard to believe that someone who has published multiple best selling books would be struggling with looking for a job and even with paying rent.

EDIT: It’s probably not her. Gayle has a CS degree from upenn while the author of this article states that s/he is not university trained.


Hi, this is Gayle. This is not my substack. This person is impersonating me. Reported.


No, it’s a guest post. She added a note about it being a guest post now (it wasn’t there when I first read it)

Note that the Substack owner (Gayle) has an incentive to convince you that tech hiring is broken; She is the author of a famous book about how to master tech interviews. This anecdote about someone quitting a contract job 3 months in, putting a 4-5 month gap on their resume, and then wondering why they’re not immediately getting job offers from the first companies she applies to in the middle of a huge tech recession isn’t really a mystery. It’s presented as if the person is merely being unfairly rejected by bad interview processes. The implicit story is that you’re supposed to buy the Substack owner’s book about coding interviews to overcome this problem, but the anecdote author is going to have to tap her network and apply to a huge number of jobs to overcome her less than ideal resume.


> Note that the Substack owner (Gayle) has an incentive to convince you that tech hiring is broken; She is the author of a famous book about how to master tech interviews. (...) The implicit story is that you’re supposed to buy the Substack owner’s book about coding interviews to overcome this problem

One explanation is that she wants to convince you that interviews are broken and that you need to buy her book (or hire her as a consultant to improve your hiring process).

Another explanation is that thanks to her decades of experience in the field, she honestly believes that she can help you nail these interviews if you know what to learn, so she created the books to help you prepare for the interviews, and get well paid and (potentially) interesting jobs.

In the first, she makes up a problem only to sell you the solution. In the second, she identified the problem, and created products to help you overcome this problem. When both are reasonable explanations, I like to give people the benefit of the doubt.


Hi, this substack is an impersonation. Not a guest post -- this isn't my (Gayle) substack at all.


> less than ideal resume

I don't see how it's "less than ideal" to end a contract job when the contract's up; even if it's contract-to-hire.

And I don't see how a 3-month lacuna in your resume makes it "less than ideal". I took four years out when my kids were small. Oh, I worked - I learned new languages, burnished my skills, and made a little money selling some software I had written; but on my resume, it looked like I'd taken a 4-year holiday, which I'd dressed-up badly as some kind of freelance work.

FWIW, I'm not a good programmer either, despite having spent most of my career programming. I'm fine with a block of code, or a module; but beyond a certain level of complexity, I don't seem to be able to produce clear designs.

Didn't stop me getting jobs.


She still didn't share who the author is though. Weird.


Were I the author, I wouldn't want for someone to know my name either.

The last thing I would want for a potential employer to know is that I was in a self-confidence crisis or that I might even be right that I wasn't a good developer.


Maybe I’m cynical but she wrote a controversial post about hiring to increase her top of funnel traffic for her services and new substack

Wouldn’t be the first time


The substack is an impersonation. Not mine (Gayle).


This substack is an impersonation. Not mine (Gayle). Reported.


It claims to be a guest post, but it honestly reads very much like a fictional story carefully written to emphasize the importance of her books and services, while also maximizing engagement/outrage. The character doesn't seem super plausible either in terms of the history or in terms of how they respond to failures.

Edit: Actually looks like it's a very old story instead, which made it seem implausible in modern context: https://news.ycombinator.com/item?id=34289608


The substack is an impersonation. Reported.


Gayle confirmed this site is an impersonation of her and she did not author this. Seems like the post is made up.

https://twitter.com/gergelyorosz/status/1611748759553150985


It's confusing. It feels like it's written as a joke to highlight that we shouldn't feel bad to get interviews rejections. But It's missing the punchline.


So is her blog hacked or is this someone impersonating her?

I also generally don't understand her background, and I see this quite a lot with Silicon Valley backgrounds, so it's more of a general commentary on these types of backgrounds. She went from being an engineer for just three years out of school to founding a consulting firm, publishing company, and publishing books on cracking code and project management interviews. How does that jump happen? Where do people like this get the experience and expertise to write books like this and consult despite only ever having one full-time job before jumping into it?


Hi, this is Gayle. This substack is impersonating me. Reported.


> Where do people like this get the experience and expertise to write books like this and consult despite only ever having one full-time job before jumping into it?

Networking mostly.


The same way sects and religions exist. Because some self appointed guru decide to cry out loud he knows the truth.

It is not about expertise.


Many of the mid-range successful small SaaS companies sell courses/books/newsletters to other people trying to start their own SaaS companies. It is one of the annoying parts about the current indie dev scene.

The qualifications of the people running these companies is usually questionable.


They might be wealthy and not have needed to spend much time on the traditional career track. Nothing against them for that. I have observed this a few times.

Or they may have support in other ways, friends, family, partners, something, such that it was possible to make the switch.


its more profitable to sell shovels. Hell i wish i had the idea for leetcode.com, the amount of time i invested in doing leetcode, i might actually have a viable business instead of spending hours doing random puzzles.


It's not, it says "Note: Guest Post"


It's an impersonation. Not mine (Gayle).


ah, good catch! I suspect this just got added though


It's an impersonation. Not mine (Gayle).


Yeah, this was a very confusing and unhelpful aspect of the post. It's not clear until too far in that it's not her. She should have prefaced it by saying it was reader-submitted (or however it ended up on her substack).


This is Gayle. This substack is impersonating me. Reported.


At least now at the top it says that it is a guest post


The substack is an impersonation. Not mine (Gayle).


Maybe she read this thread :)


I took it as a fictional story critiquing the hiring process.


This is so strange. Is it a substack hack? Is it a marketing strategy? It is bad truncation?


It's an impersonation. Not mine (Gayle).


It now says "This is a guest post" but it does not say who the guest is


Yep this was pretty confusing, even with the ‘guest post’ but only her name.


I assumed it was her earlier in life until half way through.


Perhaps there’s some context missing. My assumption though is that this definitely is not Gayle but it’s perhaps part of a kind of advice column?


It is an impersonation. Not mine.


No. This is Gayle. I did not write this, nor is this my substack. Reported.


It now says on top:

> Note: Guest Post


This is what happens when you let your job define your life.

This person needs therapy, not more Leetcode practice. This reads like a person who is having a mid-life crisis and hasn't found their role in life. Which is sad, because they seem to have a partner and a child, and as a dad myself, I know I'm vastly more concerned about being a good dad than I am about writing efficient code. In fact it's made focusing on work pretty hard, because I just don't find it that important anymore. It's hard to find the motivation to push yourself at work, because in the grand scheme of things, it doesn't matter jack shit.

Also, you KNOW these interview processes are bullshit, so why would you let poor performance when doing them affect your self-image so much? Being good at software interviews and actually being good at your job are vastly different skillsets, but interestingly, being good at interviewing is a better paying skill to have. This has been known for over a decade.

If you're struggling for money, take some time to learn how to game those useless interviews. You can master the process in a couple of months. If you're a veteran of the industry, reach out to old colleagues and see who's hiring. I didn't even interview for my current job, the CTO just vouched for me and I was hired. That's what happens when you take time to build a network. and I don't mean "networking", as in sleazing up people at conferences and spamming linkedIn invites. I mean keeping in touch with people you've worked with, who know you're a reliable person who gets stuff done, and isn't an asshole.

And if money isn't an issue, focus on appreciating what really matters in life; your family. Algorithms and data structures can go fuck themselves, they're not important.


[EDIT:] The substack is apparently an impersonation: https://news.ycombinator.com/item?id=34289824

I recommend flagging the submission to take it down.

[ORIGINAL UNEDITED REPLY:]

> This is what happens when you let your job define your life.

This is such a bizarre response when the author talks repeatedly about their family and supporting their family.

> This person needs therapy, not more Leetcode practice.

This person needs a job. "This is the last month that I can afford to pay the rent and bills without going back into debt"

How much therapy do you think one can afford with no employment?

> If you're struggling for money, take some time to learn how to game those useless interviews.

How can you "take some time" when you're running out of money? The author already allotted a number of months to get a new job but seemingly underestimated how long it would take, which is of course a problem, but underestimating how long it takes to get a new job is not a "therapy" type problem, it's just a misestimate of the job market.

Repeated failure can break almost anyone's confidence in themselves.


Yeah, life without money is very dangerous. My model of life is there are 3 engines: money, physical health, mental health. If two go down the last one is doomed. If money engine goes down, it's REALLY hard to keep physical and mental health going. Imagine, going exercise every day while recovering or preventing mental health to go down .. and while trying to start the money engine. This shit is brutal!


Individualism in the US also blames the victim for not pulling their bootstraps up hard enough. My hope is the social safety net can be rebuilt once this populism wave has passed


I would say mental/physical health is intertwined.

The big 3 is closer to fulfilment, health and needs imo... bit reductionist of Maslow's hierarchy but I think it's accurate enough.


> I know I'm vastly more concerned about being a good dad than I am about writing efficient code

> Also, you KNOW these interview processes are bullshit

Man does this speak to me. I know I’m a good software developer (even if I’m not amazing). I was never computer science trained but I’ve never had problems on the frontend, backend, mobile apps, etc… not saying I know everything but I know my domain inside out. I was approached by a Google recruiter and thought “what the hell” and started the process. Before I knew it I had five interviews queued up and the recruiter advised me to read a book on Google’s tech interviewing practises to make sure I pass.

I don’t have time for that. I don’t want to have time for that, I have other priorities in life. The process seems very much optimised for new college grads with time to burn. I won’t work at Google, so be it. But much less secure single, no kids, 20-something me would be horrified by having to accept that.


> Before I knew it I had five interviews queued up and the recruiter advised me to read a book on Google’s tech interviewing practises to make sure I pass

Your comment describes my experience with Google so far, in fact I'm sure my recruiter advised me to read the same book.

I still don't know if I want to work for them and if I end up getting rejected I won't be too unhappy, since I'm doing fine at <current job>. The preparation part has felt slightly alienating.


Good on you. I won't jump through hoops for one time things that don't matter, I see such requests as abuse.


This substack is an impersonation. It is not mine (Gayle Laakmann McDowell). Reported. (I also commented on the substack but I was, of course, banned.)

(And if you have any doubt about whether this is really me, please check my twitter: http://twitter.com/gayle.)


I’m sorry someone is impersonating you. I will say that ”Cracking the Coding Interview” was very helpful for me early in my career. Thanks!


Thank you! :)


> This is what happens when you let your job define your life.

This does seem to be at or near the root. This much pressure being put on the author is likely what is throwing them off.

But.

Assuming she lives in the US (seems safe based off of her work history)... your job kind of IS your life.

No job means no health insurance. No health insurance means one mistake (yourself or dependents) and it could be over. Once it's over, unless you have a personal safety net to catch you, you're just... fucked. You're fucked.

That's a lot of pressure, and it's so dumb that we couple something as crucial as healthcare to our jobs. Some corporate fat cats are laughing in their graves that they pulled this off.

I'm sorry author. I hope things pan out for you and your family.


> It's hard to find the motivation to push yourself at work, because in the grand scheme of things, it doesn't matter jack shit.

This is it. You’re trading your time for money, so the company can make more money. That’s it.


Smart people who are out of work quickly become neurotic. The interview process is an exercise in humiliation. Placing a neurotic person into a series of humiliation rituals is a good way to make them more neurotic.

A better way to get a job is to follow a lighthouse strategy; build something cool, present on it, then side step the humiliation ritual (have the employer agree that you are being evaluated this way). Or cheat, get access to the evaluation procedure before you are evaluated on it. Everyone has their favorite interview problem, and they like to brag about them (see comments below), find out what they are into, then train up on these problems before you engage with their humiliation ritual.

As for therapy, instead I would recommend coaching (someone who works with salespeople), since they are good at rebuilding confidence after each humiliation. Remember, the interview doesn't actually evaluate you, don't believe its results, it's mostly a randomized process. I could come up with simple-seeming problems to stump most people, especially stressed out developers. The author of this post has lost her perspective, and her article is being posted by someone who makes money from the humiliation ritual.

Knowing that you will become neurotic, look for work while you have work. If you are coming out of school, where everyone is single-tracked, know that the corporate world isn't fair. The corporate world is also disorganized, you could call someone within the software group and just ask them how to prepare for the interview, get creative.


They need therapy because hiring practices are broken?


Wether it's directly applicable or not, I'm reminded of the following quote:

It is no measure of health to be well adjusted to a profoundly sick society.

-Jiddu Krishnamurti


They need therapy, because they need to stop unnecessarily blaming themselves for things they have little control over (e.g broken hiring practices). They need to divide their ego from what externally happens to them, and instead build it upon what they stand for (something which can't be defined/destroyed by the external). They need to stop focusing solely at their failures and misfortunes, and acknowledge that other people often face the very same or similar problems, and even had successes were others have failed.


Sure, but when do you realize you need to switch to a different career if you truly are bad?


The point is that, it is entirely up to you to decide.


More like broken hiring processes are a fact of life and therapy can help people adapt to the crappier aspects of our existence


More like broken processes are something we should rail against, and therapy can help people process the crappier aspects of our existence that we haven't solved yet. (Nobody can work on every problem at once, after all.)


At the same time, I have put a ton of thought and effort into my company's hiring process, and still I see people melt down from nervousness or just get into their own head during the pair-programming part interviews.

We do everything we can think of to make the process as close to working together on the kind of code that candidates would work on at our company, but ultimately you can't get rid of the fact that someone is being actively assessed as they're working.

When I see people are psyching themselves out sometimes I'll ask them if they want to take a little time to get their thoughts together, end the call and come back when they've got a groove going, or reschedule the call. Because people who are in their own heads trying to code while I'm watching them simply cannot put up a fair representation of their abilities.

As an interviewer there's only so much I can do to help people with that. I try to take what I perceive as nerves or difficulty when I make a hiring decision, but I've also observed that people who are really struggling in this way in an interview are often going through something in their own lives that ends up interfering with their ability to be effective at work. So it's hard to balance.

So I guess what I'm trying to say is that therapy can be beneficial regardless of the brokenness of the hiring process.


> At the same time, I have put a ton of thought and effort into my company's hiring process,

Thanks, but I think there's only so much you can do. Part of the problem seems to be that there's such a thing as a "company hiring process" in the first place. (I don't know how to fix this; most problems seem to get solved by a thousand people making incremental improvements, so you're probably helping regardless.)

> So I guess what I'm trying to say is that therapy can be beneficial regardless of the brokenness of the hiring process.

This is definitely true. Though: therapy can be expensive, a good therapist is hard to find, and a therapist that works for you can be even harder; so it might not be worth seeking therapy for everyone.


Therapy is like an expensive paracetamol. In fact, their prescription drug is more dangerous to health than paracetamol.


The only way we could rail against shitty hiring practices is to basically enact large scale societal reforms. At the moment, corporations are just doing their prerogative and causing massive psychic harm, but that's simply par for the course. It's simply better to cope with how fucked things are then to imagine shit posting on Twitter could change anything (or you can go read socialist theory, but we all get paid huge salaries, so no one really wants to bother with that)


No, but because the author thinks she is the problem with intense suffering, even after describing a massive amount of knowledge, practical experience and teamwork abilities. The recruiting process is rotten, that's for sure but it's concerning she's judging herself so harshly.

Maybe $parent was a bit harsh.. let's say she needs a lot more friendly support to get her mind out of this pit.


We actually don't know if the author is male or female, it is a guest post on that blog.

And actually, we don't even know if the blog itself is really written by Gail, since someone just posted that _they_ are the real Gail and it wasn't written by her.


Correct. This substack is an impersonation.


Yeah, man or woman doesn't matter. There's a tangible anxiety at the end of the article.


They need therapy because they let the broken hiring practices get to them.


That's why our industry sucks (probably some others too). Instead of improving the game, we just like lets gives up, it's unfixable. Dang, it's not that bureaucratic govt .. a lot of tech people in C levels, and we are constantly bullshit-ing our workforce. 4-5 rounds interview for what sake!? Higher barrier, only backdoor network?


Maybe it’s just me but OP feels a little bit satirical!

Or maybe I’m projecting… I’m convinced that when I don’t do well in an interview that it wasn’t ever going to be a good fit. The fact that this happens more often than not is just a sign that most organizations are a dumpster fire.


How are they going to pay for therapy with no income and no health insurance?


> This person needs therapy, not more Leetcode practice.

Well, sounds like they need a job, tbh...


Despite being a fake I think it does present a good area for discussion; as you noted these bullshit hoops only exist to (try) keep mediocrity out -- most people aren't great at writing software so, ultimately, the realization that (fake) Gayle arrives at is probably quite common just, obviously, kept on the low.

tl;dr there's enough abstraction now that as long as you can attend standups you'll pay the bills who cares if you're not T.A. Davis? Not like the company you're applying to is any better!


[deleted]


It's a guest post


real life doesn't work like you said. their suggestions are no different from people who put their work on the basis of their life.


The Leetcode-driven hiring process is designed as a short hurdle for the just-graduated B.S. in Compsci degree holder; the knowledge to pass these interviews is arcane to anyone who has worked 'in the real world' for any length of time and inevitably had to defrag their brain to fit in other arcane knowledge, like how to develop a web app in 2023. Obviously companies have realized that they can tune their hiring process (Leetcode, et al) to be a short hurdle for the fresh B.S. Compsci grad that they can convince to work ungodly hours before forcing them out due to burnout in a few years and repeating the process.

All of this to say my brain is not big enough to fit both 'Dijkstra's algorithm' and the CSS 'grid' property shorthand at the same time.


hmm... now you saying this I realize that I can spit out Dijkstra, but stopped following CSS's vast amount of positioning quirks at some point.

my favorite (provocative) challenge to software developers/engineers is to produce the formula for the solution of a quadratic equation. since it's vastly irrelevant to web or systems development, like 90% of all respondents do not know it. even though they graduated top marks from top universities. the you can ask them which language of their daily-used is based on ternary logic (hint: one for DB queries) and they'redone.

in reality most large IT shops tend to have their own churches with important dogmas to respect/follow. very often also large amounts of wrongly/weirdly implemented stuff (not only code) back in the day, which just stayed... in production. so you're going to have to defrag your mind to keep the legacy stuff in while taking the transcendental knowledge out. how pity, isn't it.


Do you give people the formula and just have them implement it? That seems just like a weird test to see if you have the stdlib of your language memorized or not. And if you don't give them the formula it seems like you're just testing their memory of 8th grade [pre?] algebra.

Regardless that sounds like a question I would probably get right (maybe not to your bar though) and then remove myself from consideration based on inane interviewing.

The best interview loop I was ever on was for my current job. 45-ish minutes in coderpad with a staff engineer going over actual data and writing a few actually-used methods doing specific things. A 90-ish minute system design session with a few senior SREs designing a feature that already existed but had a lot of interesting edge cases. And a 60 minute behavioral interview with a couple managers. On the longer side but all on different days and all using real-world things from that job. Google whatever you want to google. Ask whatever questions you want to ask. Nothing remotely approaching a quiz, gotcha questions, inane trivia or unrelated math.


What do those two interview questions reveal to you about a candidate?


> you can ask them which language of their daily-used is based on ternary logic (hint: one for DB queries) and they'redone.

It might be better to phrase this as "tri-state logic"; that's the usual term in electrical engineering, and is probably more familiar to programmers. When you said "ternary logic", I thought this was referring to the language philosophy, and spent a few minutes trying to work out how SQL was based on ternary expressions.

Though, if you're testing your interviewees' ability to ask sensible follow-up questions (and they're in an environment where they expect to be expected / permitted to do so), then perhaps the confusing use of terminology is okay.


Max Howell (the creator of Homebrew) famously was rejected from Google for failing some technical interview puzzle. [1] And it wasn’t before he created Homebrew — the interviewers knew that most of their employees used his software! I have no idea what his skills are like — maybe he can’t invert a binary tree, maybe the Homebrew code was bad, I don’t know. But either way, he wrote some code that was giving a lot of value to a lot of people.

I know a rejection or two or ten can start to pick at your self confidence. But a technical interview is so far removed from what makes you a good developer that you need to resist the urge to judge yourself on that basis.

[1] https://twitter.com/mxcl/status/608682016205344768


We have no idea why Max Howell was rejected. Only the interviewing team knows that. Maybe there were a variety of other problems. Maybe he came off as a complete asshole during interviews. Often not knowing something is fine during an interview, sometimes the point of the interview is to see if you can ask good questions and collaborate with the interviewers, take advice, without becoming defensive or combative.

Even if feedback was given after his interview, it's often the case that the real reasons are too sensitive or controversial to feed back.

You can't trust a candidate when they complain about why they were rejected. They really don't know.


> Often not knowing something is fine during an interview

No it's not, from my experience. I've had Google jackasses push away from the desk during interviews chuckling "how much do you program?" when you don't know their pet quiz.

(The answer to the last question "is more than you", but ashamed I've never said that)


The prick culture at Google is entrenched. I (jokingly) blame Stanford.


> You can't trust a candidate when they complain about why they were rejected. They really don't know.

Sure they know. One or more people didn't like them. Oh, but there's nuance, details and such, but it usually boils down to one simple - someone didn't like you as a person.


This is absolute bullshit. I have been part of many panels at Amazon, and subjective criteria like this just doesn't happen.

I haven't conducted a single interview where time wasn't an issue, so I guarantee you that there is just no time to like or dislike the candidate.

What kind of opinion about "likeness" do you think I can form about a person when I have to ask them intense questions over an hour?

Yeah I probably won't like a candidate that is obviously way below the hiring bar, and I will probably like a candidate that provides solid answers to all my questions. That doesn't change at all the outcome of the interview.


> You can't trust a candidate when they complain about why they were rejected. They really don't know.

> Yeah I probably won't like a candidate that is obviously way below the hiring bar, and I will probably like a candidate that provides solid answers to all my questions.

So, which one is it? Do you have time to like/dislike a person, or not?

> That doesn't change at all the outcome of the interview.

It clearly does.


> So, which one is it? Do you have time to like/dislike a person, or not?

No, you don't, not for what you are talking about which is their personality.

You will like their skills or dislike their lack of skills, which is what is being evaluated.


After working in the industry it is easy to realize that "code providing a lot of value to a lot of people" does not at all mean "good code".

When I was 15 I had a website with 80,000 members, yet my code was shit and any company would be simply reckless to hire me. I had a friend that worked on World of Warcraft private servers code when he was also a teen, it was used by millions back then, and yet he told me he was doing little more than copy-pasting code from somewhere else until it worked.

For small teams and solo developers, compared to having business value, the importance of having good code is not even secondary, it's barely a concern at all. For a big company like Google, priorities are slightly different because they have the scale and the team that allows it.


I would be willing to bet that a lot of the code produced at large companies is not very good either, honestly.

Almost every company I've ever been at, code quality is a far down the list concerns for the business and that winds up infecting the dev team as well who is constantly scrambling to hit deadlines and produce business value.

Some of these companies have been in business making money on these shoddy codebases for decades.


Yeah, I can second this. I worked at a big company popular on this board and while all the devs there were obviously absurdly talented, the general level of code quality was... not good. And it's specifically because management prioritized shipping features over literally anything else, so any time you spent on designing or refactoring was a negative mark on your perf sheet (since that's then a gap where you weren't shipping anything).

Maybe the secret sauce is that if you hire good devs and make them write bad code, the code is still workable and is just a huge PITA to figure dev work instead of being totally intractable?


I think this is basically exactly it. Everyone needs to hire the best, 10x, rockstar ninja programmers that they can find. They find the people who, given time, could build absolutely amazing high quality systems.

They have to try and find those people because they can still produce working, somewhat maintainable systems in less time.

And all companies just want to give less time to build things.


At some point clean code doesn't really exist. I mean, after eliminate this two big cases; a too big function and too deep(inheritance)/wide(composition) indirection. Is pipe only function clean? I don't know, I think it's sometimes.


Homebrew is an awful system, it's the exact opposite of what should be held up as an example of a well engineered "packaging system". It's not even a proper package management system anyway, and there are far, far better systems for Mac OS X. The whole "dump everything into /usr/local" is absolutely insane, and it's depressing that the development community on OS X has fallen for it.


And yet it’s by far the most popular, easiest to use, and solves the most number of problems for the most number of people. Millions of hours of saved dev time over the years. That’s well engineered to me - engineered for users, not purity.


While many people would agree that value to users is more important than "pure" engineering/code quality, moving the goalposts doesn't nullify the GP's point. If Google was hiring to acquire Homebrew (assuming it was possible) then value to users would be a factor to consider. But if they were just hiring the person to work on non-homebrew projects, why wouldn't "pure" engineering quality be relevant?


Do the projects at Google not also have to provide value to people? Given the number of products they kill, you’d think that would be a higher priority.


In the decade or so that I’ve used it, it’s pretty much always done exactly what I’ve needed it to with no negative side effects. What else am I supposed to want out of it?


Homebrew on Apple Silicon is finally at /opt/homebrew instead.

One not very sane decision tho is choosing to not require sudo for package installations but have /usr/local or /opt/homebrew writable for more than just root.


It's OK-good. 95% of the time it just works. One thing I would love is a feature like AppCleaner to know where was dependencies were installed before they are removed. Maybe it's already capable of but I didn't know how.


Ray of sunshine aren’t ya :’)


Does it solve the problem?


This interview, what the public knows about it at least, gets brought up a lot. A package manager is a very simple system to write. Brew is very successful, and creating it certainly shows extremely good taste compared to most engineers.

But there are only so many positions for engineers with good taste to work on simple systems. Google was almost certainly looking for engineers who can build and understand large distributed systems and non-trivial algorithms. Inverting a binary tree is basically asking someone if they understand recursion. If he can't clear that bar, there will be algorithms that come up during normal work which, based on the interview, he couldn't be expected to understand.

That's all fine. I wouldn't hire him either, but I still like brew.


Yeah. If he's capable of building good stuff, but couldn't invert a binary tree, it suggests strongly that he didn't even bother to do a minimal amount of preparation, and Google is not unreasonable at all to want to filter out people who don't do that.


in 17 years of professional software development I've used a binary tree exactly zero times


Maybe you've never used a binary tree on the job to store information. If you've ever written a recursive function with two recursive calls, the call graph is a binary tree. The interview problem "invert a binary tree", is more of a litmus test for understanding recursion, which is a fairly basic knowledge item for an SE.


Same. I wrote many AI stuff during 2007-2011. After that, in industry, I use Boolean Algebra Simplification once to undo if-else hell of legacy code. It's always fixing tooling shit and third party apis/accounts/permission madness. No way I can balance a AVL tree now (give me at least 3 days)


That's not the point. The point is that if someone can't do some of the easier Leetcode style problems, they probably didn't try to prepare at all, and that can be viewed as arrogant or lazy.

I'm not disputing that binary trees might not be the most practical topic (especially inverting them).

However, given that one knows that is the sort of coding interview Google conducts, one should reasonably be expected to practice that sort of interview. Inverting a binary tree isn't hard; it doesn't take much practice with binary trees to realize how to do that. So if someone can't do that, they probably didn't practice at all. And if someone didn't practice at all, an employer is acting within reason if they draw some negative inferences from that.


Average/normal != bad

It's not that you're a bad programmer, but after reading the article you're doing the nerd-at-the-dance fallacy and doing the old spray and pray. Do the work to identify a fit, then go there and make the case for why you fit. Places where you'd just be a number are not for you because you're not a leetcoder and you don't do politics, which is totally fine.

Nerds at the dance don't identify a fit, they either don't shoot their shot, or they shoot every shot and see what lands. When you haven't identified a fit saying "I see you have a square hole there, check me out I'm your square peg" people know, and that type of limp introduction is received more as a "alms for the sick" type of interaction where you're asking for them to bequeath you with labor.

Also, lift some weights. Sounds like the rest of your life is in order, financially, skills, etc, but no mentions of fitness. When you're physically pushed to your limits, the trivial parts of life become a lot less uncertain. That confidence is exuded from every pore. What you have right now is a mind problem, a me problem, and misaligned expectations.

In your mind you're saying: They dont want me I'm a bad programmer

In reality: I have not found my square edges, I wouldn't know a square hole from a dimple or why I'd want either one.

In your mind you're saying: Other people dont have these problems, it's just me, the imposter who got themself into this programming nonsense.

In reality they're saying: Other CEO's dont have these problems, it's just me, one manager, sifting through all these flighty leetcoders who practiced the test, but not tested the practice.

In your mind you're saying: I expect a suboptimal outcome because I am suboptimal, so why try.

In reality: I feel suboptimal, I look suboptimal, I will now perform suboptimal because everything I put in my gastank was suboptimal. Stop that nonsense.

Stop listening to yourself and be better. Go find you a hole, and pick up something heavy along the way.


    Do the work to identify a fit, then go there and make 
    the case for why you fit
This sounds great but in reality it's incredibly glib.

It is almost never possible to have that sort of insight into a company until you're already working there and even then it's a challenge.


Agreed, it's also a waste of my time to do a bunch of research, figure out of I'm a "fit", customize a resume, go through the onerous application process (already have to do this) to just be rejected by the HR world filter or something else asinine.

I could use that time to apply to more companies instead, or to do a leetcode problem and stand a chance at passing an interview. Or just to watch an episode of Bob's Burgers, that would be time better spent lol.


I think parent poster's intent is that you like... do all of that stuff, except then skip HR and the leetcode shuffle.

And then presumably you... I don't know, show up outside of the CTO's house one morning? Or something? Email them directly and hope a spam filter doesn't block you? Hire a skywriter? And ask for a job?

The "you just have to network! don't be a sheeple!" folks are always vague on that part.

I have gotten jobs through networking. Most of them! It happens! It's just sort of unrealistic and glib to assume it always is possible.


"If I had at least one or two offers I might believe them, but can the system be so wrong as to consistently overlook a good developer even if they are bad at interviews?"

...yes, yes it can.


This. Interviewing is a COMPLETELY different game in the tech industry. Some people spend a lot of time and are very good at this game.

Also my naïve impression is that the market is pretty flooded right now with candidates with impressive-looking credentials (i.e. ex-FAANG employees) from numerous large layoffs, so I wouldn't be surprised if getting a job right now is more challenging than it was a year ago. I have heard anecdotally though that there's still abundant opportunity, but I'm not sure how that nets out. Maybe it just means that the top tier, most desirable jobs are super hard to get right now, but everything below that is pretty much the same? I'd be curious to hear other folks experiences.


The mistake is to assume that the interview process is “overlooking a good developer”

Interviews aren’t about accepting the first candidate who is qualified enough. Interviews are about interviewing a number of the best applicants and choosing the best one for the job.

You can be a great candidate, but if someone else is an even better candidate then you’re not getting the offer (unless the better candidate declines).

We really need to break this myth that interviews are a 1:1 challenge between the company and a single candidate.


Exactly. I've had interviews I've conducted where we had one open position, and ended up between a couple good candidates. I would have been fine hiring any of them, but we only needed one person, so we selected the one that felt like the best skills fit for exactly what we needed.

I've also had companies be open about it the other way - they liked me a lot, I had most of the experience they were looking for, but someone else came along and had all of the boxes checked for them, and thus would probably be able to require a lot less ramp-up time than I would, even if we would have probably both been fine in the role within 6 months. I can't blame them for that.


Another perspective is that interviews can also be about avoiding anyone that might be a bad developer. If you have a large pool of applicants, it's "safe" to basically reject by default and only proceed with a select few who seem like the best (along whatever axis is important). You might miss out on a really good employee, but you're also less likely to be saddled with someone terrible. The downside risk is worse than the upside risk.


For a moment there I was worried I had written this post!

I had gone through these very same feelings and thoughts. Even have the same books although I prefer different branches of maths these days.

I still find myself feeling this way some times as I start to enter this phase of life where I’m twice as old as some of my colleagues. It doesn’t help that folks start treating you differently.

I’ve advocated for deliberate interview practice. I set up flash cards with a problem description on one side and the solution algorithm on the other. I kept a spreadsheet of my practice results. I focused on the five most common algorithms and implemented a few different trees.

I too have contributed to various open source projects over the years. Openstack, Mozilla Firefox, C Python, Hy, various libraries. Nothing major but nothing to snooze at.

So a litte more than a couple of years ago when I went out looking for a job I fell into this very pit: it’s not a perfect system but it can’t be completely wrong, can it? I thought. Despite all of my hard work I was passing the first interviews fine but would choke up near the end when they got to the hard technical ones. No offers were coming through. The lockdowns were still rolling through. Money was tight. I was stressed out.

Then I did some reading. It turns out there’s good evidence that all these interview processes are good at is measuring how well you handle anxiety. It turns out that after meeting several people in a day, answering all kinds of questions, when I have so many responsibilities and needs riding on my success, I get anxious. I am also someone for whom interacting with people takes a considerable amount of effort. It was no wonder I wasn’t getting though these interviews.

I choked on the most basic things that I had practiced more than a half dozen times in these interviews. It didn’t make sense until I realized it was the stress. Under normal circumstances I’m not programming with the fate of my family hanging on recalling how to implement a kd-tree off the top of my head.

It took a while but I realized that I am a good programmer.

You probably are too.


Aw, such a great post. So encouraging.

I'm in the middle of quitting caffeine. I think that the energy boost from a 7am coffee can somewhat help you in the 10am part of a hard interview, but really work against you during the 2pm phase when it is wearing off. Your adrenaline is fading, the coffee is fading, your anxiety is peaking... I think sometimes it puts you in a state where your thinking ability is totally at its lowest but you don't even realize it.

The bad news is, the only way to avoid that trap is to escape your caffeine addiction beforehand, which can take 3 months or more to fully get free of. The good news is, it is wonderful to be free of it!


I am puzzled by how she first lists CS books, including books on algorithms, and says that she's read most of them — and then says how she is having problems with writing a function where she would apply her algorithmic thinking; or with talking through the complexity of a certain algorithm. Does this suggest that "reading" a book is not enough; that the concepts from the book have not been quite internalized, etc.? How else would you explain such a discrepancy? Because saying I've read a book is subjective self-assessment; while being able to apply the concepts from a book, or discuss them with others, is a more objective assessment?

Not that I am judging. I don't know most of what she says she does. I don't read PhD papers, or math textbooks. I am probably a much worse programmer than her. I am just puzzled by what she is describing.


> How else would you explain such a discrepancy?

Stage fright.

Even the great ones can experience stage fright: https://www.hollywood.com/general/barbra-streisand-blames-27...


We don't know if the author is male or female.


I feel the only blunder the author made is misjudging the tide of the market.

I’ve had interview periods where I left my job on a Friday and had accepted an offer by the following Wednesday. I’ve also had periods where three months brought 0 offers and I had to borrow money from a friend to pay rent. They don’t correlate with how rusty or ready I felt at the time.

I’ve observed the same experience from acquaintances that I consider competent, and some I suspect literally can’t write a loop.

Sadly, it seems that, when there’s a strong demand, literally anyone will do; and when there isn’t, perfection is not enough.

Don’t take it personally, just weather the storm and keep trying. It’s a numbers game.


I'd guess that some of that is also that the majority of the "Any developer will do" companies are the ones who just laid off a ton of people because they had too many from strong hiring in the last couple years. We're less in a mode where I'm confident I could just reply to an Amazon recruiter and have a job within a week or two than we used to be.

There's also a big difference between trying to get a job when the market is mostly people moving from one job to another for a pay raise, and when the market has a lot of people who were laid off and are now desperate. When you've got bills to pay, you're applying to anything that remotely fits. If there's a lot of people doing that, there's a lot more applications going out to every role than they may have been in a less desperate market.


> there's a lot more applications going out

For good posts, in a recession, recruiters get many more applications than they can reasonably filter. You just take the top 100 off the pile of 1,000 applications, filter those, and dump the rest in the skip. If you're looking for a unique superstar, you don't solicit applications anyway; you hire a headhunter.


> I am now in the buffer zone and have interviewed with close to ten companies to date. I have not been offered a single job

So she left her last contract job early after only 3 months, put a 4-5 month gap on her resume, waited to start interviewing until after hundreds of thousands of tech employees were laid off into an economic downturn, and she’s wondering why she hasn’t been immediately offered a job?

Look, interviewing is always tough. You have to remember that it’s not just you versus the company in an interview. It’s you versus the tens or hundreds of other qualified people who applied for the job. If you’re not the best of those applicants, you’re not getting an offer.

In an economic downturn with massive layoffs, the number of extremely qualified candidates is huge. I know people hate to hear this, but having the combination of a short 3-month job on your resume followed by a 5 month gap doesn't look good when compared to the 5 other resumes these companies are going to receive from people who are currently employed or who were recently laid off from well-known companies.

Stories like this are written to appeal to people who don’t like being rejected from interviews (See? It’s not you, it’s the system that is wrong for not hiring you!) but that’s not really helping anything other than soothing egos. It’s time we start being honest that hiring is a numbers game, there are a lot of qualified candidates on the market, and having a job cut short to 3 months followed by a long gap is a warning flag on a resume. If someone finds themselves in this situation with a limited financial runway in the middle of a huge tech recession, they need to start applying to huge numbers of jobs the moment they leave their 3-month contract job early. Waiting until the end of a sabbatical and only applying to a small number of jobs without network referrals is statistically unlikely to produce good results. It’s not really an indictment of the system, the author has just stacked the deck against themselves going into an economic downturn and is surprised that hiring has done a complete 180 since this time a year ago.


> a long gap is a warning flag on a resume.

Sorry but it's not at all. How dare they not spend every waking moment wage slaving away!

People live their lives, this type of thinking shouldn't be normalized. What other subconscious biases are lurking here? I assume the follow up to this is "Hiring is hard, there's not enough good candidates".


Yea, I've never really understood that perspective. It's something I'd be curious about - maybe ask if they did something technical during it to stay sharp if it's a recent gap, but I don't see it as any more of a bad sign than if someone's been in the same role in a company for years and years without a promotion.


> People live their lives, this type of thinking shouldn't be normalized.

Okay, but hiring someone is an investment. You pay them money for month until they become productive, you'll need someone to explain things to them etc etc. "Will they stay on for more than three months?" is a valid question to ask yourself when you're making a hiring decision.

It's not all about the potential employee's self-actualization.


That's true to some extent but has nothing to do with "resume gaps".


Short employments and gaps are a signal. Not a great one, but easy to identify. If you've job-hopped before, you probably will do it again => prefer someone who doesn't have gaps.

It's perfectly fine to have gaps and "live a little" or even a lot, but it's also perfectly fine to prefer people who you believe will provide more value to your company.


I think you're conflating short stints/job hopping and resume gaps. How does a "temporary period of non-employment" preclude someone from "providing more value to your company"?

There are infinite reasons why someone might take time off. Its arguably far more responsible to do so than continue employment and lower the priority of employment obligations in your life while you tend to other aspects.


>I know people hate to hear this, but having the combination of a short 3-month job on your resume followed by a 5 month gap doesn't look good when compared to the 5 other resumes these companies are going to receive from people who are currently employed or who were recently laid off from well-known companies.

This rarely happens. If a gap is the only differentiator between a pool of people, they've not been interviewed yet or well enough. The only way this happens is if someone views developers only as cogs with a checklist of skills to acquire and don't know how to find their differences and strengths and weaknesses as people.

But apart from that, the tide is changing around work gaps. You have an argument for a pattern of gaps, but even then, with so many bad companies out there, I don't fault someone for getting unlucky 3-5 times in a row.


I like a lot of what you said, but:

    It’s you versus the tens or hundreds of other qualified 
    people who applied for the job. If you’re not the best 
    of those applicants, you’re not getting an offer.
This doesn't even stand up to a quick reality check. If only "the best" out of "tens or hundreds of other qualified people" ever got hired, we'd be seeing 90%+ unemployment rates for engineers and clearly that isn't the case. The reality is clearly nearer the opposite!

Seems you've got a few incorrect assumptions there.

1. You're assuming that the people doing the hiring actually can identify "the best."

2. You're assuming there actually is one "best" candidate.

3. You're assuming that the person they decided was "best" actually accepts their offer.

The reality is that demand still outstrips supply, so most engineers do find work, but it's a highly imprecise process where nobody really knows how an engineer is going to work out until they've spent six months in the job.


> You're assuming that the people doing the hiring actually can identify "the best."

FSVO "best".

The best coder? Designer? Team leader? Co-worker? The candidate the interviwer judged most trustworthy? The people doing the hiring could have any of a number of different criteria.


Well most people apply to a lot of jobs which is why there’s not a 90% unemployment rate


I have more than one long gap, including a self-imposed 1-year sabbatical taken at the height of the pandemic. I got my first post-sabbatical job when a colleague I'd known for years emailed me about an opening.

Layoffs happen. Gaps happen. Companies that flag candidates like that will miss out on some great people. Fine, I probably don't want to work for them anyway


> I still draw a blank when asked what the magnitude of complexity is for the guests function I just wrote (damnit, of course calculating the permutations of a list is n-squared, but this is an interrogation of the random trivia I can manage to recall and I feel like a deer in the headlights).

Is this not n-factorial ?



Looks like this was written almost 10 years ago: https://web.archive.org/web/20130506231540/http://eewz0z.pen...

Makes more sense in that context - what made me question the authenticity of this account was the author being seemingly unaware of the entire interview prepping industry.

An earlier HN discussion: https://news.ycombinator.com/item?id=5664839


Truth be told I don't interview anywhere with this sort of bullshit process anymore. For the first 10 years of my career sure, I put up with the shit - like many I had no other choice.

These days? Fuck it. My rules for switching jobs these days are a) either have someone I know already on the team I'm thinking of moving to, preferably who has referred me or b) have someone I know vouch for the founders/direct manager/etc and assure me it's worth my time to talk to them.

There are some exceptions, companies that steward or are significant contributors to OSS projects I have contributed to or are in a new niche I'm interested in but for bog standard "I need a 9-5 to pay bills" I'm just going to stick to places someone in my network can vouch for. The interview rat race just isn't for me and if I'm leaving some money on the table because of that so be it, my sanity is worth more than some extra $.


It's strange that in this era of data analytics and 'objective' engineering shops .. the only process that seems acceptable is good old word of mouth.


This is a strange post because she claims to be a bad dev, but then goes on to flex all the reasons she is a good one (past co-workers love her, she reads technical books, does leetcode). It comes off like she believes she is great but can't get a job for some reason.

She probably just needs to keep at it, two months to interview and get hired before you go into debt is an insane timeline.


Agree - I feel like I've read this post multiple times before. I'm a bit annoyed with people who call themselves bad developers in general though - in posts or in the office. It just feels attention seeking to me, as though they want to be told they're wrong so badly. This person goes especially far by listing all their merits. "Woe is me, a bad developer who has had an excellent career and was praised by all my colleagues thus far."

Also, since it's apparently a guest post, gender could be he/she/them and is not Gayle.


This substack is not mine (Gayle). It is impersonating me.


Whoever this person is, they need to find a niche they are strong at and apply for jobs in that niche. Their resume needs to be tailored to focus on that.

The current market is bad for engineers perceived as generalists (despite very few of them actually being generalists), but if you can show you are good at some in demand skill, you should get cold messages every week, including the odd FAANG recruiter.

This may sound contradictory because everyone is expected to solve some generic leetcode challenge. Most hiring processes in the industry have little to do with what the company wants you to be good at. But hiring processes will be more lenient if those companies actually need you.


It's interesting, I think perhaps this person is too expensive for the roles she interviews in, the companies have too many (cheaper) candidates, and she's unable to show redeeming qualities?

The best guy I ever recruited was just asked to do a LinkedList in Java, didnt succeed too brilliantly, but just was so cheap and so fitting in mindset we just took him and now we can see he's brilliant, and he'll get uber promoted very quickly.

When you're hitting a wall, that's what you can do: aim low, get in by the small door, and create contrast quick while looking for better jobs. Usually the network noise will start after a few month when people who worked with you start quitting and want to take you with them, and I ve been able to make some negotiate no code test and quick entry. I even made a guy join us, on a bigger salary than mine, on trust only.

But if you aim at top jobs with no network to vouch and immense salary, you're facing interviewers trying to find your flaw to kill you rather than find your quality to sell you.

It's like people who think decisions are conceived and taken in meetings, while actually many secret pre-meetings happened informally between the various conflicting clusters and the meeting is just a show of hand on who manipulated the most people already, hopefully all of the people are already aligned and ready to sign off. When you interview, the interviewers should already want you in.


You know, realizing you're 'bad' is a blessing. You're consciously aware of your incompetence, which is the first step towards becoming consciously competent. What follows is glorious. After some persistence and commitment, you become unconsciously competent.


Upvoted.

But I don't think persistence somehow makes you competent and "glorious". Acknowledging your limitations is obviously a good thing, though.

Many people find it hard to ask for advice, or to admit they don't know everything. You have to reach a certain level of self-confidence to be able to do that freely.


Man, this “guest post” on Gayle Laakmann’s site comes off super weird. What is the takeaway exactly?

It bothers me because it’s designed to resonate with the broadest possible set of SWE interviewing anxieties, but it doesn’t take a stand on what is wrong with the situation or what anyone can do about it. It feels entirely like emotional clickbait, and cheap engagement for someone who literally wrote the book on FAANG interviewing.


Hi, this substack is impersonating me. This is not my substack. Reported.


Mystery explained. Hope they get this cleared up for you quickly.


I happen to have read her book on Cracking the Coding Interview which I found was a nice refresher for interview-type like questions. She writes:

> And for all of this I still blunder my way through an exercise to write a function which returns a boolean in response to the question of whether sequence A is a sub-sequence of sequence B. I still draw a blank when asked what the magnitude of complexity is for the guests function I just wrote

which I have a hard time believing as she covers this in a whole chapter of her own book. Clearly she knows how to do this stuff, given that she wrote the book herself.

My guess is that either the (US) market is currently facing a recession which has hit the dev market as well by now or she is somewhat of a generalist with no deep knowledge of a specific area and the companies she were interviewing for are searching for a specialized person rather.


My take is that this is probably a reader-submitted article, but also, as a testament to the wider phenomenon:

Businesses say they can't get enough knowledgeworkers

Knowledgeworkers say they can't get enough business

These are mutually exclusive and cannot both be true. The reality is nerds have a sales problem. You can't just hoodie and flipflop your way through a job interview because the majority of us have roughly similar skillsets, so the person with a tucked in shirt and punctual habits will get the job every time.

Nobody buys a broken banana. Stop being that banana. The modern devs making the money know how to sell their strengths. If you don't believe in you, don't expect someone to pay you for that.


Those are not mutually exclusive and could perfectly well be true, if you bear in mind that it's some businesses and some knowledge workers.

If your proposed explanation is broadly right, then you can describe it in two equally valid ways. (1) Some very good developers (etc.) present themselves in ways that lead to not getting job offers. (2) Some employers, when looking developers, are put off by presentation in ways that lead to not extending offers to good developers.

"Present yourself in ways that employers will like" is probably good advice for would-be employees. But so is "Look past presentation and slick self-selling" for would-be employers.

That might not be true if there were a glut of suitable employees, so that an employer only willing to employ people who tuck their shirts in nicely isn't short of good employees on that account. But, as you put it yourself: "Businesses say they can't get enough knowledgeworkers". Some employers, at least, don't find it easy to get the people they want. Maybe they would find it easier if they put lower priority on shirt-tucking.

The last paragraph seems to be made entirely of slogans rather than actual thinking. Someone who is good at their job but wears a hoodie is not a "broken banana". (Maybe they're a banana with slightly more or less curvature than the average, or something.)

Also, I don't say anything in the original piece suggesting that the person who wrote it isn't getting job offers because of ... well, let's be frank about what you're saying, because of not looking sufficiently upper-middle-class. They claim that the problem is that in an interview situation they aren't quick and smooth enough at solving programming-interview problems. Changing what clothes they wear and how they wear them isn't going to change that.


It is absolutely possible for both to be true. Businesses want knowledge workers who are competent and can address problems but also willing to accept the compensation they are offering. Knowledge workers want to be compensated fairly without knowing whether they can address the actual problems they are being hired to solve. This situation of information asymmetry is referred to as a "market for lemons"


Hi, this substack is an impersonation. It is not mine. (But glad you enjoyed the book! :))


It's a guest post, looks like there is a note about that at the top now, though it still seems easy to miss.


This substack is not Gayle: https://mobile.twitter.com/gayle/status/1611757742246723584

I think the submission should be taken down


I have interviewed several hundred software engineers over decades.

It’s hard to get a sense of a person from a single blog entry. I’m wondering though if she’s really good at acing FAANG style interviews and maybe not so good at other types? She seems to have written a book on coding interviews and worked at both Google and Apple so she must’ve gotten that process down well.

With those types of companies not hiring, layoffs and a general macroeconomic slowing it’s probably going to take longer than usual to land a job after a self-chosen employment gap of 4-5 months.


The 'coding interview' ain't what it used to be. Now companies (generally outside of FAANG) will have the recruiter (who is probably not technical) demand you complete a Leetcode exercise that they've picked seemingly at random, and your fate is decided by a timer and whether or not the green checkmark says your solution works. There is no back and forth with an engineer to gather facts or clarify the problem, there is no discussion of alternate solutions or positives and negatives to your chosen solution, there is no room to exercise industry or specialized knowledge at all.

Having read the blog entry it seems to me that this is what the author is lamenting, and I can empathize with that.


This hasn't been my experience, but I wouldn't hesitate to pull up ChatGPT on my phone to pass a recruiter-enforced no-feedback no-engineer AI-graded prescreen.

I'm fully ready to get my writing tablet and work through my thought process/answer presentation, and have an interesting discussion. But if there's no engineer to talk to, then IMO just getting a 'pass' however you can is fine (morally as well).


It's a guest post - IOW, it's marketing for what she sells. I don't think Gayle's been an engineer (or would care to be one) since she founded her company in 2008.


Not marketing. It's an impersonation. It is not mine (Gayle). Substack has been reported.


> (damnit, of course calculating the permutations of a list is n-squared, but this is an interrogation of the random trivia I can manage to recall and I feel like a deer in the headlights)

With this statement I'm inclined to believe the title. Last I checked there are (n-1)! permutations for a list of length n. Not knowing this off the top of your head is fine, but making this kind of comment is an unforced error and it doesn't reflect well on the author.


There is a simple solution to this, but it is one that many in similar situations will refuse to even look at: Lower your standards, and start looking at "lesser" companies that don't follow the same leetcode-style interviews.

They will pay less. You may have to relocate. But that's life.

If you can't leverage your network to forego these types of technical interviews, you're pretty much stuck with two options:

A) Learn and master the process.

B) Start looking for work elsewhere.

If you want to earn big bucks working for the selective few, then you need to choose A. If you can't hack that, go with B. Here's a list, which may or may not be up to date: https://github.com/poteto/hiring-without-whiteboards

The absolute first priority should be to be employed, and earn money to support yourself/your family. Spending 12 months to "perfect" Leetcode questions is something which mostly only young, single or well-off people can afford.

Once you're employed, and getting a steady paycheck, then start to study harder for those LC-style technical interviews.


I'm a good-enough software developer. I've worked with folks who are better, but I deliver working code that follows best practices and have been very useful in dealing with a lot of very difficult technical problems including dealing with reading and fixing kernel panics in network device drivers (early in my career) and also working with big data scale backends. Everyone who's worked with me has positive things to say about my professionalism, abilities, teamwork, etc., including a director of engineering I reported to for one job. I'm working for a FAANG now and my manager's manager is checking in to make sure I'm happy.

I interview terribly and can go for long streaks of interview flare outs, and hit the same thing she described - I'll blank on things that I would be able to say effortlessly in a non-interview context, even when I'm fairly relaxed. Being good at software engineering isn't the same thing as being good at interviewing.


For those looking to disambiguate the title, the post talks about being unable to find a new position as a software engineer. So "bad at interviewing" or "bad on paper".

Many in this thread probably came here to understand what one should do when they realize they are in the lower quartile of competency within their organization or even the profession broadly. I don't mean juniors who don't know anything, their competency will change, rapidly. I mean mid-levels who are accepting that they "just don't have it".

Lots of good advice in here about not defining your identity in terms of your profession. On the day-to-day level, just ask for help. Your peers probably don't care about your performance as much as you think. They will care more if you make more work for them (and yourself). There is plenty of respect to be had in being a low throughput SE who isn't a mess-maker.


1. Create unreasonably high standards for engineers.

2. Work your entire life to make those standards the criteria used for hiring at thousands of companies.

3. Make millions of dollars in products and services aimed to enforce those standards.

4. Feel sad and anxious due to being a bad developer with respect to the standards you created yourself.

5. Make a dumb post nobody empatizes with. (see 1-4)


This is an example of my worst nightmare realised. I stick with my current job, which is just an okay job (I'm neither happy nor unhappy), because I'm convinced I couldn't get another. Unlike the author, I have a uni education (up to PhD) but my background is weird compared most folks in my field and also the stack at my current job is quite unusual, too. Together, these mean I don't tick the boxes for most job ads in my field, but I actually perform well in my current role. The only reason I have that role, though, is because I bypassed the usual hiring route into the company and someone was willing to take a chance on me.

My primary goal at my current job is to build up experience with common tools in my domain wherever possible in an effort to make my more employable in the future and to make my résumé a bit less weird.


> I have a uni education (up to PhD)

If I were hiring, that would get you dropped from my candidate pool. I hired a PhD once, and it was a mistake. They're ultra-specialized in a field that probably isn't important to your business, they're very clever and don't take well to being instructed, and they don't like grunt work.

I realize that's a very broad generalization! I've only had to recruit once, and I wasn't recruiting for something intellectually challenging. And the recruit in question wasn't a CS graduate - he was an astronomer.


Although I totally understand your point of view — one bitten, twice shy — it's unfortunate that all PhDs will no longer stand a chance with you because of one person.

I've also heard from people who are hiring that having a PhD is seen as a major disadvantage, but for other reasons. In one informational interview, I was told that people think PhDs will want exorbitant salaries, corner offices, etc., and also come with huge egos. I've worked with lots of PhDs over the years from really diverse fields and I've never encountered that, which is not to say it doesn't happen, though.

As I say, my background is weird — and I include my PhD in that — which makes life difficult when job hunting.


Same here.

It's easy to get carried away.

Work at a shitty company that toutes itself as "the best". Be the best of the bad devs that work there, without any reasonable comparison.

Have bad experiences with stuff like static typing (Java) and testing (TDD) so you never bother to learn them correctly.

Quit your job and get a bitter taste of reality.


Problem is not that all of us are capable to come up with good solutions at time constrained conditions. For some (including myself) sleep over the problem is required. Experience helps in some cases to answer immediately but not always.

Like for the mentioned task: "returns a boolean in response to the question of whether sequence A is a sub-sequence of sequence B."

I recall immediately that there is a well known algorithm for that (due to experience). What's the name and its idea - out of memory... Myers Diff, Boyer–Moore, something like that.

Yes, we can start immediately writing brute force solution and analyze it. And probably that's the way of how to answer interview questions: write simplest solution and come up with optimizations.

In any case coding at interview is far, far away from real coding.


It sounds like the author enjoys programming in a vacuum, math, and theory. Those are basically useless for a software engineer. Being a subject expert and having the codebase and systems memorized are infinitely more valuable to a company than having general interest in programming.


Author may struggle with on-the-spot problem solving bits but could possibly be better at other things.

I find as I age, my ability to solve the on-the-spot things depends on my mood and background energy levels. The 'magic focus of youth' is 8 hours/day, as you are older it's only 4. Some days more, some less. Other thoughts and responsibilities wear you down as well aka kids, family, preparing for Christmas. But you do have the experience of wisdom and perspective and overall I'm a way, way better developer. I've written so many algorithms, dealt with so many platforms, seen so many things fail (and work), most of it is not even intimidating, just work.

There's different ways to be 'good' at something.


Not pursuing developer roles, but I'm 7 months deep looking for roles in an area where I am "objectively excellent with over 15 years experience and literally dozens of professional references who will vouch for me and my work". That's about 400 applications to roles (far more than I thought available) where I'm "obviously" at least worth considering. A grand total of 15 of those lead to any contact at all (even an email ping or a superficial recruiter chat). Only 3 actually progressed to serious interviews. 2 of those ghosted me (for real). 1 of them might make an offer next month. Exhausted all savings 3 months ago.

It's screwy out there, whatever the reasons.


That just means your resume has an issue.


The issue my resume has is that it is being processed by morons who aren’t trying to do the right thing for their employer.

I know that for certain by the reactions to my resume from the handful of companies that actually reached out, and the reactions to my resume from the people who actually interviewed me, etc.


Ah, I see your personality has a problem too.


You're quite the mindreader.

Companies posting positions they aren't actually trying to fill are a real thing, and that isn't a problem with my resume.

Companies dealing with a macroeconomic situation wherein they can't fill roles they want to is a real thing, and that isn't a problem with my resume.

There are a dozen factors contributing which aren't problems with my resume.

I get it, though, it's fun to blame people for their situation.


CTCI is the only reason I got my job, so I am thankful for her work. It's a tough juggling act: making sure you're interview ready and being a good programmer who can do good code are two different things and I find myself spending a lot of time doing the latter more than the former nowadays. The advice I've gotten is to always keep your LC skills warm (1 or 2 a day), but I'm not sure how that will work if I interview again... There's just too much to learn and too many things to do on equally important objectives in the professional programmer's life.


I empathize with this. I'm also a bad software developer and it goes beyond not being able to solve Leetcode. I can't recite programming patterns off the top of my head, my problem solving ability isn't really there, I look at open source code and have no idea where I would begin to contribute to that or how someone even begins to make something like that. But somehow I manage at work. Bugs get fixed even though I have no idea how. Projects get delivered even though the whole scope of the work escapes me. Generally feel like I'm failing up at my job.


this person either needs to expand where they’re applying or figure out what else about them is turning off employers because they sound smarter than me and i’ve never had trouble finding work in this industry


Hot take: I think the programming world created a lot of good and funny ways for knowledge transfer, BUT, it is very rare to find a book that truly push your level to be a top programmer.


Define 'top programmer'. I usually find that such a title is bestowed to people who are probably average at programming, but learned to navigate meaningless internal corporate warfare to position themselves on the 'top', or got lucky and were in around the right people at the right time. No book can teach that.


Well, while you can't formally teach the ins and outs of office politics, a lot of it can be explained in simple terms.

This is exactly what a friend did for me, and there really are rules, they're just not official, and a lot of the data is local. I personally view it as basically a giant game of negotiation, where you need to know what people want/need, what's useful to the structure, how people will react, and what the constraints are ('x can complain all he wants that he's not getting this and that, he's essentially stuck here because the market is really bad and has no power', 'y wants z, I can help him with this, but it will conflict with t who wants z as well', etc) , all this long term and short term.

I think it's especially difficult for engineers, since it's very not black and white, there's no man page, you must talk to people, and it takes a lot of time.

I'm not good at it, but there's a huge difference between not having a clue, and having a basic understanding what's happening. I've had colleagues call me before a meeting with person y, since I knew y, and they wanted to know how to approach things, which usually translated into 'what's he/she like/wants?'

Strangely enough, aside from the daily political explanation from my friend (to whom I 'll be forever grateful) the one thing which has helped me tremendously has been playing rpgs (games in general actually) with lots of choices, because it's none of them are ideal, and they're all about trade-offs.

Edit : I understand that in an ideal world we wouldn't have to do that. But things are often grey. And people are people!


Knowledgeable enough to reach optimal solutions to low-level problems quickly.

Does this definition work?


> I am a bad software developer and this is my life.

By what metric? You can't land a job? I would say that's more of an indicator of the economy at the moment. If anything the OP sounds over-qualified.

I haven't interviewed at a place that required code review since I was Junior. Most of the interviewing is focused on how my interpersonal relationships were. It almost feels like OP is simply interviewing for the wrong positions. Like they're interviewing to be a junior when they're senior.


I am in a similar predicament. Sometimes I wonder if it’s me or the system, but then I think that Western Civilization wouldn’t work if it weren’t me… right???


That escalated from 0 to 100 real quick. A whole civilization?


He means the systems that sadly runnying our lives, it is not just the west btw.


Does anyone have advice for people with the opposite problem? I can do coding interview style questions forward and back but I struggle with actual work as a programmer.

The emphasis in industry (at least in web development) on development speed and juggling details rather than creativity, problem solving, and knowledge just doesn't seem to play to my strengths.


> I can do coding interview style questions forward and back but I struggle with actual work as a programmer.

You might find a mathematical career more fruitful. (I don't know enough about you to know.) Alternatively, you might find something like backend Haskell, or applications Rust, more fun.


Working with Haskell or another functional language is pretty much my dream. It just seems like you've gotta have a PhD to get a job doing it.


I consider myself an okay software developer and leetcoder but interviews are just way too hard for me. I usually pass initial coding screens easily and then fail the full loop. My overall of offers to rejections is like 2-7 in the past 8 years. It seems to get harder with more experience too as expectations and standards are higher.


> came up with a plan to take two months off completely, one month to interview, and the fourth month would be a buffer in case interviewing would take longer than I had anticipated.

Maybe I’m conservative but I would have immediately looked for a job, then negotiated a start date that was two months after the interview…


Have a confidence in yourself. When you're young, you see the "senior" at work, but when you're experienced enough, you realize they're also bad software developer, who takes tradeoff at the cost of "a lot of money to make it work".

Be fun, be enjoyable at your programming.


Now that I know this is some fake account that maybe adds some needed context.

Because this article is really confusing. I think that someone with that library and skillset would recognize the discrepancy between actual programming and the interview process.


People hiring as well as applicants need to start rejecting these hiring strategies. Noone can determine whether or not someone will be a good member of their team by their answer to the Skyline problem.


Supply and demand is everything.

A business in an expanding market can succeed almost accidentally, a business in a contracting market can execute brilliantly and go bankrupt.

Context is often more important than execution.

This person had bad timing.


This seems to me to be propaganda, implying you have to be exceptional to get any kind of programming job.

It's almost like there's a conspiracy to push worker salaries down, etc.

Heaven forfend.


> Note: Guest Post

That aside, this doesn’t feel authentic. Issuing a flag.


Correct. It is an impersonation. Not mine (Gayle). Thank you for flagging!


Slap some JavaScript on that resume. You’ll get a job.

I’m not being facetious. That or Java. You’ll receive non-stop recruiters beating down your inbox.


Author seems like they've been coasting and always found a way out when hard problems came up. This catches up to you.


> calculating the permutations of a list is n-squared

Am I missing something? Shouldn't that be O(n!)?


You are missing something but not what you think


if you think this isn't fake news, what else are you out there reading and believing


> I still draw a blank when asked what the magnitude of complexity is for the guests function I just wrote (damnit, of course calculating the permutations of a list is n-squared, but this is an interrogation of the random trivia I can manage to recall and I feel like a deer in the headlights).

No further questions.


Can you elaborate? I am failing to understand this sentence, what is the guests function? Also what is O(n²) about permutations? Calculating their number should be faster than that, enumerating them slower.


Exactly: the author is confident that this is just "random trivia" that is beneath them, but the explanation they give shows that they're clueless.


I'm a bad developer and I'm bad a code screens.


this is hilarious, after just 10 rejections, it is normal to have thousands or at least hundreds of rejections compared to offers


Sounds like OP has anxiety actually


Times change and programming techniques change. These who don't adapt will fall behind at some point.


Your hiring process is worse than useless if you’re letting someone like Gayle slip through the net.


It’s a guest post, not Gayle.


The entire substack is impersonating me (Gayle). Reported.


When conventional interviews aren't working, What Color is Your Parachute is worth a shot.

It has something called the creative job search. The basic idea is instead of applying to a whole bunch of jobs, you work out the job you want, and get that. It's solution selling, rather than job begging. You are a product - who needs that product? Who has problems that you are the solution to? After all, employers have problems, that's why they want to hire someone. They aren't actually interested in judging or evaluating you (or shouldn't be). They just want a solution to their problem.

You look at your skills (including other skills in your life) and your knowledge (e.g. terminology for that field). You then work where you would love to work, where those skills are needed. Then you find ways to contact those people - not sending a resume, but talking in person.

At first, you might conduct some "information interviewing", where you are trying to find out more about those organizations - would you, in fact, actually enjoy working there? What is the work like? You can ask anyone who might know about that field/organization - it doesn't have to actually be a person working there. This incidentally also improves your "interviewing" skills.

Finally, you discover the person who has the power to hire you - note that most HR dept etc are there to screen you out, to find reasons to not hire you. If they have hundreds of resumes, they may start by throwing half out without looking at them. So, go directly to whoever can hire you.

Apparently, most jobs in small businesses are filled via word of mouth, not by advertised positions. (You should target small businesses because that's where most jobs are created). It happens like this: the boss has been thinking of hiring someone to do some particular tasks, but it's not yet urgent, and he hasn't got around to it. Then you turn up, and you're such a good fit that he creates that position for you. NOTE: this means you have no competition.

Now, because you are actually interested in using these skills, in this field, for this particular company, you will come across as genuinely interested, eager, maybe even passionate. People like that. And it's hard to fake.

In an actual interview, your task is to address their concerns. These are:

why are you applying to this company? can you basically get the work done, be trustworthy, on time etc - i.e. can you solve our problem? what special qualities do you have that set you apart from everybody else (it might be related to an entirely different part of the job/company). Will you fit in here? Can we afford you? [ note: this implies that many places might really benefit from your skills, but can't actually pay a fair wage for them ] Obviously, this is a whole lot of work. And the guy in the article might not have time left in the month to do it comprehensively. But it's worth thinking about, and maybe incorporating some of the ideas that appeal. [note: this is all from memory, and the bits that appealed to me personally, so of course it's best to refer to the book itself.]

For me personally, following those 5 points in a cover letter has always gotten me a job. (along with seeking jobs I actually would like). I think they really help me see it from their point of view - that we're all really just trying to solve a problem here. We're on the same side.


In some respects this is clearly an ideal way to find a job, in the sense that on average it's going to achieve a much better fit than random software engineers applying to random "Software Engineer I/II/III" positions.

And have literally gotten a job or two this way, more or less.

But I think there are a lot of practical issues.

This is extremely resource intensive (in terms of time and emotional investment) modus operandi. And considering that an explicit part of the process you describe is promoting yourself for jobs where the company isn't even actively hiring, you're going to have to try this with a lot of companies.

Most companies are pretty opaque and many don't even know what they need, and it's certainly even rarer for them to randomly drop crucial "oh man, wish we could find a good database guy who also practices Wing Chun kung fu for our dojo" hints by word of mouth.

It's like finding love, almost. It's great when this sort of serendipity happens and folks can maximize the chance of it happening by absolutely networking the hell out of themselves but I don't think it's something you can rely on.


The author's real issue is failing the first coding exercise then apparently not hitting the books to solve for problems being presented. They aren't testing if you're a good software engineer, they're making sure you studied for the test and retained enough to pass it. Them not course correcting to study for the test being given is a pretty bad signal.

Coding exercises are dumb, but going on pedigree and resume without a practical test is also error prone. So you work with the system you have. If you want the cheese you go through the maze and press the lever.

Alternatively, complaining about it to a large enough audience may work as well. That's 10x outside the box thinking.


> The author's real issue is failing the first coding exercise then apparently not hitting the books to solve for problems being presented. They aren't testing if you're a good software engineer, they're making sure you studied for the test and retained enough to pass it.

Note that the author of the anecdote isn’t the owner of the blog.

The blog owner is the author of books about cracking the coding interview.

This anecdote is carefully chosen to make her book sound more important. It’s “don’t end up like this person, buy my book so you can understand the coding interview!”

The anecdote’s problem is likely the fact that they quit a contract job after 3 months and then took a sabbatical going into a tech recession with 100,000s of laid off tech workers competing for every job. If your primary experience in the preceding 8 months was a short job that you separated from early, you’re not going to be at the top of the hiring list no matter how good you are at coding exercises on whiteboards.


The substack is an impersonation. It is not mine (Gayle). Reported and commented (although I was of course banned).




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: