Need advice after a soul crushing technical interview


#1

I just finished a technical phone interview with one of the big tech companies and as soon as it ended I burst into tears. From the first question right until the end all I wanted to do was cry and hang up. The interview has left me feeling inadequate and stupid.

I’m a senior software engineer in my early thirties and was one of the high performers at university. I write software in my spare time, and love programming. I’ve even written a couple of popular libraries hosted on GitHub.

I also have ADHD which makes it really hard to talk about subjects without mixing up details or saying things in the wrong order. When I was asked about my experience, I had to back track because I forgot an important detail; with the technical questions, I mixed up related concepts. Another characteristic of ADHD is to not being able to control what you say, so sometimes thoughts are spoken and then you try and stop yourself.

Some soul-crushing moments of the interview:

  • Have you worked on the project your describing? (I work on it daily)
  • Have you ever used relational databases?
  • This is common knowledge.

The last comment was about linked lists. I described a linked list as a data structure where each node contains a reference to the next, then for some reason I said it was stored in an array. I know it’s not stored in an array. Confusion ensured and it didn’t get much better.

At the end I asked some questions but was only doing it to check the technical interview things-you-should-do box. I wanted to know the answers before the interview, but I felt so defeated I didn’t even hear the answers.

I came here because I feel awful and was hoping someone could offer some advice on how to move on from this.


#2

I know how devastating it can feel to come out of a bad meeting or bad interview. But I think the answer you’re looking for is in your question: you’re university and career experience shows that you are a competent programmer, and having popular GitHub libraries means that you definitely write code that people find useful. The simple truth is that you don’t interview well, that’s all. And that’s fine. Big companies have a particular way of looking for people and if you don’t fit into that methodology, you won’t have a good experience.

A lot of people are good problem solvers and deep thinkers, but need time and space to do it well. Just because you couldn’t come up with the right answer in a few minutes, just means that you work better in a more flexible setting. I would look at this as good feedback for your future: instead of jobs that look to filter you out based on a single interview, look for jobs at places that will make the effort to get to know you and your skills better, in an environment that works better for you.


#3

Thank-you for your kind response. It’s helping me feel better.

It’s hard to believe in myself. I’m could be the poster boy of impostor syndrome, attributing everything in my life to luck or coincidence.

I think what upsets me the most is that in a lot of situations the only thing people see in me is my ADHD and that it will always be hard for me to overcome that.


#4

Glad I could help.

It’s hard to believe in myself. I’m could be the poster boy of impostor syndrome, attributing everything in my life to luck or coincidence.

I went through this problem myself a few years ago. I spent a couple years wallowing in imposter syndrome, thinking that I didn’t deserve to be where I was and that I couldn’t live up to the expectations. And that turned into a self-fulfilling prophecy. I stopped working hard because I thought I couldn’t handle it, or deserve to do it, and I almost got kicked out. It was only after took a break for a few months that I realized that it doesn’t really matter how I got to where I am. On a day-to-day basis, no one really cares about where you got to where you are. What matters more is what you do with your current position and with the chances and opportunities that have been given to you.

I think what upsets me the most is that in a lot of situations the only thing people see in me is my ADHD and that it will always be hard for me to overcome that.

I don’t have much to say about this, since I don’t have any experience with ADHD. Perhaps the best way to deal with this is to be upfront about it: say that you have ADHD and that interviews are a bad way to demonstrate your ability. Of course you will have to come up with other ways to demonstrate your competence. Writing open source code that gets broadly used, and doing well at your job so that your current employer can give you a good recommendation are good ways to go about it, I think.


#5

Well at least it was done by phone and not in person :wink:

Couple years ago I was asked in an interview to explain the difference between an sql inner join and a outer join.

I drew a blank. I had a pretty good mental image of an inner join, but somehow the outer join concept was buried in my thoughts.

I felt bad for stumbling on something so simple. The truth is, I had not written an sql query in a while and it simply never registered into the “things I absolutely need to know by heart” category. It’s not like I enjoy reading the mysql docs when I drink my morning coffee…

I can relate to what you’re saying. I’ve suspected I might have ADHD for quite some time but was never able to get a diagnosis. I do have issues with anxiety.

In another post, I mentioned I interviewed for 5 hours a couple of weeks ago for a senior dev position and didn’t get the job. That experience has left me wondering if I have what it takes mentally to get to the next level in my career.

I think @vibranium is right about being upfront about it and using open source projects to show off your skills.

Good luck


#6

