Hacker News new | ask | show | jobs
by cdoxsey 2321 days ago
On the flip side. Sometimes you're just not that good at stuff despite your best efforts.

In college I really struggled with math. Which was a challenge because computer science has you take a lot of math classes. In my calculus class I studied so hard for the final. Did every problem in the book. And I still just got a B in the class.

At the same time my programming classes were really easy. I didn't study at all and the homework was trivial.

Based on my interviewing history I'm not in the 95th percentile of programmers - I'm routinely outright rejected and don't even land the on-site interview. And this is basically my best skill for which I've invested an enormous amount of time and energy.

The movie Amadeus really nails this idea. Salieri has one goal in life: to create beautiful music. And he achieved some success, but then he meets Mozart - " a boastful, lustful, smutty infantile boy..." - yet he creates the most amazing music he's ever heard.

> All I wanted was to sing to God. He gave me that longing... and then made me mute. Why? Tell me that. If He didn't want me to praise him with music, why implant the desire? Like a lust in my body! And then deny me the talent?

I've experienced that frustration many times in my life.

Salieri is a tragic figure though - his response is one of contempt and hostility to the injustice of his life. But he's missed the point. All success and talent in life is a gift.

Maybe your frustrations in life are an opportunity to teach you humility and to be gracious to others.

17 comments

>Based on my interviewing history I'm not in the 95th percentile of programmers - I'm routinely outright rejected and don't even land the on-site interview. And this is basically my best skill for which I've invested an enormous amount of time and energy.

This means you aren't high in the 'programming interview' skill set. While related, I consider it distinctly different than the 'programming' skill set. I think it shares more in common with other interview skill sets than it does with programming. I suggest not using this to judge your proficiency in programming, and if you want to improve this (say you plan to be job hunting soon), I would focus more on interviewing skills than programming skills. Especially if you aren't landing on-site interviews.

For starters, improving your resume to have a good UX and working on how to answer interview questions, especially the non-technical ones, would likely help. Things like how to 'correctly' answer "What is your biggest weakness?" or "Why are you looking for a job?". A lot of it comes down to learning how to lie without appearing dishonest (personally I hate how much honesty during interviews is treated as a bad thing, but I have to play the game by the rules that already exist).

I think you don't get the point of OP's comment. Maybe they are simply not in 95th percentile of interviewees, or maybe they are indeed a middling programmer. Their point was more to accept your skills and talents for what they are rather than getting caught up in being the best, to the detriment of yourself and those around you.
>Based on my interviewing history I'm not in the 95th percentile of programmers

I wanted to call out the problem with this logic because it was something I also struggled with at the very beginning of my career. There is more to the response than what I replied to, but my reply is only limited to that specific line of logic and not the reply in whole.

Why lie?

Ultimately an interview is about convincing the interviewer that you can solve their problems (and extracting information to determine whether you want to solve them in the first place). Assuming you have the ability to solve their problems, it's a pure exercise in communication.

Take the "Why are you looking for a job?" question. The meme response is "because I need money duh!", but if you look at in a less literal context, you probably have long term goals of some type. Talk about those and how working for the interviewer will help you achieve those. If you don't actually have long term goals and are just in it for an immediate pay-day, well that makes you 1. A person who doesn't plan long-term, and will probably bring that same lack of planning to the job. 2. A less secure investment that will leave the moment they can get a 10% raise elsewhere. and possibly 3. Someone who doesn't really want the job and would just be miserable all the time/not be a good fit

The non-technical parts of an interview are about unifying stories and themes, and too many engineers seem to think it's "lying" to ignore individual data points. If instead of an interview you were trying to convince someone who knew nothing about the S&P500 to invest in the S&P500, you wouldn't talk about 2008 except maybe in passing as a minor risk. You'd say in the long term it's had an upward trend despite occasional drops and that trend is likely to continue due to reasons X, Y and Z. Assuming the person is looking for a long term investment then nothing about that is a lie.

> If you don't actually have long term goals and are just in it for an immediate pay-day, well that makes you 1. A person who doesn't plan long-term, and will probably bring that same lack of planning to the job. 2. A less secure investment that will leave the moment they can get a 10% raise elsewhere. and possibly 3. Someone who doesn't really want the job and would just be miserable all the time/not be a good fit

