I just failed my dream job

I have been a developer for around 8 years. I started with Ruby on Rails, and then moved on to Elixir and Phoenix.

I have been working with Elixir almost from the start, because my predecessor forced me to. I have been working with Phoenix, before they made the switch to DDD - which was what made me believe into the framework whole heartedly.

I have been a mentor to people, in Ruby as well as in Elixir.
I made a package that was there before Jason included many of its features.
I might know more about how Phoenix works, than most people working with it.
For a long time, I tried my best to pass on my knowledge on this forum.

But I failed in a simple code exercise, I knew I failed when I saw their faces.
I knew when they asked the questions, I knew I screwed up…

But I have never seen an opportunity like this.

For all the people asking about job opportunities, this… should show you that maybe that there aren’t as many, but the opportunities given, are sooooo good!

Don’t give up people, I know we can make it!

35 Likes

Don’t sweat it bro, sometimes the job isn’t a good fit for you. It’s not that you suck, it’s that you and the job weren’t vibing.

11 Likes

OK, if there’s anybody on this forum who wanted to know more about me, well, you’ve just hit the jackpot. Here goes nothing!


Interview processes are broken beyond repair, people bring a ton of unjustified bias and unreasonable expectations towards candidates and it’s extremely rarely to “fail” an interview entirely through your fault only. 95% of the time both sides “failed”.

Here are some examples from the last several years of my rather colorful career:

  • I’ve done miracles for some of my employers (their words, not mine) – like writing shell scripts to refactor big chunks of their code (without errors!) or make various financial reports spanning tens of millions of records in mere minutes – while I couldn’t bring myself to code a simple Phoenix controller with 5 actions while at other employers.

  • I’ve made code that (almost) automatically generates tests that cover 90% of newly introduced modules by using other files (declarative programming, I suppose?) while I couldn’t bring myself to reverse-engineer a simple chat system spanning 10-15 files and then extend it.

  • I’ve been passed on interviews because out of 12 expectations for a homework just 1 of them I’ve did very sightly worse than another candidate.

  • I’ve been asked to answer the same questions in a questionnaire with 30+ questions twice just because an HR was stubborn and refused to read a reply to an email. I already passed their technical test and the VP of engineering wanted me but I told them to rely less on bureaucracy and not waste people’s time, so I passed them.

  • I’ve had to code an entire homework live for 2 hours. Never doing that again, even though the guy was impressed and said I did fantastic.

  • At the same time I’ve had a complete freeze during an interview when I couldn’t solve a relatively simple problem that required processing a lot of data that I couldn’t all load into memory. Can’t blame them for being unimpressed but I can and did blame them for not engaging in a discussion and focusing less on just one algorithmic task. (What was even more maddening is that the solution came done and baked in my head like 8 hours later…)

  • I’ve had one of the most perfect work opportunities last year and I started and we parted ways only 4 months in because they wanted me to work on a crappy laptop (that they sent me) that had its deafening fans on at least 50% of the time and because the team was too busy to actually onboard me. I eventually muscled through everything (30+ projects) but it was too late by then. Still regret losing that one but in retrospect they were not a good team to have, and they treated people like they have to pass a rite of passage through hell so they deserve to keep the job. Still, the company and the problems were very interesting, and the pay was excellent.

  • I also managed to fail a simple interview with a GenServer coding task. Why? Because I didn’t memorize how to code one. I was told I can Google stuff but it was visible that the interviewer decided against me after I solved the exercise after 2 minutes of reading the docs.

  • On one of the most chill workplaces I’ve ever had I never managed to bring myself to be actually productive due to being in a very rough mental health spot back then. Ironically I and others were fired for completely different reasons: the company was a startup and the investments dried up.

  • Another company switched from Elixir to F# overnight because the CEO had a lunch with a Microsoft Azure representative. Boom, fired.

  • In my last job I’ve specifically told the technical director what I’m good at and what I don’t want to do. The team didn’t care, they gave me the stuff I hated regardless eventually. Couldn’t bring myself to even give a good explanation of a lack of progress on the standup meetings. Decided to leave after 3 months with them.


There are more (did I mention that I’ve had a colorful career?) but the point is: train yourself to let go of such accidents or occurrences. Both hiring and employer’s expectations can be severely detached from your reality and that’s very rarely your fault.