Not sure how much it helps but as someone who’s done a fair bit of hiring it’s my firm opinion no interview should be that way. I’d be horrified if I left someone feeling stupid after I interviewed them. Also, flubbing the “right” answer to a technical question isn’t necessarily a deal breaker: I’m more interested in whether you are familiar with the subject and how you think about problems. Being able to recite a textbook definition isn’t particularly useful in the days of Google, StackOverflow and Wikipedia.


#7

So, you went to an interview and some random person said “its common knowledge” and similar.

This could mean two things:

  • you have not really worked on what you were saying
  • the interview partner was some kind of idiot

You went here. For that reason alone I believe you have worked on the projects what you said.

I don’t get what is "common knowledge"
You might do “mistakes”. You might “misuse” relational databases.

I am very honest to you now.

But first, please check my name, look up my blog. I was working on code since 1998. I am involved in the ASF. Sure, I am not an extraordinary developer like Fowler and similar, but I have 18 years of industry experience and worked in almost all roles I can imagine on software projects. And I wrote books.

You are impressed? Good. I might look like the guy who interviewed you.

Now here come my secrets:

  • Today I looked up “mysql update subselect” in Google. While screensharing with a junior developer. I simply didn’t remember the syntax, but hey, there is google.
  • I was the one who brought Solr to the project, but some other guy who started later now tells me everything I need to know about it. Honestly, when I am lost, I simply ask him. I gave up being an expert.
  • Relational databases? NoSQL? Yeah man. I use it daily. What do I know about it? The things I use daily: select, update, delete. I always mix up update and delete. Good there is Google.

Now this guy said, something was common knowledge. I have worked with Materialized Views in Oracle before years. Nobody in the project knows what a View is, heck, a materialized one. Before 20 years, in the old project, it was common knowledge. But not today. Instead, the young lads tell me Python is good, and I never understood how I could install Python. I always end up with conflicting versions and I f****ng cannot read it. Python seems to be common knowledge, but aaaaaaaaaargh, I admit I DON’T LIKE PYTHON!!! And python doesn’t like me!

At least there is one thing I am good at: I can keep the team somehow organised. At least I believe I am good at it, because nobody complains (I hope).

Like Einstein already said: everything is relative.

Now as you know my secrets and that I am maybe the worst coder of all times, despite my CV looks so good: I tell you what common knowledge is. It is:

$x

Now you know. That’s it.

I have recruited people too, and I can tell you I was always afraid before that meeting. I need to look competent, while the other person needs to look small and unexperienced. The reason? If you are dumb, you earn less money. And of course, I can reason why I need to earn more.

Also: i need to check all of your skills to the bone. If I, the recruiter, make a wrong decision, my company pays. I better make sure I don’t make mistakes. As the recruiter, I simply try to kill you.

I am lucky that I have learned something good in the past years. Really, I am a bit proud of it. I have left the path of “I am a better guy than you” and look at you as a person.

Instead of making my interview partners nervous and try to make their thinking fail, I support them. I want to find out what they can achieve, and not how they fail. I would like to know what my partners are as human persons. I mean, do you want to work with a guy you don’t like?

There are many, many different aspect in hiring the right person. I am surely not an expert. But This guy you describe looks like a person who simply wanted to put some force on you and end up like the winner. In this case, he won. Good for him. Maybe he is now in the 30 inch club. No idea. What he doesn’t know is if he missed a great candidate who suffered from excitement/pressure/whatever.

Now you ask for an advise. I cannot give a good one. I messed up a lot of interviews myself before I got my own way.

I tell you something which worked for me.

Stick to yourself.

You know what you did, you know what you know. As long as you continue to learn, work without ego, reflect everything, simply put: stay a good developer. Then you are on the right track.

If you really feel this person is right with his criticism, then put away your ego as well. Decide if he was right or not. If he wasn’t, ignore. If he was, fix your issues.

That is all.

With all the disappointments I had in the past years, with all my failures (I wrote about them on my blog too) - i simply tried as honest as I could.

I strongly believe you should get past this. There is no common knowledge. There is nobody who can judge your project as good as you can. Nobody has the claim to “understand relational databases” better than you, because everybody (!) uses it a little bit different.

To each his own mistakes.

To many words - I still hope it helps you. You mixed things up, thats ok. That’s you. Your people love you because it’s you. If somebody doesn’t get it, it’s their fault, not yours.

Cheers,

Christian

PS: post is not proofread - apologize for all spelling issues


#8