That’s an extremely judgmental way of looking at people. Some people have long terms goals in life, they’re just not related to their jobs. They see their jobs as a means to an end, a way to make money to accomplish those other goals. And some of them are really, really, really good at what they do at work, but really they just want a paycheck in exchange for their skills.

If I didn’t need a paycheck I wouldn’t be at the interview, or working at all. Getting a consistent paycheck is “planning long term” for 99% of people. Hell, half my social circle probably doesn’t even know what the S&P500 is.
So your long term goal is stability, and you'll be reliable and consistent in addition to the talent they've clearly already noticed by bringing you in for an interview. From a thematic perspective you're a sturdy foundation they can build their company on.

See how much better that sounds? And there are probably better ways of putting it. Granted if an interviewer isn't looking for that mentality it could be an issue, but that's a big sign you probably wouldn't want that job anyway.

I don’t think I’d be able to pass/stomach an interview where I need to justify the need for a consistent paycheck.
Then I'm not sure how you've stomached any interview with a private company. Companies don't give you a consistent paycheck because you have a natural right to one. They give you one because you wouldn't produce value for them if they didn't.

The S&P500 analogy is truly apt, because as a private employee you are by definition a financial investment for the company. They pay you on the condition you make more money/produce more value for them than you take. Every day at work is you justifying the existence of your paycheck. If you want a bigger paycheck you need to prove a higher valuation to justify it (either by producing more internally or getting a higher external offer). If you become a bad investment you will be treated the same way as an under-performing stock in a portfolio. Maybe held onto in the hopes that you'll improve, maybe held onto for legal reasons (they can't legally fire you due to X law) but eventually losses are cut.

Most interviewers expect you to at least be average so they're not going to insult you by asking you to work for free (that would make you less likely to work for them), but if you walked in and could convince them that you would produce quality work 70 hours a week, for free, until the day you were too medically infirm to work, and that you weren't too good to be true, they'd have no reason not to take you up on that offer.

Getting a paycheck, for a lot of people, is planning for the next time they don't have a paycheck. The people in the former group that you mention might be long term investment, but imo are more likely to promise their future paychecks to a car dealer
Agreed with your points, although I wouldn't use the word "lie". "Marketing yourself" would be a better way to put it. It's not about falsely representing your experience; it's about knowing and emphasizing your strengths, and aligning that with the needs of the team.
I'm talking things like "what is your biggest weakness". You don't answer that honestly, you come up with a 'nice to have' weakness but that still seems enough of a weakness to not appear to be holding the question in contempt.

If it comes to why you are leaving your current job, depending upon why you actually left you could be able to give honest answers, half truths than hide the major reason, and twist the facts enough that it would be best described as a lie.

When asked what you are looking for in a new company, rarely will it be perceived positive to give any importance to money at that stage of the interview. Benefits can be mentioned, but you will have a better interview if you can give an answer closer aligned to the business you are interviewing at.

A major one is when you are asked what your current salary is, lying can be more beneficial than either not answering or telling the truth. You can stretch the truth a bit, say "A little under $130,000" when it is actually "101,000 plus a bonus that the company didn't give out last year". Is 101 a little under 130? It is subjective, and in some cases that wouldn't be a lie, but in this case it definitely stretches the truth.

Now, I'm not advocating lying about stuff on the technical side. Well, not by much. If someone in HR is asking if you have 15+ years experience in Rust (to those not familiar, it has only been about about 10 years), responding with an affirmative style answer is probably reasonable if you are experienced in the language. Don't do something like saying "Yes". More "I am very experienced in Rust and have had 3 large scale Rust products deployed with numerous smaller ones." This ends up being much better than trying to correct the HR rep that the language hasn't been out long enough for someone to have 15 years experience and better than answering no.

Has anyone ever had success with simply deflecting that question? I've never been asked but I wouldn't lie or start a therapy session if I was.

Examples of what I mean by deflection:

"My greatest weakness is for Gouda cheese."

"If I knew what my weaknesses were I would already have worked to resolve them."

"Triceps."

"I don't have any weakness, what are you talking about?"

You made me smile, here's my best attempt at something similar:

"My biggest weakness is probably job interviews, compared to anything else I do my interviewing skills are really bad..."

More realistically: honestly explaining that some of my greatest strengths are weaknesses in other settings.