Just keep trying. It will be okay. Just don’t stop.

53 Likes

I’d frame it differently, @Ninigi - if you didn’t land a job you were well suited for, the ‘failure’ wasn’t yours (or at least not yours alone), but of a process that failed to elicit your abilities. A candidate-seeking process that places hurdles rather than realistically trying to investigate isn’t fit for purpose. That’s most extant processes in fact. Not that it’s easy to figure out how to do it better (and many responsible for hiring, at least those not full of themselves, admit a lack of faith in what they’re doing, which is exactly why just hiring someone you already know is for most the dream option)

@dimitarvp - thanks for your entertaining missive! Though I don’t for some reason feel quite ready for your level of public disclosure honestly I’ve done worse in the past few years and having made myself virtually unemployable (while broke and in my 50’s) have essentially quit the job market. Despite that, to echo your “Just don’t stop” point I was a pretty unlikely candidate for my last job - sheer persistence got me there.

14 Likes

Eh, I get it completely but you know what? I don’t care anymore. I’ve done pretty amazing things in my career but I’ve also been having a very tough period in the last 2 years. I am not ashamed to admit I have made some dumb mistakes. I am realistic about them but I also know that I wasn’t the only one who failed. Thus, if somebody reads this “confession” of mine here and figures I am a bad hire then IMO that’s a win for both of us: we won’t waste each others’ time.

I too am not at the height of my financial security and I still can’t care enough to try and hide my mistakes. I am younger than you – 41 currently – but I’ve already almost completely burned out on the “pretend you are perfect” front. I just don’t want to.

Contrary to what some of us think when we still don’t have a job and reserves are running out and anxiety hits… all employers in the world are NOT in fact a singular hive mind. :003: Just keeping doing interviews absolutely will get you employed at one point. Glad you managed!

13 Likes

This is absolutely true. My last job kind of shocked me in how accommodating they were to difficulties I had at the time - this despite the fact that it was a small start-up where it mattered that everyone pulled their weight. Honestly at least here in Aus, a company wouldn’t have been as accommodating a couple of decades ago. Those in their 20’s and 30s are miles ahead of where ‘we’ were in kindness, openness, non-discrimination, etc.

3 Likes

I took an interview at Mongo out of college. I took 2 hr car ride, then 1.5 hr train into Central NYC. 4 back to back interviews without leaving the room. Final interview with a VP and we’re talking about my favorite data structure: Fibonacci heap. “Can you write the fib function on the board?”

Complete blank slate. Panic. I wasn’t able to do it. Mentally was drained and just completely blanked. I didn’t get the role and I’d wager that was a big contributing factor.

That was a dream job, although looking back I’m very happy I didn’t get it. I ended up somewhere better that, most likely, had a better outcome for me.

22 Likes

Technical interviews are often done to:

  • filter out candidates that the company doesn’t want to hire for some other, arbitrary reason
  • determine how obedient the candidate is (Will they work through an entire book of coding interview exercises?)
  • make the the person doing the interview feel good about themselves

Assessing how competent you are as a programmer is not a real goal, the majority of employers would rather hire someone who is below-average skilled but willing to put up with long hours and un-paid on call work.

7 Likes

Don’t sweat it. I failed “coding tests” that I thought I bossed. One time the interviewer said they thought I used “unnecessary libraries” but refused to say which libraries were unnecessary. I really believe a lot of interviewers decide within 1 minute of face-to-face talking and, if they don’t want to hire you, will try to find something wrong in your code. Also I always blank on really simple questions and mix up words in interviews. Unnatural conversations.

9 Likes

Some fail an interview because they are too good, e.g. a too good fit for one of the interviewers position so they feel threatened.

6 Likes

Would you mind sharing the exercise or some slight variation of it not to give away where you applied?

1 Like

It’s tough! To deal with it, I have been avoiding idealizing those companies. In the end, It’s just a job, like whatever job.

Sometimes is hard to employ a lot of energy to get at the end of a hiring process just to discover that you aren’t a good fit, but I think that it is easier to alleviate the frustrations when you set the correct expectations about it, it’s just a job and just move forward.

3 Likes