I’m a database/SQL guy, actually more data warehousing/reporting. I know my SQL, I believe fairly well, but apparently I can’t convey that in an interview as even the place I’m at now told me they didn’t think I knew it very well based on my interview. And I have 6 data/SQL related certifications, so unless I cheated 100% of my way through them I have to at least know the basics.

And yet, I’ve struggled on interviews.

While some of that is me, and I own that part, frankly, technical interviews suck. You go in under pressure, something comes out of left field, and you are supposed to know REGEX, on a specific platform, when you haven’t used it in 2 years but, you have used it, and could figure out something if it came at you in the real world. Meanwhile, the guy who comes after you, who needed REGEX for some funky situation 2 weeks ago aces the interview question. And the guy who asked the question spent two hours Googling it prior to the interview.

It’s a really dumb approach, you just got caught in it.

The other thing is that we eat our own as self-validation.


#9

Sometimes it helps to hand write interview-able concepts. With a pencil and a piece of paper I mean… surely slows your mind down if your head tends to race and help commit the concept to your brain (and perhaps in a more articulate way). It’s like resource heavy persistence of the concept to your brain instead of quickly caching to memory.

In regards to your interview…

Even Kobe Bryant went 1-14 from the field. Everyone has off days and those off days are good opportunities to analyze your weaknesses and hone it for the next game. It’s a shame that your interviewer insulted you for it. That’s very low of him…

“The wise man doubts often, and his views are changeable. The fool is constant in his opinions, and doubts nothing, because he knows everything, except his own ignorance” - Pharaoh Akhenaton

Only a fool believes in common knowledge. Especially in the world of programming and software engineering.


#10

I had one of these bullshit interviews today. The interviewer was asking me questions about a language he did not know and gave no feedback as to what he was looking for. It is incredibly stressful how these companies interview and expect you to know all of these ridiculous details off the top of your head. I found that what kind of works is to relate one of these questions to something very similar you have done in the past and comment on how you could or feel that you could figure this out but not right on the spot. Needless to say if you are concerned about messing up on linked lists and know it you are in a good position.


#11

Thanks for verbalizing my thoughts.


#12

I wanted to say that this post inspired me and goaded me into action. I have been thinking about it for a few months and finally struck up the nerve to write down and share some of my thoughts.

I have experienced these horrific technical interviews before, and it took me several years, but I finally come to realize I appreciate these moments because they tell me something very important: you could not pay me enough to work for those people . My mental health and stability is too precious and precarious to step into a job with bullies like that.

As I said, I was inspired by this post to write down some of my thoughts, and lately they have been on interviewing. I have an article about post-interview tactics I employ that have helped me mitigate the soul-crushing-Ness interviews can cause. I hope you find it helpful:


#13

Thank you for sharing your experience. It’s a good post.

I’m between jobs right now. Finding a job is not an issue. Finding something that won’t be soul crushing is more challenging. I’m confused about what my next move should be so I’m scheduled to see an career adviser/psychologist to figure it out. Hopefully I won’t be wasting my money.

I’m in my late 30s and one question I really struggle with is the “where do you see yourself in 5 years” type of question. I have no idea. In my early 30s, I would say I want to learn about being an entrepreneur and launch my own startup. I have since changed my mind and want to leave this industry and move to a new career.

Until then I have to pay the bills. So I have to figure out how to use my skills and experience to make a good living while avoiding burn out or stressful situations.


#14

Most technical interviews are soul crushing. :sweat: The real problem is interviews like the one you experienced don’t actually solve for the problem of finding a capable, productive developer. I usually know that if I’m being asked gotcha questions in an interview, the company is probably not for me. Same goes for non-technical interviews where the interviewer talks more than the interviewee or appears eager to assert their intellectual dominance. If they want to see past work, hear about successes and failures, or pair on a problem for a little while, then I know it’s a place that cultivates the kind of work and learning environment I can thrive in.


#15

I have never had any idea where I see myself in 5 years. I have angrily walked out of interviews over that very question. It’s worthless to try to guess where you will be in 5 years, in my opinion.


#16

I have passed interviews flawlessly and got offers right in the moment, as well as failed interviews to various degrees. Some companies have reached out to me again, some others haven’t.

Other than technical motivations, there are legal and cultural motivations behind the way candidates are screened and interviewed. Keep that in mind. Sometimes you can be declined for technical reasons, some others you might be declined for cultural reasons. And the way in which you are declined needs to comply with the law.

There are interview preparation meetups that can help you gaining confidence and technical ability around interviews. Many of them following the interview formats of large companies.