The key is to lie about what is your biggest weakness, while still giving an answer that doesn't come across as a lie nor being dismissive of the interviewer/question. The political tool of answering a related but different question that has a more favorable answer plays well here, such as instead answering "What is one of your weaknesses and how are you overcoming it?"
When asked a "what is your biggest X" kind of question, I almost always wonder aloud if I am the best judge of my own biggest X, whatever X might be. I feel that then gives me freedom to answer the question relative to something that I think is a weakness that would be appropriate to the situation, and how I am addressing it.

For example, talking about being somewhat OCD about things can be considered a weakness. But for some jobs in this field, a little OCD is not necessarily a bad thing.

I’ve actually mostly answered honestly, but also follow up with what I’m doing to try to improve on this weakness. For example I know one of my weaknesses is I get impatient and cut people off half way, believing I already know where they are going. Besides being rude I’m also wrong some times. It’s a legitimate short coming, but the key is I’m aware of it and am activity doing something about it. Some interviewers are just looking to see if you are self aware.
But is that your biggest weakness? Or is that a smaller weakness that, while still being a definite weakness, is socially acceptable and something you can show improvement on?

If they asked what is one of your weaknesses and how are you working to overcome it, then that is a perfectly legitimate answer. Perhaps too many interviewers ask for the biggest weakness when they actually mean to ask a question more like that.

If your biggest weakness is a major problem, then hopefully it is also something you're urgently addressing. If you're unfortunate and have to apply for jobs while you're still working on that aspect of yourself, then you may need to find a way to sell it, but really for most people this shouldn't be something you need to agonize over for very long.

Of course everyone who asks this question is looking for how you reply, and don't necessarily believe you'll tell them the absolute truth.

But how do you define biggest? To me this is a big weakness that not only applies to work but also other aspects of life. We don’t have a clear ranking system for levels of weakness, so I can only pick one that’s important to me. I don’t think that’s dishonest.
It's illegal in the State of California for an employer to ask you your current salary.
Learned the hard way that lie is mandatory for some questions.

For example: many companies insist on asking how you did "x" (for example solves a conflict of idea of solution) in situation "y" (for example between two teams in same department) and you are obliged to answer something, even if you never been in that situation (a certain multinational company for example asked me that question three times across two different attempts to join them, both of times I failed because this question, I never worked in a company with many departments).

After a lot of Glassdoor reading found out people that got the jobs I wanted, all lied outright, not just embellishments, but outright inventing things that sound plausible.

I think you're overcorrecting here. I've been on the other side of the table for questions like that, and the intent is to ensure that you have been in the appropriate situations before. At most multinational companies, resolving conflicts between two engineering teams is an everyday occurrence, and any new hires above entry level are expected to know how to do it.

That some people manage to escape the requirement by lying doesn't mean lying is the intended strategy.

So you mean, that to work in a large multinational company above entry level, it is mandatory to have worked for one in the past?
Can you blame a company for prioritizing people who have worked in similar environments before?

In large corporations technical responsibility is often more distributed than in startups just due to size, so your technical skills, while important, are typically less important than they would be in small-business/startup land. What fills in the gap is communication skills and your ability to navigate corporate social networks. If you can't conflict resolve issues between engineering teams, well guess what? That engineering team you can't work with is going to hold you up and cost the company money while your superior, who really has better things to do, has to take time out of their day to address the issue you should have been able to handle.

Not saying it should be a mandatory skill, but you can't blame large corporations for filtering for it. It's a factor.

Most companies smaller than multinationals are still large enough to have conflicts between teams. The most common failure mode I see is people who simply opt out of those conflicts, preferring to keep their heads down and write code rather than talking about what should be done and how. I'm not familiar with how it works in older companies like IBM, but at the FAANGs of the world, participating in those discussions is what distinguishes entry-level engineers from more senior ones.

If your experience is only in companies with a handful engineers, yes, it can unfortunately be pretty hard to get a senior position at larger companies. It's not impossible, but people will have justified worries about whether you can handle the responsibilities.

You can get that same kind of experience elsewhere. It doesn't have to come from working in a large multinational company.

Now, working in a large multinational company would help ensure you have that kind of experience, but that's not your only option.

> resolving conflicts between two engineering teams is an everyday occurrence