IMHO this happens because some companies prefer to define seniority based on some specific technical knowledge they deem important (even if it’s completely unrelated to the work) instead of considering the candidate’s soft skills, career experience, and what that person can actually bring to the table. Of course, technical knowledge is important, however, jobs where you have to be super-specialized, are really rare and require a very specific skill-set.

This kinda behavior leads to some very weird biases like, for example:

  • Once I got rejected on a job interview in an agency because I didn’t remember how to calculate a password complexity given some constraints… The question was framed along the lines of “how long a machine with a processing capacity of X would take to brute-force a password constructed with a given subset of chars”.

    The interesting part is that they were trying to hire someone to maintain some sort of integration they had with WordPress, and the fact that I had (at the time) 6+ years of experience with web development didn’t contribute at all to my case, go figure. The cherry on top was talking to the other candidate afterward and learning that he was actually studying that discipline at college (he was in the second semester or something like that) but he didn’t actually have any experience working in the field.

  • Another time I got on the phone with a recruiter that was in deep shit needing a senior developer. I explained that I didn’t have the time to meet with them that day, but they insisted on their urgency. I moved an important appointment that I had and traveled to another city to meet with them for the interview. After an hour-long talk with the CEO, I went to talk to the CTO for another hour where he asked me a lot of technical questions. After that, even though the knew I was on a tight schedule, the CTO wanted me to do some sort of generic knowledge pop quiz he had prepared and after I explained I didn’t have enough time that day to do that, he explained that he couldn’t continue with my interview process because he needed a “holistic view” of my skills.

  • On another situation I was called to do an interview where I was the only one that passed all the interview steps but got rejected in the end because I didn’t have any certificates (even with a lot of experience). They had this policy where senior developers had to have an X amount of certificates to be considered “seniors”.

The lesson I take from those experiences is that most of the people hiring are not qualified to hire people. They are not even (most of the time) qualified to deal with people in the first place. On the technical side though, beyond having unreasonable expectations, I’d say these companies don’t want to invest resources in hiring people that are good problem solvers, have decent people skills, or have at least some level of critical thinking… Unless of course, if you manage to prove in some sort of tribalistic rite of passage that you are in fact worthy.

PS.: People in our field need to learn how to be more like humans and less like computers.

14 Likes

Sorry, I’ll rant some more. But your very open and clear take made me want to talk more about the topic. :heart:

Very nicely summed. That’s one of my main takeaways as well. It’s not like they don’t want problem solvers (something you mentioned at the end of your comment) – they absolutely want them, but they fixate on random and oddly specific metrics and are insistent on them.

This is super sad and super normal. I’ve met a lot of people whose implicit behaviour just screamed “you need the job, you’ll bend to our process and schedule!” and at one point I just started recognizing those people and learned to bail early. It’s very much like dating: you don’t want to waste a lot of hours on somebody who’s giving away red flags early on.

Can we be mistaken in such situations? Of course we can! We aren’t without bias and flaws in our judgement – like everybody else. But in my anecdotal experience, at least my job hunt process has improved noticeably after I started stopping processes early after noticing the said red flags.

I also started communicating a lot more casually and dropped the business lingo and “professional” attitude because I really don’t care to respect people who openly disrespect me. I started using expressions like “OK, I understand the tech interview in 2 steps – homework plus then a live session – but why the hell do I need to fill huge questionnaires, especially after you have 90% of the answers already in my first emails? Let’s be professional and respect each others’ time, please?” One guy straight out told me it’s not my place to question the process and I also outright told him thank I thank him for making it crystal clear that I don’t want to work for them. :lol:

LOL :003: Also very true. Most people are kind of coerced into it, too, so very often it’s not their fault at all: “Hey X, thanks for being such a strong developer and pushing our mission forward for 2 full years now. We need to expand our team. Can you please interview those 20 candidates?” and then the guy/girl literally has 2-3 days to learn all about recruiting programmers and of course they fail, panic and resort to their most primitive and ugly biases and gut instincts.

(I once “failed” an interview because I mentioned I don’t care about Game of Thrones and it was all the rage back then; I could immediately judge by the faces of the two interviewers that the interview result was sealed right there and then.)

