(Under the advisement of my lawyer (ChatGPT) I won't say the company's name).
It has really annoyed me; I ended up doing three interviews over the course of four weeks, and I'm pretty confident that I got the technical questions right. It could be that my resume is too "jumpy", which is fair, but they could have read my resume before they wasted my time and theirs with three multi-hour interviews.
The only thing I can think of is that they just didn't like my personality during the interviews, which is honestly the most frustrating. If I had messed up the technical portion then that would be a goal to work towards by learning more technical stuff, but I'm not 100% sure what about my personality is screwing up these interviews, and even less sure on how I'm supposed to change anything about it.
It's hard to stay motivated but I guess I don't have much of a choice since I still need to pay my mortgage, so I was curious if anyone here had any advice on how to best tune my personality to do better in interviews? Preferably I'd prefer to stay honest (if for no other reason than I'm a pretty terrible liar).
Be enthusiastic about the subject area, show genuine curiosity about the interviewer’s work, give the interviewers your undivided attention and ask relevant follow up questions when it makes sense. Basically pretend that you are on a date.
If you are bilingual and want to improve your engineering communication skills, try to explain technical concepts in a non English language. I usually practice discussing technical topics with a friend in Marathi (which I’m weak in) to force myself to really understand what I’m talking about.
Overall, be very positive and enthusiastic during the interviews.
You sound unsure and defeated in your post. Were you feeling confident the day of the interview, or do you think you seemed desperate for the job?
I will say that all the best technical interviews I have had are ones where I spoke in short sentences, was able to end on a point rather than rambling, and left plenty of time in my answers to ask questions of the reviewer and demonstrate curiosity.
From my POV, if you don’t have any strong signals about why you were rejected, I would just move on rather than trying to infer the reason.
Also keep in mind it could be as simple as that they had a better candidate.
https://www.google.com/search?q=bob+firestone+job+interview+...
I was having trouble with interviews circa 2006 and I bought his course and it was a great investment.
Also, having been on both sides, I can tell you that hiring is just a crap shoot. My (anecdotal!) experience is that a lot of hiring is e8ther 50% gut feelings-based or 50% keyword-based. And in the worse case, both.
Now, I've had a few strange things myself with interviews. Except for the company I ended work for, all other were a disaster. Everyone from HR knew 0 about Linux or programming. One guy was really dumb. We talked about bash for Linux and at the end he starts reading his notes and says "Sad you did not talk about scripting in Linux..." and I just went "Ok bye bye".
And, as others have said... this rejection might have nothing to do with you. If they had 1000 applications, and you were their choice above 998 of them, you still get the rejection because they hired the person who was above 999 of them.
There might be a middle ground between "technical skills" and "personality", though, which we do take into account, falling under "soft skills", which may be affected by certain personality traits. Things like polling the interviewer for their thoughts, asking thoughtful questions, being curious about the source of disagreement or misunderstanding, not being dogmatic, and so on. I think it can be harder to demonstrate these kinds of skills with certain personality types -- I used to be very nervous in interviews, and it wasn't always easy to have the presence of mind to exercise these soft skills.
But even still, at least in technical interviews like programming or system design (as opposed to cross-functional/manager/tech leadership interviews), I've found it relatively rare for a candidate to be rejected for 'soft skill' failures when the right signals are there for technical strength.
You don't have to be 100% sure about what it is personality-wise that you need to tune up to start making changes. You're an intelligent agent; your intuition is much better than random about things like this. I would say act on your intuitions about what specifically you are going that is rubbing them the wrong way, and be less like that - regress a little to the mean, in other words. This is generally good advice in the business world, even if it isn't good advice for e.g. becoming a celebrity on Twitter.
Take note that most psychological studies suggest that personality is very unlikely to change dramatically in adulthood no matter what you do. It's better to focus on techniques that let you chill out for a few hours/days/weeks than it is to try to actually change who you are at core.
If it was just one company, I wouldn’t start trying to change who you are. If you make up a new personality for the interview and get the job, then what? How long can you keep the character going? Do you want to work with people you can’t be yourself around?
In terms of what to possibly change, that’s almost impossible to say without seeing what you’re like in an interview.
There are probably 300 people interviewing for the job you interviewed for. So they need to not just pick someone who checks the boxes, but the BEST of all the people who checked the boxes.
Assuming you checked all the boxes, you weren't the best and someone else was chosen. That's all it is. What makes them the best? Who knows. There's likely 50 of them they had to choose from.
Job hunting has always been a numbers game but now it's worse by a factor of 100x. Don't take it personally, and keep going.
In the most common case where I see engineers who say they struggle with the soft skills parts of interviewing, the underlying issue is a lack of skill in communication - working out what's important, stating it clearly and concisely, and in a way appropriate to the audience. I read some of your blog and found it pleasantly chatty, well structured, and obviously technical. If you communicate like you do in writing, there is obviously no problem there. I have no doubt that your account of performing well on technical questions is correct. However...
After some quick google searches, what I did find in your digital footprint is:
- A relatively high number of online posts complaining about employers in general across several years
- A tweet from a few years ago where you say you're fed up of software engineering but are forced to stick with it
- (as you stated) a jumpy work history
My best guess is that you're failing the digital footprint check. If I was hiring and post interview was doing a little more digging on candidates to help do a final pick, I would look at the short tenures, the outwardly directed frustration at employers, the stated lack of desire to be a software engineer at all, and pass on you.
As for why this is happening after several technical interviews? Most likely that's when you undergo final background checks and get cut out of the process. If you are burned out, sick of workplace social narratives, and don't want to work as a software engineer, I sincerely empathise for you. However: don't let me, a random hacker news commenter, find that out in under 2 minutes of time spent on Google.
The problem with advice here is that, if you're right and there's something personality-related and it's not just fierce competition or tiny sample size, we can't really tell through a post. I'm talking about the je ne sais quoi of you, the body language, the attitude, the unwritten vibe you give off, and posting videos here is uh, well, yeah, unlikely.
So, I'd echo the advice of others to talk to your friends and ask them to give you feedback. Hopefully they're observant and willing to be blunt.
I'll opine, though - have you tried a little masking and humility? I ask because if I had to guess based on probability, the archetype of the highly intelligent, technically excellent nerd tends to also run adjacent to underdeveloped social skills, or at least indifference to using them. Arrogance, defensiveness, ego abound. That's what I coach my team and friends on who have cracked this type of discussion open.
If you were going to mask for an interview, coming across humble/hungry/smart (smart is probably not a problem for most here, but humble?...). Consider mirroring with the interviewer. Stay detached and practice this, especially when a finger is pointed at you or you don't ace a question, or they disagree.
In all, it's probably the stuff you can't describe easily without being next to you. You may not even realize the signals you're putting off, if that is even what's going on.
I know the struggle - my wife has been turned down over and over and over, and she takes it personally, but she's also going for jobs that clearly have tons of great applicants. Is it her attitude? Did she make a mistake bringing up that experience? Or maybe...or maybe it's just out of our control, and we have to stick to the plan and stay in the market. The losing move is not to play.
Do you. You're the only one who can do it as well as you do.
You'll never know the real reason you weren't hired anyway, so it doesn't make sense trying to focus on changing something that you don't know is a problem to begin with. You're assuming it is personality, but it could also be other things related or not to you.
Interviewing is ultimately a numbers game; you can get better at it (with the myriad interview-prep materiel out there), but you are still subject to various uncontrollable factors. The most significant thing you can do is apply to more jobs, and thus increase your odds of getting hired.
Maybe you need to work on soft skills, learn on how to read other's expectations, so that you can dynamically adapt your strategy to meet their expectations.
Multiple times we rejected strong senior devs because of that. It could be things like: - language issues eg. we have to repeat questions multiple times - bad team players eg. they feel close minded, they seem judgemental
On the other hand, we recruited juniors who were not great technically but who had a positive mindset and the potential to grow. And I think they were the best people we hired.
For what it is worth in my recent experience most interviewers have commented about how pleasant and likable I am before they reject me, usually for some perceived technical flaw such as not realizing the essence of software quality is embracing their favorite fuzzing solution.
I stay interviewing while I have a job so the consequences aren’t as large but over on cscareers and blind, many people have the same experience
I wouldn’t over think this from one employer
From their perspective, they might be interviewing, say, six people. As you say, they've already weeded out people from their resumes before they even get to the interview. From my experience, and I have heard people note this before, interviews tend to be a Gaussian curve with a normal distribution. People are weeded out by resumes and such. However, if I interview six people, usually someone slips through the cracks who knows nothing or next to nothing. That leaves the remaining five.
Of the five, four are usually interchangeable. They're like you - they get the technical questions right, or right enough. It's obvious they've been writing features for code for a company like yours. But of the five, often one person seems to not just know the easiest questions, or normal questions, but has a very good understanding of the subject matter. You keep probing how much they know, and they have in-depth knowledge about a lot of things. They know how registers on a processor work, they know about cache, they know the big O space of various algorithms, they can explain different approaches to concurrency in depth, or testing, or a lot of things. So you got the answers right, they just did better.
It could be something else - you might be just as good as someone else, but they were recommended by someone already on the team, or on an adjacent team, and they get brought in.
I guess personalities are on a bell curve as well. Maybe one out of six people fail on this. Maybe they're disorganized, or immature, or arrogant. Sometimes they miss basic social cues, or don't follow instructions, or even seem like they have a screw loose. Then four out of six people seem nice enough - professional but friendly. Then maybe one out of six just seems very sharp and smart, or avuncular, or what have you. A lot of it ties together - someone who has done the work to learn a programming language more than the other candidates, you assume is going to be hard-working on features as well, and they also seem sharp because they know so much (about IT, but other things as well).
Some things are contrasting. The hard-working person who knows the programming language in and out, and who gets a lot of feature work done is probably willing to sacrifice a little comity within the group to get a feature out. On the other hand, some people are so stubborn and argumentative, their presence would be a negative, even if they have technical skills. But some personality traits can contrast - I've working with friendly, supportive leads with great technical skills, but if they are a little bit hard charging this type of thing might be expected to come with the package of being very good technically.
Until you have someone with nothing to lose giving you brutally honest feedback, you won't know what the issue is. Years ago I had thought I passed technical interviews but I had given non optimal code.
I had one mock interviewer (paid) tell me I wasn't explaining my solutions enough and I needed to take charge of the conversation more.
Invest some time into finding out what your real weaknesses are.
Think of your body. Specifically how tall you are. You can't easily change your height. However, you can do the following:
- workout
- wear clothes that fit you and flatter your particular body type
- etc
The same applies to interviews.
e.g. if you are a quiet, introverted person then there probably isn't much you can do if you are interviewing for a job that requires an outgoing personality like sales or event planning
However, you can get better at rapport, asking questions and seeming interested and excited in the role. A lot of this is also how you respond to questions. For example, if someone asks "Tell me about X", X can be either vague or you are not sure why they are asking. If you respond with "Well, I have a couple examples of X here they are: A, B, C. Which one would you like to hear about?" then that shows you are both experienced and also good at clarifying what is being asked.
One EXCELLENT way to practice this is to reach out to friends or family members who have done a lot of interviewing and have them do a mock interview. This is useful b/c they know both:
- what hiring managers are looking for in general
- you as a person and what may be "the best side of you" vs "pretending to be something you're not"
I will also repeat what some other commenters have said:
You are interviewing them as much as they are interviewing you. Much like a marriage, you want to partner with someone that "fits" with you and vice versa. In other words,
If they're interviewing you, then it's likely that at least someone read your resume and decided that you were possibly a good enough fit to spend many hours of time talking to and debriefing about. It's more likely that you didn't provide enough good signals to hire in the interview.
The way to look at any interview is that it has to provide a signal to hire. Technical correctness is just one of those signals. It's an important one, but the other aspects are also important. Some things that will set you aside from other technical competent people:
- Tech is often a place where the interviewers are actually doing the job at a similar level to you rather than just being HR / Managers. Treat interviewers not as a gatekeeper to a job, but instead as a potential future peer. Start with the mindset of "Would I like to work with this person, and how can I convince them that they'd like to work with me". This reframes the interview as more of a collaborative effort to getting you that job than just a "solve the problems, tick the boxes" type thing.
- Learn / write / *practice out loud* a good way to introduce yourself. What's your 2 minute story, what drives you, why are you here? Interviewers often most recall the first and last things you said in an interview the most and perhaps one other moment. Looking at the first line of your hn bio "Eccentric math-enthusiast/wannabe-intellectual in NYC." has 3 words that hold at negative interpretations / no hire signals. Sometimes less is more here. In a recent interview, I had a longer 3 paragraph intro prepared, but the interviewer jumped in after the first and basically said something similar to "That's exactly my story, we need more people like that". I shut my mouth immediately on the rest of the intro because the connection bit was done.
- You mentioned in several comments below being corrected in interviews but knowing you're right. This really actually doesn't matter in many cases. These moments are perfect place for you to demonstrate humility and how you deal with feedback. These are key skills of a team player. What actually matters most is how you handle that interaction. Take that and use it to proved a signal to hire by acting like a colleague not a robot. Something as simple as "I hear you want to ..., let's dig deeper into that in case I've missed something in my approach." is the very basic part of this.
- Put yourself in the mindset of having gotten the job and started working in the job. What would that look like? How would you act? You often have a small amount of time at the beginning or end of an interview round to ask questions about the person's job, team, work environment. Ask questions that provide good signals and demonstrate that you're someone that they'd want to work with. E.g. ones about day to day activities, team interactions, culture, internal promotions, etc.
I'd recommend finding a way to get a software development manager friend or acquaintance to interview you and provide feedback. Reach out to your network and find someone that can give you honest advice (if you know other employed devs then you have second degree contacts). If you can't find this in your network, then consider paying for it (e.g. something like interviewing.io or hellointerview.com). The benefit of doing it with a friend is that you're much more relaxed about things and can take that same relaxation to the way you interview.
For most software development interviews you're going to have a system design and a behavioral round. Watch youtube videos about tech interviewing and system design (Hello Interview, . Spend time practicing using the tools that you might see in interviews (e.g. coderpad, excalidraw) so that you're not spending time learning the tooling and instead you can focus purely on the interview.
A few soft skills books worth reading are "How to Win Friends and Influence People" by Dale Carnegie, and "The Secrets to Consulting Success" by Gerald M Weinberg. They're not interviewing specific, but both have a bunch of things related to giving and taking advice (which is what we spend a lot of our time doing as software engineers).
---
Something that you might consider trying is using a LLM to help you prepare (ChatGPT or your favorite local model). Vibe code your own interview personality coach.
First, set yourself up with a bunch of context: all the (mainly) non technical questions you've been asked in interviews, a copy of your resume, and any extra relevant info about yourself (your projects / goals / etc.), job roles and descriptions docs of jobs that you might want to do (find a bunch of these on big company websites). Ask the LLM for ideas for other context to add.
Then write your answers to the questions. Have the LLM analyze your tone, look for signals to hire, and suggest improvements to the way that you answer. Have the LLM come up with similar questions that might be asked and start practicing them. Have the LLM build a framework for answering that suits your approach. I like the CARL (Context, Action, Result, and Learning) approach over the more typical STAR (Situation, Task, Action, Result) as it provides more and better signals earlier in your response.
Use the LLM to meta-analyze the process ("come up with the top 10 reasons that software engineers fail in interviews for ... with ... context. Build a checklist of areas to analyze response"). If you have access to agentic tooling (e.g. Github copilot, Codex CLI, Claude Code), use it to build markdown summaries of things to look back on instead of leaving this info in your LLM chat history. Perhaps feed your blog posts and twitter history into the same checklist - you might find that the signals that you're putting out to the world have some glaring obvious problems that you're blind to because of your intimate familiarity, biases and assumptions.
Practicing public speaking can make you aware of your verbal tics - uhms ahs or saying "stuff" you use which can make you sound like you don't know what you're talking about.
Aggressively apply to jobs you don't want just for the interview practice. And study "good answers" to common questions on the internet ("strong points ? Weaknesses?" Fluff).