And how difficult do you think it is to learn this skill?

If it's an everyday occurrence in huge companies, and any new hires above entry level are expected to know how to do it, it sounds like something anyone and everyone will learn. Which sounds like a real easy skill.

If it's a real easy skill, why do you need to have it already when you join? Why can't you learn it on the job, like you learn a bazillion other skills?

This kind of thing comes up a lot with technical stuff... people think that X (something you can look up on wikipedia or SO and teach yourself in an hour or two tops) is really important, therefore they can't hire anyone who hasn't learned X. But whoever they hire must be a person who's super eager to learn new stuff.

I agree it's not tremendously difficult to learn. The problem is that many people don't have the instinct to learn it. If left to their own devices, they'll just write code satisfying whatever requirements they're given, without any impulse to discuss or question what the requirements should be. I've seen many times where another team said "oh you shouldn't do X, you've gotta do Y instead", and a junior teammate of mine just accepted Y as another requirement instead of thinking about whether it was the right way to go.

So you don't want to give people the level of independent responsibility a senior title carries unless they've already learned how to avoid that.

What I've done in with interviews where I don't have the exact situational experience they're looking for, is I recall a situation that was similar, mention that it's not exactly what they asked for, and then go ahead and answer the question relative to that experience.

Many times, when they ask a specific question, they're not hard-locked on getting an exact answer that is 100% directly related to that exact situation. They're also looking to see how you might slightly redirect the question to something that is relevant to your experience, and then how you answer that.

Of course, sometimes they are hard-locked onto an exact answer to that precise situation, and if you don't have that experience, then you're done. You're not likely to know in advance if that's the case, but at least you got more interviewing experience, and you learned of another place that you do not want to work.

I think "What Color is your Parachute" is very insightful on what interviewers are looking for - or should be - and in what order:

  1. why us?
  2. can you basically do the job?
  3. what extra specials can you bring?
  4. will you fit in here?
  5. can we afford you?
Before all that, know what you want, will suit you, and your strengths - then select somewhere appropriate, where you can help.
Indeed this is something I've had to learn to do. I'll spend a few weeks working coding problems on whiteboards, practicing answering questions, clean up my resume, try to showcase my best work on GitHub, and spend hours on each cover letter.

It helps a little but I know it will never be something I'm very good at. Sometimes things in life are hard and never get any easier.

Comparing you to some geniuses in the field isn't gonna help.

Sure Mozart was better that Salieri, but there is just one Mozart.

Companies are always talking about how they just take the best, but in the end they have to settle with what the market gives them.

