I had a great conversation with a recruiter a while back after receiving a referral. We had to pause the next steps because they were hiring a manager for the position first. She circled back around to me this month, and we scheduled a screen.
My technical screen was really bad. I was totally thrown off by the baffling behavior of my interviewer. It felt like a hostile interview, but instead of her being hostile (she seemed to oscillate between being demanding, harsh, and kind of nice?), the goal seemed to be to confuse or frustrate me and not let me try to solve the problem.
She gave me the question. I was expecting a classic algorithm problem and hadn't prepared for this, so I was already thrown off a bit. I started thinking it through and went to write my thoughts as comments. She demanded that I stop immediately after I wrote less than 10 characters. She then demanded I tell her what my output was. I apologized and told her I had been simply trying to split up the components of the problem statement and then think about how I wanted to approach the problem. She demanded I not think about the problem, saying I must only tell her "the output." I asked her what she meant by output, as that could mean several things, and I gave examples such as what would be printed or what I would return from a function. She just repeatedly told me to tell her what the output was and wouldn't clarify or say yes/no to my questions. After several minutes of getting nowhere with her (I thought about just ending the interview), she finally said that she considered the output to be the string the problem said to print (I had repeatedly asked her this many times, and she'd just replied saying, "No, the output").
I tried to redirect the interview so I could start thinking out loud about how to approach the problem. She told me to stop and just 'write something that makes the output.' I expressed my concern that if she really wanted me to make something like Splitwise, that solution wasn't taking certain things into account. I repeatedly tried to get her to let me write and use a data structure. She told me that all these design questions I was bringing up weren't relevant, and that I needed to do what she said because we wouldn't be doing any of the expanding I wanted to account for. So I did her hack-y solution the way she wanted it because it was the only thing that stopped her from snapping "Stop typing!" when I tried to code, and I expressed that I felt uncomfortable with this approach because it felt hack-y and wasn't scalable or following good design principles (she also still hadn't even given me any time to fully process the problem). And once I did the only thing she was willing to let me do, she told me to add on one of the very things I wanted to design for in the first place that she told me was "not relevant," not to "waste [my] time" doing that or thinking about the problem. So I started changing various pieces of code to account for this sudden change, and while I was still updating and modifying code, she repeatedly pointed out small things that I hadn't updated yet and seemed to imply that they were oversights on my part. I tried to gently point out that I hadn't stopped typing yet and was still in the midst of updating my solution to account for the changes, and that I hadn't gotten to that section of the code yet. This cycle of her adding on something I'd wanted to think about and design for from the beginning and then criticizing the things I hadn't changed yet in my code when I'd been typing nonstop to update it repeated itself two to three more times (I expressed my concerns about this being a poor approach every time). By the end, I was so exhausted and flustered that when she actually gave me about 45 seconds to think about what I was doing, I struggled because the way she'd forced me to approach this was so disorganized, and I had to think about how to modify the last iteration of hacked-together code written to her specification to work with this change. I had no time to think about the problem and was told not to do best practices that I'm often praised for in interviews. My assessment is that she is inexperienced, has few people skills, and she went into it looking for someone who would think and approach a problem the same way she would instead of connecting with me and attempting to assess my skills or understand how I think. Regardless, it ended with me feeling like the Payments team is toxic, and I don't want to join Coinbase.
I had such a great rapport with the recruiter, and I was so upset over how this went. I was looking forward to giving direct feedback to the recruiter about this in follow-up because it's important that my interviewer learn this is not an appropriate or constructive way to approach any kind of interview (I'd rate her as the second-worst interviewer I've ever had; she literally told me not to think about the problem). But they didn't seek any feedback, so this goes on Glassdoor instead.
Basically, copy Splitwise.
The following metrics were computed from 24 interview experiences for the Coinbase Software Engineer role in San Francisco, California.
Coinbase's interview process for their Software Engineer roles in San Francisco, California is extremely selective, failing the vast majority of engineers.
Candidates reported having very good feelings for Coinbase's Software Engineer interview process in San Francisco, California.