Programmers are very tribal animals. And a good chunk of them are very immature. The moment one of them figures that you “don’t fit in” – for whatever random metric they chose – then it’s a done deal.

I don’t like it but there’s absolutely nothing we can do. People with warm seats (e.g. not getting fired unless the company goes under) tend to become complacent, biased, judgemental and set in their ways. I have seen such people literally at every company I ever worked with. People in general shouldn’t be given power at all because 99% of them absolutely can’t handle it. (Which gives me a huge respect for those that can.)

Yeah, that was the reason I “failed” my best paid job ever last year. They expected you to learn everything by yourself and basically do self-onboard in a huge stack where I had to know my way around at least 5 core projects and be well-familiarized with 25+ more, be able to do Ops and system administration, tune my Linux installation for anything and everything that might be needed for the job, know the Kubernetes stack intimately and replicate part of it locally… in the first 2 or so months. All gods are my witnesses I did my best and IMO I did well (but not perfectly) but since I lost motivation half-way (it was bit of a hostile environment; if you don’t act a certain way the others don’t even respond to your legitimate questions… which was hugely depressing) and it took me a few weeks to regain it… again, it was a done deal even before that.

…What I can say? Tribal animals. :man_shrugging: The “rite of passage” expression struck me as 100% accurate there.


I am not a businessman yet – and it’s unclear if I’ll ever be – but as time goes on I keep spotting very typical programmer biases which kind of make me ashamed to call myself a programmer. I think I’ll eventually move to a consultant and/or an architect. As time goes on I find it easier and easier to work with certain programmers (and love doing it) but also harder and harder to work with many others.

9 Likes

Kind of, but there’s a broader way of looking at this. Dan Sperber (evolutionary psychologist) & colleagues argue that reason evolved not to discover truth, but to win arguments. Which explains much if it is the case. People make decisions, then argue the case for them. My observation is that this seems to be particularly true in highly interactive social settings - like interview! The natural affordance of an interview is to create a situation where the interviewer makes a quick intuitive judgement, then fills in the reasoning ex post facto. Which is why they don’t work.

I wish I could remember the source of someone once writing, in response to fears about AI I think, that their worry wasn’t that computers would learn to be like humans, but that humans would learn to become more like computers.

2 Likes

My favorite thing I’ve been seeing recently, is a company claiming during the interview that they’re going through a “hiring boom” and need a BUNCH more Elixir devs! - even if you don’t have experience with Elixir, “you can learn on the job!”. And then after going through several interviews and a coding project, all clearly demonstrating significant experience with Elixir - I get a rejection email without even any reason.

9 Likes

They likely needed juniors only. But it’s hypocritical to claim you’d accept all. PR strategy, I suppose.

2 Likes

Haha. So true.

You guys are much better than me at summarizing. I love reading your replies. :007:

1 Like

I’d say that’s quite true of every profession. After a bunch of years of study, internships and dealing with the competence"colleagues" of our optics store, the sheer amount of incompetence and toxic attitudes would make you think healthcare is full of crap. Healthcare. Some people care more about keeping/escalating a position by whatever means necessary(and anything foreign is a threat) more than doing a good or meaningful job, which sucks especially if you have no voice. But it’s also an opportunity to differentiate yourself as a person who knows about #{profession}. “Barely overcoming the general mediocrity” as someone I met liked to say.

I speak purely from what I lived in that particular profession, but humans are humans, you can ask people working in any profession and they will have similar stories.

6 Likes

Roughly two years ago I quit my last job as a front-end expert, seeking a full-time Elixir job. I was passionate but didn’t have enough expertise to get hired by most of the companies. I was almost to go back for a JavaScript job. But my present boss hired me.

It was dramatic because when the job found me, I was reading the book The MaxCoders Guide To Finding Your Dream Developer Job. It says best developers are not on the marketplace, neither are best jobs. They are recommended by friends. How true to me! My boss and I met at ElixirConf 2019 and had some good conversations there. Since then we are friends on LinkedIn.

The point is,

  1. chances are, the jobs we passed by may not so dream since they are public.
  2. don’t forget to attend ElixirConf this year. If there are no dream jobs, there are dream people who have or will have dream jobs. (Sadly it means that virtual meetups will not be so successful)
10 Likes