This reminds me of a time when a hiring manager said something along the lines of “We’re trying to find Michael Jordan, not Scottie Pippen.” My colleague and I were pretty shocked by this, since Pippen was also a great Hall of Fame basketball player, just not one of the top 3 players of all time.
All companies want to fill their ranks with the Michael Jordans of the world, but there was only one Michael Jordan (that's why we call him by his name), and he wasn't even drafted first overall, he went third. The people who beat him were another Hall of Famer, and then some guy you've never heard of.
As an nba fan I find that qoute really misplaced. It's not like you "settle" for a Pippen? He's probably a top 50 player ever.
Continuing the analogy, Michael Jordan doesn't get to display his full Jordan-ness on the court unless he's got a teammate like Pippen who creates opportunities and solves problems that will be huge energy drains on Jordan if only Jordan is there to solve them. (Guarding opponents; salvaging something out of busted plays, etc.)

Finding stars and paying them a lot is pretty easy. It also isn't necessarily the path to great success, especially if you can't build a coherent rest of the team. Just ask Allen Iverson.

And Basketball is team game you need a full squad not just one star
Especially stupid because the company that hired Michael Jordan literally did hire Scottie Pippen.

They are basically saying they want the best performing person in the world but don't want to give them the supporting team that actually makes their exceptional performance possible.

"Who coached the majority of Michael Jordan's championship winning teams?"

(the name is actually on the tip of my tongue, surprisingly)

- whether or not the hiring manager knows the answer:

"You're not him"

The company has to settle for the fact that they're not the top 3 companies of all time, too. XD
I don't know why this was downvoted, but you're right. Geniuses of that level are rare and extremely lucky. It's like lamenting that you'll never be financially independent because you didn't win the Megamillions lottery. Only a tiny minority of people have that kind of luck and no one has any control over it.
I agree there is a degree of luck in some people, but I'll be wary about the term genius.

Personally, when someone says Genius, in some contexts, I take it like an excuse to justify the existence of people that excel doing something, just because they are born-geniuses.

The fact that some of these geniuses dedicated their entire lives to improve themselves (being it by practicing on an instrument or doing math, for example) is left aside, and the justification for doing practically nothing to achieve excellence is because "that guy/girl is a genius and I am not".

PS: In the office that justification comes as being an expert: when someone doesn't know how about something, it's because some other person is an expert. When the boss asks the lab manager "how does that WiFi module work?" the answer is "let's call X because she is an expert", when the manager should already know how that works.

Genius is, in my experience and from what I know of history, is something people are born with though. I've met (and worked with) exactly one person I would place near the designation of "genius". I wasn't under the impression that he didn't work hard to gain knowledge, but he just had a different way of approaching problems.

I like to think I'm pretty good at what I do, but I could be struggling with something for hours that he could break down in a way that just never occurred to me. So yes, he put in the time, but it was his thought process that made him great, and I'm not convinced that's something that can be taught to great effect.

I've been fortunate to know a number of people that I consider to be true geniuses. My wife's entire family is extremely talented, but that's not the only source.

The thing I've noticed about genius is that it's just part of who you are. It flows out of your pores. You work the kinds of hours and achieve the kinds of things you do, simply because you are driven to do so, and could not be otherwise.

If you're not a genius, then no amount of practice or experience will make you one. You can get better, sure. But to be a genius, you have to start out life as a genius.

Of course, there are many types of genius, in many different areas. But all the geniuses I know fit the above description.

OTOH, our culture does throw around the term much too easily. Many people seem to mistake lots of practice or experience for genius, which is understandable because many geniuses do seem to have a lot of practice and experience. But in a true genius, the cause and effect is reversed for practice and experience versus the results achieved.

I am most definitely not a genius. But I do have a fair amount of practice and experience in certain fields.

Exactly. Some people just have it. I was referring to easy-labeling people genius.
Agreed, it's thrown around way too frequently.
It's true. The hiring market is a market, which means companies compete with each other to attract the best talent they can - and sometimes they lose out on that competition.
(This is a side point to your excellent comment)

The movie really distorted what we know about Salieri and Mozart. That doesn’t matter in that Amadeus is just a fun story and doesn’t claim to be any sort of documentary, and such a story made a good case study for your comment.

But Salieri was a very good composer and I personally like more of his work than Mozart’s (though Mozart at his best blew away most of his contemporaries, including Salieri). Mozart appears to have lived a more conventional middle class life and Salieri a more contemporaneously successful one which is kind of henopposite if he film.

I learned this at a young age. Leaving my small community where I was the smartest, most educated person I knew. I went to college where there were easily 1/3 of the class doing as well or better.

I came to understand we all stand on a spectrum. For everybody there's someone better, and someone not as good. So what? Do what you can with the skills you have, and you're doing more than 99% of the people who squander what they have.

I learned this while learning chess. I could win against anyone in elementary school. Some years later, I went to a small tournament. I was wrecked by everyone including children half of my age. Humility lesson right here. I still play though. Playing for fun is fine. It is a game after all.
Personally have experienced the "star in a small pool" vs "anonymous in a big pool" thing many times.

I was surprised that the "star" experience wasn't always as personally ego-rewarding. Occasionally surprising people was often superior to the expectation that you always would.

Agreed. What got to me was that no matter how hard you kill it, there’s no one to share it with if you’re the “best” on the team. They’re always looking up to you. Also you need to feel like you have some backup.
I don't know anything about you so I suppose take this with a pinch of salt as I'm probably not best placed to tell you about yourself.

That said, I hold a general belief that attainment in something is not dependent on your "talent" for that thing. Your "talent" determines your ability to progress in that thing without direction and/or poorly specified direction. Genius allows you to push past everything that has come before and effectively discover new things. Yes I'm sure there are edge-cases it's a loose mental model or rule of thumb.

So I'm sorry that despite your admirable persistence to work through all those problems you didn't achieve the grade you wanted, but if you haven't given up on calculus I would encourage you to seek alternative teachers / materials that will work for you, as it is fundamentally a thing that can be learned just like anything else. And not in a cruel way, but undergrad level calculus should be achievable for anyone given enough effort and good teaching (assuming you actually want to invest this energy and effort in the subject).

Work smart and hard, but working hard in absence can at best be inefficient grind and at worst can crystallise bad habits...

Agreed. The teacher you have is vitally important.

I also had to take a lot of math classes, on my way to a BSCS.

The first time I took Calc I, I got a D. The teacher was the Director of the Math department, and by all reports, he was actually a good teacher. Probably a good teacher for grad students, but his style didn't work well for me.

The second time I took Calc I, I had a grad student as a teacher, and his style and method worked much better, because I really understood the material, and as a result I got an A.

Same thing happened for me with Calc III. Ironically, I got the same grad student as my Calc III teacher as I had for Calc I. And with the same result -- his style and method really worked well for me.

Now, if you really want to have your butt kicked across the room, torn to shreds, and then handed back to you, try Engineering Math, a.k.a, Differential Equations. I only barely escaped that one with my life -- and a very hard fought for C.

This is true but there is also a time dimension to it. I was similar in undergrad, no matter how hard I tried I never really got passed A- while the class genius would ace everything. But as a I got older and I kept studying I began to close the gap with the "market leader". The star burns twice as bright burns half as long.

Sometimes it's not about how well you do at the current point in time, but how you navigate changes in the external environment. Skills and people are always in flux.

"Amadeus" is famously fictitious. In real life Salieri and Mozart were friends. It's good dramatic writing but that's all.

I'm somewhat disappointed that, of all the possible stories and lessons one could tell about Mozart's life, the one that Hollywood chose to immortalize on the silver screen is simultaneously depressing, disparaging, and false.

More recently the movie "Sully" portrayed the NTSB as being some conniving government organization that is out to get airline pilots for some reason. The real world Captain Sullenberger had to release a statement to correct this false injected dramatization of the investigation. There was no reason to do this other than to spice up the story, which is unfortunate especially given most of the people depicted in the movie are alive.
> Salieri is a tragic figure though - his response is one of contempt and hostility to the injustice of his life. But he's missed the point.

This is a gross falsehood spread after Salieri's death.

GP is describing Salieri in Amadeus. It is an absolutely correct description of the character.
So what is the non-tragic response?

Leaving music and working in some other craft, say, a carpenter or a doctor?

This means a lot of sunk cost and further sunk cost of retraining.

Ignoring the injustice? Then it will be perpetuated.

Or attempting to correct it, then hope you're able to? Hope runs out. (Actually movie Salieri did some messing with Mozart to correct the injustice in a destructive way. It didn't make him happy.)

The one thing that I've learned by being surrounded by incredibly talented people is that you can't compare yourself to others in a singularly dimensional way. If you do, the odds are against you that you are the best in the world (1 in billions, in fact). This is the quickest path to defeat and nihilism.

What I've chosen to do instead is compare myself across all dimensions that I have interest and passion for. The beauty of this is that the combinatorics of genetics normalized for individual circumstance leads to only one meaningful comparison, yourself. Internalizing this just leads to a more fun game.

Having attended a high school with a poor math program, I had a similar struggle with math in university. My understanding would catch up maybe too late for a grade, but I kept progressing. Seven years into my career I got a job working for an extremely gifted scientist/manager who gave me several projects that required me to learn math a couple levels above my education. Because the problems were interesting and the results really mattered, I had sufficient motivation to overcome the frustration of learning things that didn't come naturally. I found a way into a company that needed good programmers that grew more mathematical over time, and I was lucky enough to have a highly motivating and supported learning environment.
I hope you've found success and happiness in life nowadays! Honestly interviewing is in some ways closer to dating than contests of skill. Sometimes your area of expertise is just not what the team is looking for. Sometimes that company just wouldn't be a good culture fit for you. I've had similar experiences with rejection and I've since learned that interviews are really bad at sorting out good engineers from bad engineers, and that networking goes a lot further than raw coding skill (although you still have to know some leetcode, unfortunately).
The last two interviews I had involved no coding at all. I got an offer from both companies..
> Based on my interviewing history I'm not in the 95th percentile of programmers - I'm routinely outright rejected and don't even land the on-site interview. And this is basically my best skill for which I've invested an enormous amount of time and energy.

You mentioned faring well in programming classes. Interview performance aside, do you feel that you're a good and perhaps exceptional programmer?

Having transitioned to management some time ago, it wouldn't surprise me that a humble developer might be under-rating themselves.

Once I got my hands off the keyboard, it became pretty clear that the best person for the job was very situational, and that my opinion was often wrong. The technically smartest and most capable person was often the worst choice for many tasks.

One of my best DBA team members was a guy with a history degree with almost no understanding or interest in basic crap like CAP theory, normalization tradeoffs, etc. He was honestly terrible at design.

He was consistently, though, a 10x type resource for production performance problems. But thought of himself as barely qualified for the team because he was a 0.6x resource for many other tasks. I'd hire him every time.

I can be very quick and can work diligently (grit my way through a problem) but I struggle with design and some high level concepts.

Interviews ask abstract and theoretical computer sciency type questions and in real life I would usually google my way to a solution on those types of questions, so I do very poorly on the spot. (forget everything or say something dumb)

But in practice I can usually deliver quicker than my teammates on real world problems.

> Interviews ask abstract and theoretical computer sciency type questions and in real life I would usually google my way to a solution on those types of questions, so I do very poorly on the spot.

Fwiw some of us ask abstract questions with the sole purpose of breaking you out of coding mode and into thinking mode. I wanna see how you break down a problem you haven’t encountered before. Not how you google a solution to a known problem. If you’re talkinng to me, I already trust that you can write code and google solutions.

One of my fav questions to ask is “Design a system to protect a skyscraper from flooding in a scifi Manhattan of 2140”

Right. I'm not good at those kinds of questions. I can code quickly but rigorous thought takes time for me. I need to ponder a design question for a while or work on two or three prototypes before I feel like I know what to do.

FWIW I've also seen the opposite. A developer who was a very good thinker and talker, but got stuck for two weeks on an issue with a Google API. It took me five minutes to figure out what was wrong. Not cause I'm smart, actually the opposite, I have to break problems down to things I can understand and it's that process which lends itself well to fixing bugs.

But I'm sure he would've run circles around me when designing an API or architecting out multiple systems.

I know our industry will debate the merits of google-style interviews forever. I think that the system may be a decent way of capturing good programmers, but that it also allows for awesome programmers to fall through the cracks. Don't let performance in interviews dictate your assessment of your on-the-ground performance. You sound like a capable coder in my view of things.
In what sense would your interviewing history reflect your programming skills?
Probably modest correlation between acceptance rate and skill
Amadeus is a movie that really resonated for the reasons you mention. However, another movie that really resonated, and offers a counterpoint to you’re-either-born-with-it-or-not fatalism is Gattaca.

(Of course, one could argue that Amadeus is a “true story”, whereas Gattaca is science fiction.)

I think the OP's 'problem' is that they do not sit down and have focused practice properly. They are not good at coding interviews, they were not good at math, and freely admits they "didn't study at all". You get really good at things by practicing them a lot, especially math and leetcode. It's not a criticism, as I am terrible at coding interviews and I can never muster the discipline to sit down and study it. However, its not because I am just innately bad at it, its because I don't practice it.

Amadeus was probably more fiction than it was a true story. Mozart practiced a lot.

Indeed. That scene where he's running on the treadmill with a recorded heartbeat is so true to life.
Hah! I often reflect on (the purely fictional Characterization of) Salieri in that movie. Especially when he talks about mediocrity - I am 100% a mediocre developer. And you know what? It’s perfectly fine. Most of the development work out there is LOB apps that don’t require programming Mozart’s.
Have you interviewed as places like Epic (Health Care) or Accenture or Knoxville Microsoft Certified Solution Providers, or only at Bay Area webtech?
I've interviewed mostly at startups. I've worked in Boulder, Menlo Park, Austin and NYC. Once I spent quite a while in NYC trying to get a job only to give up, move back to Boulder and reach out to a friend to get a job. I'm so grateful for what he did for me. If not for him I may not be in this industry anymore.

My first job was for a non-startup web development shop. That interview was entirely non technical, but I fear it was the last of a dying breed.

I did come very close to taking an offer at an insurance company once.