Ask HN: How do detect a crappy boss / toxic environment when interviewing?

356 points by isuckatcoding ↗ HN
I am currently working in a position that felt like a great startup to work at during my interview. However, a few months into the job I realized my boss was a complete and utter asshole. Given this is my first job out of college, I've stuck with it and I am looking for a new role. How can I detect during the interview / research phase to avoid such situations?

Some things I've been doing is looking at Glassdoor but the problem with that is the reviews are highly dependent on the role, or the department or some manager who may or may not still be at the company.

I am a pretty average developer which is why I was kind of desperate for that first job out of college but after getting more experience, I know I can do better than this.

337 comments

[ 3.0 ms ] story [ 294 ms ] thread
I too have recently started a new job. I had a phone screen with the hiring manager, then met with him for a two-hour 1-on-1 interview. Some time later I was given the offer and accepted it.

I never met any of my future team members. I asked the hiring manager during the interview to introduce me to the team, but he said this wasn't going to be necessary.

Now, a few months into the job, I must say that I've never worked on any team composed of such antisocial people. Pretty much no one here communicates effectively. Cliques are demarcated along racial lines; there Chinese and Indian groups don't really talk to each other, and don't "accept new members" that don't speak their language.

This is the loneliest place I'd ever worked. What's surprising is that I never thought I could be so lonely at work of all places.

So, lesson learned: if you aren't allowed to do a meet-and-greet with the team before accepting an offer, don't even think about taking it!

This is very people dependant. I'm fairly anti social and that sounds like a plus, although I mostly refuse to take any job that isn't remote nowadays.
> Chinese and Indian groups don't really talk to each other, and don't "accept new members" that don't speak their language.

This is pretty common among both racial groups.

And, if we're talking about the US, it was common across pretty much every ethnic group that emigrated here.

In this context it's the fault of managers. Sure racial lines exist but such hostility should not be allowed to exist by management.
> he said this wasn't going to be necessary.

That's the pointer right there, he sees interviews as one way and not a two way street.

I guess that you'll know next time to demand your needs whether they are deemed "necessary" for offer letter or not.

Zappos? Sorry, bad joke. I agree completely. It's important to meet the people you're going to be working with to make sure they fit with you. On the other hand, a lot of these cliques are a reason some departments do poorly. There should be no cliques. Yes, it is important, but colleagues should not have to like one another to be professional and do a good job. If each person does their best, is professional, there's little reason why they can't produce good work.
You torture a dog for ten years and now it's gonna bite the shit out of you. It's a very mean and pissed-off dog from such a dumb shit stubborn nigger.

God says... fluoridate redcaps Mitzi's bung cirrus Rene rouses Winfrey's posher inflatable upgrade's recliner's sandpiper's implacably pod's diehards grandmother's dirigible mush's peacekeeping's handbill's misdirect treacheries crackliest Spitsbergen comrade protocol Cruise's flakier conglomerate's lovebird's Iva's

It doesn's sound like the nigger has the fear of God. He has not humbled himself and begged to suck cock to make up for his evil.

One basic way is to ask your interviewers what they like about their job. You're going to get a positive response, but is it hand-wavy or specific? Is it too specific, like they're just cherry-picking the one thing that keeps them employed there? Is there light in their eyes or are they reading a script?

Another way is to ask how decisions get made. Again, the specific answer is going to probably be something pretty non-controversial, so look for the subtleties.

Sometimes it's just obvious that it's too risky. I had one interview where the hiring manager's boss managed to freeze him out of his own loop. I ran from that one.

Also, you should be very skeptical if you felt like your interviews with individual contributors were lukewarm or poor but you still get the offer. That's very possibly a boss overriding flags from his team, or a team that's deadened enough to not throw flags in the first place. If you don't feel the interview went well, trust your gut--might not be just your fault.

Yes - and be very direct about this. Ask them "So why do you like this job? Why is this a great place to work?" I've had someone pause, look at me and tell me why it was a bad place and I should run away.
I had a hiring manager make me an attractive offer--and then in the next breath tell me that he was planning on leaving the company, and I should run. The gist was "my boss is watching so I have to make the offer, but he'll pop into your office at 4PM and tell you you're working until 9PM on a regular basis and otherwise interferes constantly. I've been unable to protect my team from this. You can do better."

I sent him an explicit "thanks for the generous offer, but I've chosen to go elsewhere after consideration" email so he had something to forward, thanked him kindly privately, and ran like hell.

It's pretty amazing what you'll run into across a career. I've probably seen more WTFs from the hiring side of the table than from the people I've interviewed to hire.

So, what makes your boss such an "asshole" as you put it? I am not by any means trying to prove whether or not your boss is actually an asshole, but trying to find out why you think your boss is.

I have had bosses who I thought were horrible and many others around me liked them. I have had bosses that I would go to the ends of the earth with and my co-workers thought I was crazy. A lot of times it is personality and confidence (in yourself and in your manager) which dictate how well you will get along.

How to find the right match when you are interviewing? Well, how many dates does it take for you to decide who you'd like to marry? Do you marry everyone you date? In this business, I think it's best to not get too emotionally tied down. You're going to move, and that's ok.

Communication style can have a lot to do with quality of match. There are a lot of flaws with things like Myers-Briggs personality analysis, and I don't want to incite any flameage, but I will say that it can go a long way to identifying how people prefer to receive information. It was really eye-opening to me when I discovered the tool. My boss was extremely into details -- I like my reports to give cogent, high-level summaries. My boss hated my status reports, because I wrote what I wanted to get, not what he wanted to get. He thought my status reports were 95% content-free, I thought they gave a clear distillation of the issues. Needless to say, I changed my writing style, and things got better. A few years later, roles were reversed. One report of mine wrote status reports where I could not find the point in the swimming-pool of low-level details. Only this time, I understood the problem, and coached her on the way I needed to get information to keep my brain in the game.
Indeed, the relativism of all of this is very important.

Can you put your finger on what you boss does that is unacceptable? Is it because of:

* the way she/he makes decisions? * the way she/he provides feedback? * the way she/he defines success for your tasks? * the way she/he socializes?

If you uncover the underlying behavior that could be better, this should help you do a bunch of things:

* Decide for yourself how you would handle these situations * "Manage up", by framing what you bring to your boss differently and giving feedback, if possible * Learn not to behave in this way for others * Recognize these traits in others more quickly so you can get ahead of the behavior and in the worst case avoid those people.

I know none of this answers your question. To find an environment that you thrive in might take a good bit of trial and error over the years, plus a good bit of "character building."

I'm not the one you're asking. But there are some things that are pretty clear, not just "I think my boss is".

- Unreasonable demands (be available 24/7, when that wasn't clear up front or isn't a normal part of the position).

- Stabbing you in the back to make the boss look good.

- Verbal (or even physical!) abuse.

- Lying to you.

Note well: No resemblance to my current boss, and very little to any boss I've ever had.

Ok so I can guarantee you this isn't all in my mind or some relativist bullshit. This boss is the kind of person who walks into a meeting late, often clueless about the topic of discussion, then yelling ensues because he's confused or some feature wasn't implemented as he supposedly requested and then he berates my team members in front of others and you can sense the vibe of dog shittiness in the room by the utter silence that follows.

He is notorious at the company for being _the_ asshole boss. Just mention his name once to employees (especially those who've been with the company for 2-3 years for instance) in other departments and while some won't say it out loud, you can tell from their face they know and they feel for you.

I apologize for the swearing. In reality, I am actually the kind of person who avoids swearing at all but this job is changing me in such terrible ways. Yes I am angry and I am desperately searching for a decent company to give me an opportunity where I can grow and contribute in a more positive environment. I am not asking for a stress-free environment (stress doesn't signal the job is bad necessarily) , I am asking for basic human courtesy and professionalism.

Wow. Is there anyone ay the company you can talk to about changing teams? Someone who's your boss's peer that you like and trust? Tell them it isn't working out and ask if you can use them as a reference. You might be able to change teams in the company but, if you can't, its always good to have a reference.
This is going to sound like paranoia (and some part of it probably is). I've thought about talking to perhaps HR or recruiting to see if I can move to another department. However, I feel as long as this individual is at the company, it will be difficult. This person is unpredictable. One day he is happy. Another day, he is totally on edge and ready to shout. He might decide that my lack of "loyalty" to him as a personal offence. He is close with upper management (CEO, etc.) and he can easily influence them and potentially make my life miserable.

You know its so funny. I love the company itself and the product. They truly have some innovative technology (as cliche as that sounds).Though, I think the lesson I've learned from all this is that I need to look at my manager(s) as MUCH as (or more than) I look at the product or my salary.

That sucks. Oh well, looks like you'll need to go outside of the company. Just remember: don't badmouth your current company when you apply for jobs; just say that your ready for a new challenge. No matter how unbearable your position is, it never comes off well to gripe about it to the next person that you're asking for a job.
One thing you can do is ask to see the space where developers are working. Do developers there look generally happy? This is highly subjective and prone to false-positives, but in general if everybody kind of looks like they'd rather be somewhere else, take note of that.

Is there another developer in the interview besides the hiring manager? Do they seem engaged and are trying to sell the job to you (a good sign), or are they kind of disinterested (a bad sign)?

Are the interview questions adversarial? ("Solve this problem. Ha ha, that's not right" - bad) Or are they asking about you and your experiences and trying to relate them to what you'll be working on. (good)

What specific aspects of your current workplace do you view as toxic?

Assuming you're doing a typical full day interview loop pay attention to the first few interviewers, they're likely more of the junior employees. Ask them lots of questions about the work environment, boss, etc. Obviously don't come out and ask 'is your boss an asshole?', have more subtle questions like 'what's the work/life balance like?'.
Try to find out who has worked for this boss (or CEO / founder) in the past. Reach out to them to hear about their experience and find out why they really left.
Here's my checklist:

- If I'm asked a question, or asked to offer an opinion, do they seem really interested in my response? Do they challenge politely/with an intent to gain more info, or do they dismiss it?

- Whats' the average tenure on the team? How long have people been there?

- When asked the negatives or the challenges with the job, do they offer substantive responses, or platitudes?

- Are they interested in me as a person? Or is it just my skills and background?

- For the rest of the team, are they engaged? Do they seem to care about what they're doing? Do their concerns/negatives about the job match what their boss said?

- What's the ratio of leadership to worker bees? Are there lots of VPs for no apparent reason? Red flag.

It's largely qualitative, but I like to see consistency in temperament, enthusiasm, understanding of the challenges.

Example: I interviewed at a company a number of years ago for an executive leadership position. I met with four different execs, each of whom had a different cagey answer as to why business wasn't doing as well as it could. I opted not to join, as it "felt weird". Later I ran into someone I knew who happened to have taken a job there who confirmed my suspicion that it was a disorganized organization with a toxic atmosphere.

Trust your gut. If something feels wrong, it probably is, and don't let desire to get the job override your instincts if you can avoid it.

On some level, you never really know. People often behave differently when interviewing (or trying to close you) than normally, let alone during stressful periods.

The low hanging fruit here is:

* ALWAYS spend time with your future boss prior to accepting. Ideally try to spend as much time as you reasonably can. If this isn't possible push back pretty hard about why. Your direct manager is usually the biggest reason for your unhappiness at a job. "People don't leave jobs, they leave bosses" is a cliche for a reason.

* If people seem unhappy when you interview, don't assume it's just how they feel that day.

* Make sure you get a sense for the culture and whether you want to be part of it. If you're not into constant group activity, make sure you're not joining a hyper-intense "everyone hangs out with each other all the time" sort of place. Conversely if you're new in town, don't join a company where everyone is focused on working hyper efficiently and bouncing to go home to their families. Neither is right or wrong, but they can definitely be right or wrong for you.

* If you're connected, track down people who left the company and ask about your future boss. Were they hard to work with? Do people like them? If you have friends at the company (ideally, not reporting to your potential boss) ask about how your boss (and the department) is perceived by the rest of the company.

* Hit up linkedin and track down ex employees, ideally in the same job role. See where they ended up, and hit them up and ask why.

Good luck!

I think this is among the best answers - getting to know your future boss and coworkers ahead of time is the best way of figuring whether you like these people or not, probably the single most important determiner of your happiness at that job. A good boss knows how important this is and should be equally cautious in bringing you on. If not, a big red flag that you're being brought into a potential sweatshop/sausage factory.

A lot of this starts from how you found the position in the first place, and why I believe it's generally better to job hunt at tech meetups and conferences - before you've been thrown into the formalized process of interviewing, you've met these people already in a more natural environment.

> ALWAYS spend time with your future boss prior to accepting.

Agreed, this is really effective albeit sadly not very common. You could say something like, "Hey, I thought the interview went really well, but I'd like to get together for an hour or so and just talk about software methodology and about your company's products to see if we're on the same page," but what you're really doing is interviewing your new boss. I don't think any good hiring manager will turn down a request like this.

ALWAYS spend time with your future boss prior to accepting.

Not always possible. For example, at a lot of the larger technology companies, you'll be hired (on paper) by a group manager, who'll then assign you to one of the handful of teams he or she is in charge of. And that's leaving aside stuff like what Facebook does, where you spend 6 weeks "in training" before being assigned to your actual team. Or Google's policy of not informing people what teams they're being hired for.

In that situation, my the best thing to ask about is the transfer policy. A bad team is bearable for a finite period of time, if you know there's a fixed path to getting out.

> Hit up linkedin and track down ex employees, ideally in the same job role. See where they ended up, and hit them up and ask why.

100x this.

I did this for my last position since a recruiter I've worked with mentioned that the company had some sort of an exodus recently (at that point). The guy not only responded quickly, but gave me a GLOWING review of the place (mind you, he QUIT!)

This gave me exactly the confidence I needed to confirm that the job was as cool as I thought it would be, and I was right!

Demand to interview at least your manager and your manager's manager. I ask for the 3rd level as well.
Agree, but also some of your future co-workers. If you think you hit it off with one of the interviewers ask if you can call or meet for coffee. Having an asshole boss sucks, but if boss also hired a bunch of assholes it is even worse.
The simple answer is realize your more nervous than the person or group interviewing you. You may not be completely yourself as your nervous, but they are being themselves.

If they act aggitated, aggressive, nervous, rushed, etc... Thats most likely either their true personality or a real problem of their workplace.

When you ask to meet your coworkers are they nervous or friendly. Does their boss say anything nice about them... Etc...

Ask them directly -- don't phrase it "Hey, are you an asshole?", but ask them questions that will help inform you of their approach to the organization:

1) What is your leadership style?

2) How do you resolve conflicts on the team?

3) Tell me about the communication style of the team.

If you get a chance to talk to team members without the boss being present, ask similar questions - conflict resolution, communication, collaboration styles, etc. This should give you enough information to judge for yourself if it is a healthy team environment, or not.

-If respect isn't reciprocal, run.

-If you only get canned questions, run.

-If questions are machine gunned without any followups, run.

-If the hiring/interview process is needlessly complicated, run.

-If they give you an IQ test or similar, run.

-If they're not paying attention [0], run.

-If a pattern exists of mistakes (forgot to call, etc), run.

-If, when discussing pay, HR says "Yeah, sometimes we hire people knowing they won't last and only fit a political agenda."..... run. True story.

-If the recruiter tells you, "The path you're going down will lead to failure unless you do a startup. Frankly, I don't see you doing a startup"... run. Also true story.

..Ultimately, it comes down to gauging how "human" they are towards you. If the interviewer[s] lacks empathy, it's a sign somewhere up the chain that something's not right. Mind you, that's not to say that the interviewer doesn't necessarily have empathy.

[0] Seriously, this happens at about 20% of my interviews. Put away your fucking laptop and just listen, interviewers!

If they ask you to come back and make a "presentation" to a group (i.e. work on a project and come present it, non-technical role), run. Especially if they don't pay you for your time.
Here's some negative anecdata on this: our company (a smallish startup, doing open source application management in the cloud) has an awesome management team, and we ask every engineer to give a short talk, with slides, about some relevant interesting subject. This has definitely been a great way of finding good candidates who fit well.
You should still pay for their time.
Yup. To riff a little bit on those bullet points: If the interviewer[s] is displaying that behavior during an interview, expect the entire company to have exhibit the same stuff, only by an order of magnitude more.

If the interviewer doesn't respect you, then management doesn't respect or listen to employees.

If you only get canned questions, then the company cares more about checking boxes than creative thinking.

If the interview process is complicated, _everything_ is complicated.

If they aren't paying attention, then nobody pays attention in any meeting, so they get repeated, or stuff constantly falls through the cracks.

If they give you an IQ test or similar, run.

That's interesting; it conflicts with one of the few pieces of evidence I have about successful correlation in recruitment. I don't have the study to hand, but I'm sure its conclusions were that people who do well at IQ tests (although they might have been more general intelligence tests rather than specifically IQ tests) tend to make better technical employees (or indeed, almost any kind of employee), and that's it's one of the few actually reliable indicators. As a strong rule of thumb, smart people are better at technical jobs.

What's the thinking behind taking it as a sign of a bad employer?

It's possible they are referring to these tests that companies are giving now in order to weed out certain types of people. They're not exactly IQ test, but rather tests for cultural fit. They can be quite good at weeding out minorities, women, older people, and people with disabilities.
Well, I believe IQ tests during an interview process is illegal in the US.

Anyway, I would say it's not necessarily a good way to consider a candidate as the results can be subjective and doesn't indicate what to do if the best coder in the area sucks at taking tests while under pressure.

> as the results can be subjective

As opposed to all the other completely objective ways of evaluating a candidate?

Good point, I guess I should have said it's a subjective result that too many treat as if it were an objective pass/fail result.
I dunno, I think this would be self-regulating.

By the way, in Europe very few companies do IQ tests of employees. However.. the thought that it might be illegal to qualify potential employees based on IQ tests would simply not occur to us. I guess you guys in the US have a more, eh, colorful history for good and bad.

Yes indeed, many used them in the past to deny minorities jobs.
> Well, I believe IQ tests during an interview process is illegal in the US.

Only if they can't show it's materially related to the ability to do the job.

When I first started working for the IBM LTC, IBM had an online aptitude test as part of their application. The results directly determined both whether you got hired and how much you got paid.

The short answer is probably but not definitely, e.g. http://www.ncbi.nlm.nih.gov/pmc/articles/PMC4557354/

There is pretty clear relationship between, say, SAT scores and measured performance in college but that correlation is easier to accept intuitively. (Given that college GPA depends to a large degree on performance on tests.)

According to a psych test research program, I have a very high IQ. Not sure what it is until the program's over, but apparently I beat all of the doctors and grad students involved. Not bragging, just making some anecdata.

That said, apparently I'm very difficult to manage. When managed properly, though, I do really good work (so I'm told). When managed badly, it's a completely different story - and usually at places that require IQ tests ;).

All an IQ test does is gives you a reason NOT to hire someone. Why not work on building the social skills required to identify smart candidates if you're trying to hire smart candidates?

Given how psychological experiments work, what's more likely - that you have a higher IQ than everyone else involved in the program, or that one of the things they're studying is the effect of believing you have a higher IQ than everyone else involved in the program?
That's definitely a possibility. :)
That relationship may not be as strong as you think and it certainly doesn't hold true for all standardized tests. LSATS often are negatively correlated to grades (which surprised my professor when he was the dean of the law school).
Hypothetical situation.

Let's say you're an experienced developer. You have an impressive work record, open source contributions, and ace the technical interviews.

Then your potential employer asks you to take an IQ test.

Legality aside (and it may be framed as a "general aptitude test" or somesuch), this may be very insulting to some people, who feel their contributions and achievements should stand on their own without bullshit tests. It signals to them "we don't care what you've done, and you can prove you can do, or your years of experience or education, you getting the job depends on an arbitrary test we're going to throw at you". You're not going to be treated as an individual, but rather a set of points on a score sheet.

Now you may be right or wrong as to whether these tests are indicative of ability, but for a lot of applicants they would be a red flag.

In my opinion, what you've done there is create a straw man. The original assertion was that an IQ test is a reason to run. What you've done is turn that into something else entirely, where it quite clearly is a bad sign. I believe that your hypothetical situation isn't addressing the original simple assertion.

The original assertion was not "If you've done very well at a series of interviews and proved your ability already, and then they want to give you an IQ test, run."

So your argument is that IQ tests are only good in lieu of experience/proven ability?
My argument is that you presented an invalid straw man argument.
How about "you get an IQ test instead of a series of interviews and a chance to prove your ability"
So what's an example of a situation where an IQ test would not be a bad sign?
Open source contributions aren't as useful for a hiring decision as you imply. Did the candidate spend several days working on a small change? Does the candidate only do quality work when it's something that is personally interesting to them? If yes to either of those then they might still be a bad hire.

Don't get me wrong, I love to see open source work, it is a plus and it definitely helps paint the picture of what the candidate is passionate about. But just having impressive open source work alone is not enough to make the technical interview unnecessary.

> and ace the technical interviews

If there's an IQ test after they ace the technical interviews, then that's a really weird order to do the interview, but I don't think that's the situation that the above comments were talking about.

> Did the candidate spend several days working on a small change?

Open source is usually a free time pursuit, so quite possibly they did spend several days on a small change because they had better things to do. Or the small change was the result of several days of tracking down a difficult bug.

My point was however that whether or not IQ tests are effective, making experienced developers sit through them (or indeed junior developers who may have verifiable academic or other accomplishments) could be seen as insulting or degrading. If your goal is not to unnecessarily piss off good candidates who may then bad-mouth you to their friends or bring up the issue on Glassdoor, then IQ tests - even discarding the legal implications - are perhaps not such a great idea.

Experience, mostly.

I have a high IQ (so I'm told) and when I work at companies like these, they're managed like absolute hell. Metrics for miles and using technology rather than proper management to manage people.

Building social skills to identify intelligence is much more effective and significantly more personal. Yes, it can be gamed, but so can intelligence tests. The last one I took had 50% questions similar to, "If you rotate this paper 120 degrees and flip it, where does the dot end?" You bet your ass I took that test with a piece of paper in hand.

So you cheated on an IQ test? How did the test administrator not catch you or worse, allow you to do this?
Because sometimes they excuse themselves after leaving you with the test script. Some don't bother sitting through with you the entire session, especially if he or she is just a HR personnel and is simply tasked to administer the test.
It was at home and during a time when I was more interested in learning to interview than getting hired. Also, having legit ADHD, makes those sorts of tests utter hell, especially considering it was timed and that I have a comical lack of spatial intelligence.

I'm not saying what I did was right, just that there was some justification to it.

Well, if they leave you at home to do the test (especially timed). They must expect you to use any means at your disposal to solve it. It's likely that some people would still not be able to do it.
-If a pattern exists of mistakes (forgot to call, etc), run.

Is this applicable to bigger companies? I've noticed that some companies figure out where to place entry level engineers during or after an offer is made. And then getting a good recruiter seems to come down to luck at some places. I once had an interviewer not show up for a phone interview at one place. But I wouldn't necessarily say that my boss would have been horrible, I don't even know if I was interviewing for a specific team.

Big or not, when they're making you an offer they are on their best behavior. I would not expect anything like that level of attention after hiring.
Yep, the big companies especially. Maybe mistakes isn't the right word. "Constantly fucking up" might be better. The left hand almost never talks to the right hand and miscommunications happen all the time.

One example - It took one of those big companies three weeks to get the last signature of 6 to signoff on my hire. There was nothing anybody could do to push it forward. That turned out to be one of the worst jobs I've had. 6 months in, they ended up firing the NOC after forcing them to train a NOC out in Bangalore who would call me 5 times a day for unrelated issues. I complained hard. My boss, who I talked to maybe once a month responded with, "Welcome to $COMPANY." I quit two weeks later.

This only works when they make it easy for you. There are a lot of places where everything seems great during the interview (and they don't do any of the things you mentioned), but then it turns out to be terrible. There's also the problem that even good companies can be really bad at interviewing.

I think it's kind of like dating: if they don't give you an obvious signal, you probably won't know until it's too late, and sometimes when you get an "obvious" signal you might be wrong anyway.

The only advice I can think of--beyond heeding obvious warning signs--is to try to work some place that's doing something you actually care about. Then you're less likely to run into incompatibility issues, and the effect of toxic people may be mitigated.

Another angle is that you probably can't avoid working with assholes, so you can get organized and be prepared to push your own agenda. Don't back down too easily. I've seen this work fairly well, but you have to be ready to deal with the stress and potential fallout. Depends on circumstances, YMMV, etc.

Agreed. That list is definitely surface level and should be taken on a case by case basis.

My recent employment adventure turned me cynical. My then-soon-to-be boss seemed great during the interview. He was technical, his questions were interesting and deep and the team seemed happy. Turns out he was a complete sociopath who made everyone's life living hell. The unhappy weren't invited to the interview.

The first clue from the second day at drinks should've been, "I voted no in hiring you, but [his boss/my previous company's CTO] convinced me to change my mind." in front of the other senior admin. Kinda downhill from there.

What makes these situations so difficult is that leaving a job early has such a strong negative effect on your future work prospects. Even worse, being unhappy at a job affects your work prospects, too. There really isn't a win in those situations.

Leaving a job after the second day (or even the second week) doesn't need to have _any_ negative effects, you just leave it out of your CV.
Easier said than done. Being hired means you also wrap up all the other ties with the other companies you're working with. You effectively have to start over. Also, considering how small some fields are, doing this could be pretty damaging further down the line.
Sure, you need to be in a position where you _can_ walk away from a job - and be fairly confident you can pick up another one promptly, but leaving company A in Feb and starting at company B in April isn't something that'll raise questions about your CV - not the way leaving company A in Feb and starting at company B in June or August will.

It's a pretty good time to be a developer - most of us don't need to hang around under asshole bosses just to keep the rent paid next week. If you start a new role, and the red flags are waving madly on day 2, strongly consider walking out.

This advice won't apply to first-job-put-of-college devs, in that case you might just need to suck it up for a year, and put off buying that flash new car or taking that trip to Vegas until you've got 6 months living expenses saved (Note, may also not apply so well to fairly well paid junior or mid level devs who've gone way too deep with SF housing rental either... Same advice applies, build up a six month living expenses savings, so you _can_ afford to walk out on an asshole boss if you need too...)

Is it really? If the fields are that small, wouldn't other people know what kind of an ass that boss is, too?
I'm not looking in the same field anymore, so.. Yes. Really. :)

But yes, other people did know what type of boss he was. The last recruiter I worked with said, "You worked for X? That guy was fucking mental..."

Ahh, OK - if you're in a field so small that everybody knows everybody, it's somewhat different to the "Can you spell Javascript? Great, how does $140k and a BMW as a signing bonus sound? We're building Uber-but-for-seahorses!" scenario :-)
I not only know how to spell JavaScript, I also know that the 's' has been capitalized since Sun and Netscape first announced it, and I can even do magical, wizardly things with it! Where do I sign up for '$140k and a BMW as a signing bonus'?
At my current employer, I had no idea that current employees/senior staff would be pulling in former collegues from a direct competitor. It's hard to see what mindset they are dragging in with them, such as failed processes, that are clunky, but familiar to them or the same singleminded views they are used to. I have to fight that battle being more of an outsider in a senior position and knowing that some of them are filling in more senior roles for the first time in a new company where only their former collegues know their past habits/skeletons.

The aggravation can make you want to lose your cool, but like you said, not backing down is key. Nothing is worse than someone telling you that you are not doing your job and then never challenging them with an intelligent response. You then have to spread your gospel like you own it. Otherwise, you become guilty due to your perceived indifference.

Wow this is an awesome list.

If a pattern exists of mistakes (forgot to call, etc), run.

This one is huge! The number of times I've had the interviewer not call me right on time always ends up being a really bad sign.

- take home tests/projects longer than a couple hours' worth. Especially before they ask some basic questions such as expected salary or at least a preliminary phone interview.
yeah, someone recently asked me to fix a bug deep in their code, which they said would take about 20 hours with no discussion of salary or any other steps in the process.
They _said_ it would be 20 hours? That's crazy.
Charge them. That sounds like at least a week of fulltime work. Check what consultants take for that amount of work in your area.

If they say no, you say no.

Also, if there's no pay, wouldn't you have copyright over that part of the code then? You could arbitrarily tell to stop using your code at any time, and sue them if they don't..

I spent probably six hours on a take home project for Facebook. When I returned it to them they then told me that after reviewing my resume they wouldn't be considering my solution and would not look at it at all - and I could re-apply in a year.

I'm still upset about the massive waste of time. Why did you not consider my resume before giving me a massive take home project. I took a day off work to build this thing, the least you could do is look at it. I shined that code to a beautiful luster.

I spent like 10 hours working on this: https://news.ycombinator.com/item?id=11452445 and I thought I nailed it. Unfortunately, they passed and never told me what was wrong with it. To this day I'm still curious what the problem was!

Anyone here from FB who passed this and knows what I did wrong?

That is the EXACT same problem they had me work on! We should start a club.

I tried to impress them by not using any libraries, that may have been a mistake. It was a couple years ago now...

I am not from Facebook, but I read through your tests and found one that violates the problem description on line 74 of test/index.js. The first statement of the problem is, "If two events collide in time, they MUST have the same width." So a width of 2/3 is not possible, all widths must have a numerator of 1.

This rule is important because it makes the widths of the events deterministic, which otherwise they are not. That same test illustrates this exact problem, why not have the widths be 1/2, 1/4, 1/4, 1/2? Considering the first constraint the correct layout is all having width 1/3.

https://github.com/thejsj/calendar-exercise/blob/master/test...

The solution violated the invariant:

> If two events collide in time, they MUST have the same width. This is an invariant. Call this width W

The solution is actually much easier that way.

It shows a fundamental disrespect for you and your time. No doubt Facebook gets away with this because it has an endless line of applicants, but if they disrespect you so much before you even work for them, what are they going to be like as employers?
The needlessly complicated one I agree with completely. Anyone had to go through a top grading process? Absolute crap in my humble opinion. You jump through a lot of hoops that takes up a lot of time, not just of you, but a lot of people in the process, and at the end of the day you don't get the best candidate. You get the best actor. I work for years for a major defense contractor that try top grading, and it was an abysmal failure. We got good liars, we did not get good employees.
"If they give you an IQ test or similar, run."

Amen. IQ tests, or tests to see if you're psychologically a "good fit for the organization," are a sign that they haven't a clue what they're looking for, they don't trust their own judgment, and couldn't identify a good developer in a million years.

As a proxy for developer performance, IQ tests are utter crap - but IQ tests are something that's intelligible to your run-of-the-mill idiot manager, so they get done.

Psych tests are similar - they're saying that they can't figure out by talking with you whether you're a nice person or a psychopath. Which, OK, to be fair, psychopaths might hide it fairly well ... but if so they'd hide it well enough on the test, as well.

Totally agree it's down to how human they are towards you. If they're willing to see you as an individual vs. whether they want a new part of their machine.

I couldn't disagree more. While I've only once taken an intelligence test for a job, it was a relaxed thirty questions in thirty minutes involving pretty simple mathematics and pattern spotting, with some pretty low level word play.

I believe that this kind of intelligence test correlates well to being able to think coherently and abstractly in both numerical and non-numerical terms, and as such correlates well to being a good programmer.

As a proxy for developer performance, intelligence is strongly correlated.

So, on the basis of once having taken an IQ test that you found not problematic and after which they hired you, you feel good about them. That's great. Sample size of 1, obviously it must be unquestionably a good thing.

If developers aren't evaluated as people, but as units who are expected to hit some threshold of "intelligence," then that says something about the company asking you to take the test.

If everybody who tested well included everybody who was intelligent, or able to code well, you might be able to use it as a proxy. If not, you're missing out as a company.

The students who achieve the highest grades in school aren't those at the peak of the IQ range - they're the ones who actually have to put in the study time to learn the material, rather than cruising on previous knowledge. Do you want the person whose IQ score is better, or do you want the one who will do the work? If you want the better IQ score, what will you do to get them to perform when asked to do what might be regarded as drudgery?

Or are you saying that they give IQ tests to screen out the really bright bulbs, so as to isolate those who are willing to slog through whatever they're given?

Only on HN could someone argue that trying to select smart employees for technical jobs is a bad idea.
If I may pick a small nit. People who get good grades are "smart", people who score highly on IQ tests are "intelligent" - those characteristics are essentially orthogonal. It is generally easier for intelligent people to get smart, but they can just as easily get stupid.

Generally speaking, good developers are both smart and intelligent.

So according to you, doing mediocre on an IQ test makes someone not smart, right?

What about people with dyslexia (such as myself)?

What about people who have test-anxiety?

They aren't arguing that hiring smart people is a bad idea, they're saying being dismissive and discriminatory is a bad idea (and illegal, in the US - violation of the ADA).

So, you think that hiring smart people is a good idea, and you think that people who do well on IQ tests are smart, and you think that people who are not smart do poorly on IQ tests, but you are adding that there are some additional smart people who don't do well on IQ tests, and you are rightfully concerned because you consider yourself to be one of them, and you think there are laws that put the burden of uncovering these people on private employers? I'm not sure that's true, but anyway, just wanted to clarify.

Out of curiosity, this is a serious question: are you a programmer and if so does dyslexia cause you problems coding? lots of library functions can have confusingly similar names and spellings for me, and I don't have any reading problems.

(comment deleted)
So the thing is, "smart" is a pretty sloppy term. Furthermore, claiming that measuring this "smartness" in a small-sample, unrelated set of tasks (a relaxed, 30 question test), and that this "smartness" on the test would transfer to "ability to write good code well and work in a team" is utter crap.

Doing well on a test is usually an indicator that you do well on that kind of test. Even good psychometrics tend to fail with calibration problems - the vast majority of these tests were written and calibrated using psychology undergraduates at western universities. That's a significant sampling problem. [0]

So I'm personally not opposed to selecting for "smart" employees. But I do think that the belief that a short test actually selects for that kind of smartness in any meaningful way is sloppy thinking.

0: http://blogs.scientificamerican.com/primate-diaries/the-weir...

I would much rather work with a team of people of average intelligence, with humility, work ethic, honest enthusiasm, empathy, etc., than with a team of brilliant people with none of those things. That goes double for technical jobs where you're building a complicated product over the long term. We're not here to solve the Putnam and go home. We're delivering value, and that involves solving a hard problem simply because there is no easier way, not because hard problems are inherently worth working on.
You people just read your own prejudices into everything.
> Do you want the person whose IQ score is better, or do you want the one who will do the work?

How about someone who is both smart and willing to work hard?

smart people are inclined to work smarter not harder :-)
For a while, it's the same thing.
A bit of street-smarts also helps with those tests:

In my one, there was clearly not enough time to do all the questions.

So I picked the questions I could easily quickly answer accurately; followed by the ones I could take and educated guess; then finally as time was running out just out and out guessed the rest. I did exceptionally well apparently :-)

Then I got the job, and worked on a typical CRUD system.

Hey, I followed the same strategy. I got hired too. And now I work on mainframes :X
"Street-smarts"? That sounds more like school-smarts. Going for the easy ones first is standard practice when taking tests.
(comment deleted)
> As a proxy for developer performance, intelligence is strongly correlated.

I think sampling some code from the applicant could be a better indicator.

FYI - Google makes you take a personality test as part of the hiring process now for SDE. Mine was around 3 pages long. Reminded me of Myers-Briggs.
All the more reason to not work at Google.
lol apparently administering a test is so much easier than asking personality questions and interviewing cultural fit.

so glad I left that place.

Must have been a quite a few years ago?

I never saw any personality tests done at Google.

This is news to me, and I work there.
I've seen other places do them before. I do wonder what the personality of my D&D dice ended up being...
How do you feel about personality tests? I've never seen an IQ test, but many interviews I've done as well as my family have had personality tests (and were very high quality workplaces), and we generally laugh them off as a kind of a silly thing. All of these were encountered in the finance (trading and banking) industry, so that might have something to do with it—the industry tends to be old fashioned in many ways (especially compared to the tech industry). Are IQ/personality tests an old fashioned thing?
Someone I know well used to work at a place that does personality tests, but not for hiring. More as a training thing.

My friend said it was really effective - the person running the test told him a bunch of stuff about his personality and management style based on the test that he hadn't explicitly thought about but was helpful. It can help point out your blind spots and how you should approach people with different personalities and styles.

That's what they tell me. I honestly didn't feel like it mattered, my mom and I are ISTJ for instance and we get along/work with a pool of such random EN* it feels like you pull these letters out of a bag.
Guess it depends what tests you run. And it's not really about the specific result. Once they have the result, they talk over it with you, using that as a template to identify and understand behaviors/motivations in your coworkers. It's a dialogue, not just a test score.
> How do you feel about personality tests?

The problem with the Myers-Briggs personality test is that it is codswallop. It is made-up. It is not supported by scientific evidence. It has no predictive value. It is meaningless.

1) https://www.google.com/search?q=myers-briggs+bullshit

Like I said, none of us take it seruiously. But the places that hire using that which we've experienced have been top notch in most ways; I think to a point it's okay to just let them satisfy themselves with their little tests.
The worst boss I ever had (and he wasn't even the one removed by police! True story!) went through 5 admins in under a year. Almost six if one of them had quit before new years instead of just after.

Chat up the office staff. If they're treated like shit, run. If the founder blows through them, run. You can find some of this on linkedin.

You can search specifically for former employers on linkedin. Consider how many of them there are; there shouldn't be lots for an A round startup.

On the subject of true stories:

- While you're going through your questions with the interviewer, he suddenly looks up from his laptop and says, "These are great questions. I'm going to have to use them next time I interview."

- Interviewing manager, sitting next to CTO, says to you, "Convince my boss here that automated tests are worth the investment."

- Executive of SEO company casually lets it drop that they're being sued by Google.

- You're meeting after 5pm and interviewing manager jokes with CTO during interview how his wife is the one making his smartphone buzz like a swarm of angry hornets. Then as you're exchanging your farewells in the lobby an hour or so later at end of interview, a fuming woman storms in, stands next to manager glaring, no one is introduced, and you awkwardly take your leave.

- The conversation somehow turns to what you would do if you won the lottery. You say you'd probably spend more time working on open source projects. The CTO interviewing you remarks that he'd buy a harem. The HR rep and the other developer in the interview, both female, laugh uneasily. A couple minutes later he repeats the comment.

Those are good. The only one I have worth mentioning was a conversation that went like this:

Manager: So you like caving?

Me: Yeah, I was able to go on a month long expedition last summer to the mountains of Peru.

Manager: I can't believe your old job didn't fire you for taking a month off.

Me: I gave a lot of notice and had the vacation saved up.

Manager: That would never happen here. I have a problem leaving for a week.

In retrospect, I really appreciated the honesty. Declined that offer without hesitation.

What country do you live that they can fire you (or the manager) for taking a month off?
USA

They could easily threaten or guilt trip you when asking for a month off... If they would actually follow through is another question

I requested two weeks off - first vacation in 3 years, 6 months in advanced. Leading up to this, the guilt trip was laid on thick. Luckily I was leaving the country, so just said I had no internet and phone during this time. Yes, USA.
I've just returned from five weeks of traveling. Four weeks unpaid vacation (whole March) and six days regular vacation. Yes, Germany. ;)
Yep i have 6 weeks booked off in July. Will see my parents in UK. Flipside is i get paid less than a yank.
Good for you. It's vacation, there should be no expectation for support or work while you are gone.
I once had a manager sarcastically say, "and they don't have the internet in Hawaii?" I said they probably do, but I didn't intend to have the internet in Hawaii.
I haven't done this yet, but next interview, if something like this happens, I'm going to walk right out of there. Funk that shit!
"- You're meeting after 5pm and interviewing manager jokes with CTO during interview how his wife is the one making his smartphone buzz like a swarm of angry hornets. Then as you're exchanging your farewells in the lobby an hour or so later at end of interview, a fuming woman storms in, stands next to manager glaring, no one is introduced, and you awkwardly take your leave."

That one actually sounds good, as it means that people at the company aren't really expected to stay late.

Actually it sounds like one of my very early jobs where two of the three founders were husband and wife. So nice at interview, both of them. Bought me lunch at the end too.

The daily domestic and the weekly I'm asking you to do this because I'm pissed at my partner and I know it'll piss them off got very wearing.

Probably worst place I ever worked.

Well, there was a bit more to it than that. The manager (more technical lead, really) who was interviewing me had mentioned to me that he and his wife carpooled together. He also said he had been rewriting their old version of the company's main product in his free time.

During the same interview, the CTO said something to me like: "You can come in, do your work, and leave at 5pm every day. And that's fine. Or, you know, you can stick around a little longer and help take this company to the next level. That's great, too."

As soon as I got home, I googled the company a little more deeply and found a slew of developers complaining on Glassdoor about being pressured to work long hours and come into the office on weekends.

My read on the situation was that the wife had been waiting in the car out in the parking lot for an hour or two (I remember we wasted a half-hour on a whiteboard puzzle-solving exercise which, while kinda fun, didn't really seem that relevant to the position) and was beyond getting sick of this shit.

I imagined him pitching it to her like, "Hey, once we hire another dev, I can start getting out of the office at 5 every day like I promised," when in reality the two (interviewer and new dev) would just guilt each other (or maybe inspire each other!) into working even longer hours.

I had one surprising answer to a question I asked. We were at the end of the interview and I asked the interviewer what he liked about the job. He responded that he really liked the amount of money he got paid. The company was known for making competitive offers, but it was still an unexpected answer.
> - Interviewing manager, sitting next to CTO, says to you, "Convince my boss here that automated tests are worth the investment."

That's a legitimately good question, and you should feel bad for not knowing how to answer it.

Is it you who is defining the legitimacy here ? Let's not ask questions that would lead to proving something like x^n + y^n = z, only when n = 2. In order to show this is true you have to show it is not true for all n up to infinity. Quite a rabbit-hole and difficult. Has been done, but is this truly worth it in an interview ?

You should feel bad for being one of those who would end up dragging interview process to hell.

The problem is what the question implies, which is that in this workplace the interviewer has until now found it impossible to to convince his manager. This doesn't look good for the interviewer or his manager.

Note that he does not say that he was unable to answer the question. That is a conclusion you jumped to.

It could do, or it could imply that they want to hear how you would "sell" a given improvement to upper management (and whether you understand the benefits to the business). Whether or not its a warning sign depends on whether or not they currently do tests.
However, the answer is very dependent upon the group that you are going to work with. Even though automated tests are worth the investment in nearly every situation, how you explain it will not be the same. You're going to need to see how people are doing their work now, how they mitigate risk, how successful they currently are at mitigating risk, what the cost of their efforts are, etc, etc. You're also going to need to see the people involved and chat with them about their attitude towards testing and try to understand what kind of challenges you will have to move in that direction. Because it is entirely possible that you will say, "OK, let's all write automated tests" and spend a huge amount of time and money only to find that 3 out of the 5 team members refuse to do it and sabotage your efforts.

My answer to that question would be, "I will be very happy to. My rates as a management consultant are $X per day." :-)

I think they may have been looking for the longer paragraph you wrote (I would be - to see how you would tackle the problem and get a conversation flowing), not for an actual answer you eventually gave. The wording of the request was unfortunate, IMHO - it did make it sound like "help me influence my boss" first and foremost.
Or, "That sounds like a fun challenge! Can I ask you a couple questions to better understand how this company is structured before answering?"

Just saying you don't have enough information to formulate a plausible response doesn't make a very good impression from my experience.

They're asking you to qualify yourself and so you need to know where you fit into the equation.

I think the implication is that the CTO currently doesn't think that automated tests are worthwhile, so there wouldn't be any in their codebase.
That's the implication, but the problem is how ambiguous the statement is, particularly in written text.

For all we know it could mean "hey, for an interview exercise, I'd like you to sell (this guy) on the importance of automated testing."

Suddenly it sounds like a pretty good interview question.

I once interviewed with the owner of a small agency, looking for my first dev job, not having many responses, and reaaaaallllly wanting to get my foot in the door. They were sort-of a wordpress sweatshop, did a lot of cookie-cutter work for local realtors.

It was by far the worst interview I've ever been to, though I've only had a few. She hadn't reviewed my resume, she hadn't looked at any work I had done, she started the interview late, and she took a conference call in the middle of the interview. The icing on the cake was that she started listing out job responsibilities and said:

"Your number one responsibility is keeping me happy."

I told her I didn't think I was a good fit for the position.

If you see a video game console, a table top game, or alcohol, run.
I recently saw all three at an open house for a company that will remain nameless. It doesn't change that my friend working there finds it a fabulous work environment.
Just curious, how would you describe your friend?
Middle-aged female with a husband and children. Practical, but laid-back. Admittedly, she's coming from a job with an overload of work, iterating on a kind of boring, mature product. At the new employer, she's involved with some cool, new stuff, big enough that I saw it on a tech news site online before she told me about the release. She's been there about a year so far.
I recently saw all three at an open house for a company that will remain nameless. It doesn't change that my friend working there finds it a fabulous work environment.
We have all three at Google, but we don't show the alcohol to the interviewees.
I would love to work in an area where I could play a quick game at lunch or thrash out an idea while playing Tabletop Football. You may not like that, and that's fine.
I understand it and my view on it can be considered cynical. I love coding and love what I do, but I also know that I want my employees to have diverse interests that are not governed by what happens in the office. You chill and play video games or some other activity at work and now your day is longer. I am getting more of you, the creative you, the productive you, the "fun" you, and when you walk out of the office at 9 at night, you are spent, but feel somewhat fulfilled.

As an employer, I get some extra hours out of you and all it took was a few beers, or an Xbox, or a table game. That is a good investment for me, but not so good for you. It's the casino approach to maximizing profits. I'll give you free drinks and smokes, so stay a while.

My company's approach: We encourage people to wrap up their day at a healthy time, preferring to work smarter during our shorter days. We ask people in different time zones not to respond when getting chat/IM messages if it is outside of their work hours. They were doing this and it wasn't fair to them.

Despite this, our team puts in longer hours than we want because they are given challenging work and rise to the challenge. If we have to ask people to work extra time, as we did this week, we do it with the acknowledgement that we have had a lapse in planning on our part and we thank them for their commitment. Later, we go through and understand why we were unable to deliver and work on doing better with our planning.

Seems like you are overthinking it a little. My company has a foosball and ping-pong table and we play it occasionally. It isn't there to trick us into stay longer and we don't work longer hours because we played a game for 10 minutes. We sometimes have a company get-together in the lunch room if we sign a big customer or have a successful deliverable, nothing wrong with a beer and some snacks. Certainly not a reason to run. I would argue that these things have brought my team closer together.
Companies in the Netherlands often have bars, just FYI.
Run towards it or away from it?
>If you only get canned questions

>If they give you an IQ test or similar, run.

I ran across this study a few months ago that says IQ-like tests, structured interviews (canned questions), and work-sample evaluations were some of the few useful interview tools for selecting good employees [1].

[1]. http://mavweb.mnsu.edu/howard/Schmidt%20and%20Hunter%201998%...

Curious about OP's assertion on this as well. Only one I ever got was from a company widely regarded as one of the best to work for in Atlanta (I ended up not taking their offer so I can't say).

Unrelated to that -- one of my personal red flags is poor handling of the post interview follow up. If a company drags their feet, gives conflicting signals about next steps, etc., they probably are a mess.

Which company?
Coca Cola: That recipe must be protected by state of the art custom techonology
It's akin to needlessly using technology to solving a problem or requiring someone to write a hugely time consuming code sample. Sure, theoretically it's a great idea, but since they're never done right and they never address the issues that affect the fringe.

The worst I've seen was where I had to do 100 questions and half were spatial intelligence (gameable and wtf). It looked like an incredibly expensive piece of software. Didn't get the job, thankfully, but the company's now known for having a policy of not being able to talk about work out loud if you're in IT. The other places that gave me tests had dissimilar, but equally insane workplace policies.

Rambling list: -At some level, the person interviewing you (or management) doesn't trust their intuition to find the right candidate.

-It's an easy way to throw someone out of a pool despite all else. There's a reason it's illegal to do IQ tests.

-Mental health issues such as dyslexia or ADD.

-I've taken maybe five intelligence tests for work and none of them have been the same. Where's the standard?

-Companies have a weird tendency to use puzzles such as the "three light bulbs" one. All that does is test if you've heard it before. "I want to see how you think" makes no sense when the question's on paper and there's 100 questions just like it.

-A lot of these tests are gameable since you can just practice beforehand.

-Test anxiety sucks.

Speaking as someone with a cognitive science background (and yes, probably too lazy to dig up specific references), I'll say that there exist a lot of poorly designed or poorly implemented tests of "intelligence". Even the concept of intelligence is poorly defined, and lots of different measures are just proxies. Even if the test is good and has some psychometric utility, often giving the test is a giant pain to do well.

Even if the test is good, it's probably calibrated on WEIRD [0] subjects, so is really only good as another kind of gatekeeper - you can probably use old-school IQ tests as an excuse to reduce diversity. People who aren't WEIRD may not do as well on these tests (even though they're just as "intelligent" (parenthetically bracketing the ill-defined term for a moment)), so you have your reason that you only hire white dudes. But that's a cynical extension of logic there.

Most people, when approaching a psychometric test like one of intelligence or personality make the first incorrect assumption that modern cognitive science can actually form a construct like "personality type" or "intelligence" that's stable across all cultures and norms, testable, and repeatable. That's just not really true, and by and large what makes it to public consumption is pseudo-science.

Diverting just a little bit here, but MBTI [1] is another good example of bad use of psychometrics in business. There's about as much science supporting Myers-Briggs tests as there is astrology, yet people still use MBTI for actual decision making. Types aren't shown to be stable and they're not well-clustered (meaning you can be a mix of introvert and extrovert, or show signs of both depending on the day, context, mood). Zodiac Sign and MBTI Type should only be used as pick-up lines in a bar. "Hey, babe, I'm an INTJ, so I'm not going to say anything else."

There are good uses of psychometrics, but they're rare enough that I take any reliance on any kind of psychometric during hiring as kind of a bad sign.

0: http://blogs.scientificamerican.com/primate-diaries/the-weir... 1: https://www.psychologytoday.com/blog/give-and-take/201309/go...

(comment deleted)
I find the "WEIRD" thing a bit tough to support, at least with regard to IQ. East Asian populations (Hong Kong, South Korea, and Japan right at the top) seem to consistently score higher on IQ tests than "WEIRD"os. Maybe the less pathetic and self-hating way to look at it would be "EIR" populations. Even then, it's hard to argue that spatial and linguistic reasoning are not universal values; even if you're uncomfortable that some populations have lower averages than others. I feel as though this must come from a lack of respect for the obvious personal value of Education, Industrialization, and Riches.
You're making two different arguments here and kind of tying them together. First: you're claiming that there actually is some kind of universal "spatial reasoning" skill. Usually people who claim that also believe that this skill is somewhat generic - it applies to lots of different contexts and transfers easily from (say) visualizing rotations in space to finding your way around a 3d environment and so on. There's actually a fair bit of research that questions this supposition (take a look at embodied cognition to challenge the theoretical model, or stereotype threat effects to challenge the assessment model).

Secondly, in this context, the assumption is that not only does this generalized attribute exist in humanity and we can measure it, but this attribute causes success in $job. That's a further assumption that I'd call into question. Sure, plenty of people who do well on $test do well on $job, but those could easily be covariate or epiphenomenological relationships rather than causal ones.

I don't doubt that for some values of $test, there's some discriminatory power predicting the presence of success, especially in more monocultural environments (affluent, often-white, often-male, often-young startups, to caricature). But I do believe that this kind of test would suffer from strong false negatives as many kinds of people who would otherwise be excellent programmers (or whatever other $job) are rejected for not doing well on $test.

That's why I worry about anyone who puts real stock in these kinds of tests - it is (generally) indicative of a kind of science blind spot in the user. People are critical and skeptical of all kinds of other scientific claims, but psychological measures tend to get a pass.

I imagine the fact that a lot of us tend to score well on IQ tests has a lot to contribute here. When I found out how many standard deviations above the mean my IQ score represented, I was pretty excited about how awesome I was. When I realized that the test was probably baloney, I had to figure out more interesting ways to shore up my self-esteem. Personally: I bake bread and fish for compliments on the quality of my sourdough.

I prefer stronger evidence than "I don't doubt" when positing an international raciosexual conspiracy. Especially if that conspiracy would presumably have heinous and far-reaching consequences.

I learned, as an adult, that I had taken an IQ test while young and had scored in the 99.97th percentile. I think that I got that not everything benefits from what IQ tests measure. That said, I had already started seeing great success in a knowledge industry. It is clear that you also have great linguistic intelligence. I don't think you could completely dissociate your IQ test results from that intelligence.

Could there possibly be a chance that with your majestic IQ might make you a bit biased on the subject? Mind you, I have a uselessly high IQ, too, and I still think they're are an insult to hard working and bleedingly knowledgeable people who could outperform you and I, easily. I'm just not sure what the value of the tests are, considering the discriminatory ease.
I don't think you could call the general lack of diversity in tech a "raciosexual conspiracy". Rather, it seems a lot more like the result of classic pressures - institutionalized racism and sexism, combined with the general tendency of people to prefer other people who look like them.

The fact that certain groups of people tend to test well (or, taken conversely, that there are so many reasons why otherwise "intelligent" people don't test well) just exacerbates this problem and I think the central claim is still reasonable: things like IQ tests aren't necessarily strong predictors of tech skills, are dangerously close to pseudoscientific when misapplied, and have enough other theoretical problems that they should probably not be utilized during a hiring process.

As to my own linguistic skills, I contend that a lifetime of reading as well as a MS (in computer science), a Ph.D (in cognitive science and education), and ten years afterwards in academics including a professorship has prepared me as a writer. Did I have some initial Potential that gave me a head start? Maybe. If nothing else, I had the head start of my general introvertedness and a love of both reading and geekiness. A short test that purports to measure a fixed potential somehow inherent in someone is going to be pretty flawed.

But my "I don't doubt" phrase was more along the lines of ceding a central point: there probably do exist certain inherent characteristics that vary between people and provide some kind of predilection or head start. I'm just not yet convinced that the scientific community has really identified them yet, or that they're really able to effectively measure them yet. Instead, we get proxies that have a very high false negative rate, especially among otherwise-marginalized groups.

Anyway, four paragraphs is probably enough here.

Thank you! It's refreshing to hear that from anyone with a cognitive science background, as you put it.

I had an MBTI test pretty much forced on me a while ago (senior engineer would be unhappy if I didn't take it). I argued very forcefully against it, saying it was like astrology, that it made me feel like the company was asking me to participate in some religious ritual when I was an atheist and so on. I'm not in that company anymore and one major reason I ran was that they allowed pop psychology like that to dictate decisions.

To be fair, I think that Raven's matrices probably get around this. If someone explains the process to you, you don't actually need to be able to read to do well on the test. https://en.wikipedia.org/wiki/Raven%27s_Progressive_Matrices

I do find it surprising that Raven's appears to be more susceptable to the Flynn effect (people keep getting better at IQ tests, for an unknown reason).

Completely agreed on the MBTI, but its surprisingly difficult to convince people that's its useful.

FWIW, I agree with most of what you said above, I was just pointing out a counter-example. (Psychologist/psychometrician here).

Yes, I agree that Raven's matrices are pretty good at measuring something in a way that's not super-reliant on language. I'm not inherently opposed to the notion of generalized intelligence as a construct either, I just think measuring it is pretty tricky. The Flynn effect is another great example - these instruments are nuanced, and it's important to really understand them in order to interpret their results.
Totally agree, I'm somewhat in sympathy with Shalizi's argument that g is just the result of iterated factor analysis. That being said, done well, these kinds of tests can provide useful data, especially if you're willing to randomly hire to calibrate performance (which no one ever is, sadly).
>I ran across this study a few months ago that says IQ-like tests, structured interviews (canned questions), and work-sample evaluations were some of the few useful interview tools for selecting good employees [1].

They're great for determining which employees will be productive

They're entirely terrible for figuring out which employees will be decent people to spend 9-5, 5 days a week with.

Realistically you need a bit of both

I've found that well-designed (i.e. open ended) standardised questions help normalise comparison between candidates. Especially helpful if you have many candidates in a pipeline and/or a pool of interviewers that compare notes.

Work samples are my #1 competence filter. They've also formed the basis of great interviews.

As for your second point, sometimes you want to hire a change agent. It takes skill and practice to distinguish toxic personalities from the merely disruptive. Again, standard questions designed from a perspective of empathy and experience have helped me.

An above average IQ is usually good, but not too high. 115-120 seems pretty good. Above that, I've found a strong correlation with either a) being a dick, b) having obnoxious social quirks, or c) being dangerously over-confident. YMMV
"In their communication with me all these people have been civilized and polite, without weirdness or negativity. All in all the top scorers seem to confirm what has slowly been dawning to me over the past years: that, within the high range of intelligence, higher I.Q.s tend to come with a greater likelihood of being psychiatrically and socially normal."

http://iq-tests-for-the-high-range.com/statistics/iq170.html

Also, please read about IQ and rational thinking: http://www.scientificamerican.com/article/rational-and-irrat...

IQ tests are useless. I got a printout from one that says I have an IQ of 130, after I was sent a link to do the IQ test at home. Obviously, I called my flatmate and we did it together. We spent most of the time of the test taking the piss, else we'd have hit 200 or so.

The company who gave me the test offered me the job after a very brief interview, in which they said the test was not important. It was very clear from their behaviour that they thought it really, really was (important) and they were about to hire some sort of genius. I ran. I'm still running.

In my current position, at Big Financial Corp, I had to take an "aptitude test". There were three parts of it: literacy, numeracy, logic in that order. I suck at arithmetic so after the literacy bit I wanted to get straight to the cool and fun logic puzzles at the end, but the time we were given was like a third of the time the test was meant to take (allegedly, they wanted to see how well we perform under pressure) and I wouldn't have the time to do all three parts equally well. So I thought, screw it, I'll approximate. I clicked through the numeracy test mostly at random (I concentrated clicks on the first three options), hoping to get a 50/50 score and dove right into the logic test at the end. I had great fun and I got hired after all so it can't have been that bad. They haven't told me how well I did because they don't like to um, foster antagonism. Or something.

Point being: IQ tests are stupid. You don't need to have a high enough IQ to pass them. You just need to be smart enough to beat the test. So, useless.

HN user tokenadult has a canned comment about this that they reposted for YEARS on this site.
Anecdotal: My first job out of college had an IQ test (along with other interviews, tests, and a presentation), and it was a great job.
Most of these only apply to startups since a lot of job interviews at larger companies are done by people who probably won't end up being your manager. It's easy to say "if you see such and such, run", but I doubt you will be able to put it into practice if you were the one in that situation, especially if the job itself is attractive. I'm not sure if you've ever been in a position where you're the one who gave the interview, but from my experience, most of the behaviors that seem to have pissed you off have nothing to do with the quality of the interviewer. It's your choice to "run" every time you get into these situations, but I wouldn't do that if I were you, especially if you're talking about larger companies like Google, Facebook, etc.
All of these are reflections more on the company, through the interviewer. This list isn't just for startups.. I'm not sure where you get that idea. My worst experiences have been at large companies. The worst was Google ;).

If nobody runs, like I'm suggesting, then these issues will just continue. Hell, a week ago I ran from a nice job. The two interviewers were on their laptops, not paying attention. After the interview, I sent a rejection email to the internal recruiter and later got a very, very apologetic response and phone call. We're all humans, so why act like dicks about it?

The only time I've interviewed, I was 23 and hiring for a release engineer at an enormous bank on a giant global FX system. No training. No advice.. nothin'. Even though the candidate was technical, I got an unsettling vibe from him. We eventually hired him anyway since "weird feeling" isn't good on paper. Oh man, was he awful. For example, during training and meetings, he would be on his phone, texting constantly. He made a mistake while training him that caused an outage that eventually led to me getting let go.

A bit of interview training there would have gone a long, long way and should have been mandatory, or at the very least, offered.

I get the idea from my own experience of interviewing at one of those "larger companies". The reason why they look disinterested is because they are indeed disinterested. A lot of times developers get pulled into interviews regardless of whether they have some important task at hand, and nothing makes you more frustrating than losing focus. And a lot of cases you get the notice about the interview the same morning or the day before. As a result sometimes I just go in without any preparation (honestly I would rather spend my time working on my own important task at hand than preparing to come up with some clever interview question for some guy who we may or may not even hire, and whom I will probably have nothing to do with even if he does get hired) I am not saying this is right, and I also think the system is broken, but it's system's fault, not the interviewer. So if you "ran" from Google because of this reason, you probably made a mistake, because at Google you can move around different departments after you get hired.
I didn't run from google because I didn't need to!

Their hiring process is so full of shit that between the interviewer and the recruiter, they somehow managed to forget two phone interviews which I left work early for both times. When they finally and successfully initiated a third interview (again, left early), it was with someone who sounded like they wanted to jam a pen in their eyes from debilitating boredom. You could hear the eye rolls from over a thousand miles away as if I was some sort of nuisance who shouldn't be listened to. Why would I want to work for a place that drains the life out of someone that much, then uses them as an introduction to the company?! "Hello welcome to I Hate My Life, can I make you hate yours, too?"

I never received a call back, nor did I get an apology.

There aren't enough middle fingers or taboo words in this world to express how pissed off I was at them for the way that they behaved. It was just plain unprofessional, dammit.

You sound like a real treat to work with.
"A lot of times developers get pulled into interviews regardless of whether they have some important task at hand, and nothing makes you more frustrating than losing focus."

That sucks for them and all, but get over it. At the very least, learn to fake interest. If you can't even do that, then yes, the candidate should run far away.

" I am not saying this is right, and I also think the system is broken, but it's system's fault, not the interviewer."

The interviewer is the one who's doing it. So yes, much of the blame does fall on the interviewer.

My point was that me as the interviewer (in a big company) doesn't have any incentive to "get over it" and "learn to fake interest" because of how the system works. Please re-read my comment and come back when you got my message.
And my comment is that those people should not be given a free pass. They are making the conscious decision to be an asshole, so they should be called out on it.
I have no problem with people calling out other people. I just see problem with some guy with lack of experience should be giving out an uniformed and incorrect advice to people who also have no idea.
>-If they give you an IQ test or similar, run.

Not always though. e.g. For my previous employer it was par for the course to run everyone through multiple rounds of psychometric testing. And again during a major promotion cycle. Nothing wrong with it in my view - in fact if it saves me the hassle of dealing with a slow colleague then I'm all for it.

These are some great points. Given that the OP mentioned that he/she's a developer I think some additional points to consider are:

- A very biased outlook to problem solving. A lot of times I see my own boss think that the right answer (to an interview question) is the one that worked for our particular case without considering that the candidate didn't have the same constraints.

- I always like to ask 'the boss' what their idea of a good team is. Some of them will say stuff like 'A team is good when they're meeting deliverables' or 'A hardworking team' etc etc. Somehow the tone weighs in here -- you want a boss who is understanding yet not a pushover, who justifies (and thereby convinces you of) his decisions when it comes to a solving problems.

- You really want to avoid the bosses who have a desire to work long hours for no real reason. This is important because of two reasons: they don't focus on the real problems and they don't value their teammates time. A good boss wants to make sure that their team is aligned with the company goals and that everyone on the team is happy and is enjoying their time with their colleagues.

Hope that helps!

  -If you only get canned questions, run.
  -If questions are machine gunned without any followups, run.
  -If they're not paying attention [0], run.
I'm surprised to see that many of the answers here don't seem to mention that in order to detect an environment that won't suit you, you ought to have questions for your interviewers.

If the questions you're asking are canned, or _your_ questions are machine gunned, and you don't follow up on the responses of your interviewers you're missing out on an excellent opportunity to get a read on what it's really like to work there. I'll grant you that reading people is not a science, but if don't go any deeper than "So what's it like to work here?", you're missing a big opportunity.

Make your questions unique, so your interviewer has good reason to pay attention. Don't just hit the softballs and nod. If they give you a vague answer, try to get them to be more specific.

For example, follow up "How are team successes and failures treated at $COMPANY?" with "Interesting. Could you give me an example of a specific situation where the team failed, and how it was dealt with?" with "Do you think it was the right response? Do you think there's any room for improvement?"

  -If the interviewer[s] lacks empathy, it's a sign
  somewhere up the chain that something's not right.
I believe this up to a point. As I said before, getting a clear read on someone you've just met is not always going to be easy. Yes, I believe it's a positive sign when your interviewer displays some level of empathy during the interview, but not everyone puts it out there. Don't make the mistake of thinking you know _exactly_ what the other person was thinking, or how they were feeling.

I think a lot of this comes down to going with your gut. Sometimes things are not exactly as advertised, so another piece of advice I'd give you is: Don't overthink it. Human beings have evolved to detect when something is, you know, "a little off". Trust yourself, but attempt to verify.

Finally, if you aren't in a rush, I've almost always been given the opportunity at the end of the interview to "reach out with any additional questions". Let the interview simmer for a day or so, and then take them up on their offer. Think about where you might have seen some hesitation, bases you may not have thought to cover in the initial interview, and see how they respond.

Trying to be clever in detecting a bad workplace neglects one of the most powerful tools at your disposal, your ability to ask questions that'll reveal whether it's a good place for you or not.

If you're interviewing for a job for you, treat it as though you are interviewing them. Do they ask good questions? How do they respond to yours? Are you having a conversation more than an 'interview'? Ask them to describe the ideal employee- the answer might surprise you. Trust your gut instincts. If something seems "off", run.

If you're interviewing people for a job you're filling, focus on getting them to do a small test project and bring it in for the on-site. I've done this for years, never had someone say no. Worst that happens, they're too busy and back out. Fine, no worries. Works well for developers, release managers, program managers, technical writers, etc. Basically you want to be sure that they can solve problems. Memorized knowledge of facts has almost no value (to me) these days; things are changing way too fast for that to matter in the long run. Never understood why the Google's, Microsoft's, ask the goofy questions like "why are manhole covers round?". To me, the hires that are a joy to work with are adaptable, learn things pretty fast, take pride in what they create, show leadership by helping others in their group, and are dependable.

"If you're interviewing for a job for you, treat it as though you are interviewing them."

This.

"Trust your gut instincts. If something seems "off", run."

This is a much better advice than a list of arbitrary criteria of the quality of the interview process whose correlation with the work environment itself is unknown.

Problem is, if you don't even know where to begin and you just need a few ways to fill in the gaps that the rest of us have already done. Your advice is still good, but it seems more valid for experienced workers. Also, in my defense, I did it during a pomodoro break, so I didn't have much time to add more 'eh' advice. :)

(why did that list blow up, anyway? I really don't understand this place....)

I think the empathy thing is huge. If they don't treat you like a person during the interview, you can't expect them to do so after you're hired.
Just to add to this awesome answer: it is as much an interview for them as it is for you. Press them with hard questions.
This. I usually make a list of things I know I want in a job and use those few "ask me anything" minutes to make sure a company ticks all these boxes (or as many as possible).

I mean, if we're lucky enough to work in a sector with lots of offers available, better make the best of it by finding a place we truly enjoy.

Maybe it ends up being one that pays you a bit less but has an amazing crew or great benefits or work/life balance. Find out what matters the most to you and make sure you get an acceptable answer (from several sources if possible) before committing to a company.

> -If the recruiter tells you, "The path you're going down will lead to failure unless you do a startup. Frankly, I don't see you doing a startup"... run. Also true story.

Can you explain this one a little bit please? I'm not quite sure I understand the sentiment here.

Sure. I was sent to a referral-only recruiter in finance who had a hard time finding positions for me. When I told him I got a job and how much I'd be making, he said that little gem and skulked away. Haven't heard from him since and now the guy who referred me to him is now my boss. :)

The point is just that dismissive attitudes are everywhere in job searching, so it was just a damn good feeling to hear the guy with pie on his face.

Some of these are spot on, but some are a little absolutist.

> -If respect isn't reciprocal, run.

Yes, in theory, but this is deceptively difficult to judge accurately on first impression. Some good people are naturally less immediately personable than others and misconceptions are common.

> -If the hiring/interview process is needlessly complicated, run.

This is a bad sign in terms of the company as a whole, and could indicate that you'll need to wade through some needless bureaucracy in your prospective job from time to time, but this is relatively common in bigger companies and doesn't necessarily indicate anything negative about the actual team/leader/interviewer you'll be directly working with/under on a daily basis.

> -If a pattern exists of mistakes (forgot to call, etc),run.

Worth considering, but it seems a little picky to say a hard no based on this alone. Some of the best technical people I've worked with are not necessarily 100% organised administratively 100% of the time.

> -If they're not paying attention [0], run.

This happens far too often. Fully agree. Run!

Personable != respectful.
I understand your distinction, but I'm talking about first impressions. They're not the same, but can still be easily confused until you spend a bit of time with someone.
You can ask how long team members have been with the organization, to tactfully get a sense of turnover. At a young company you might ask how team came together: was it through past working relationships and friendships? or the internet equivalent of putting an ad in the paper?
i once got through the entire interview process (salary negotation etc etc) interacting with the person i thought would be my boss. i specifically wanted to the job because i liked this person. but when i received the offer letter, i discovered that someone else would be my supervisor -- it definitely caught me offguard. and turns out it ended up being the worst job i'd ever had. i wouldn't call the supervisor bait-n-switch a red flag, but now i'm now hyperattentive to even the tiniest of hiccups during hiring. surprises during the interview process can equal surprises on the job as well.
The best way is to interview your future boss in the interview process. Ask about their management style. Ask about how many meetings they are in each day, and the average meeting length. Ask about how they stay organized, ask about what tools or systems they use. Ask about what recent technologies they're excited about. Ask about the team and the individual team members.

When you are interviewing somewhere, treat it as if they are trying to convince you and you need to ask a ton of questions to figure out if they are a good fit or not.

Frame these questions in positive, generous light so you seem like you genuinely want to work for them and are just trying to get all the details.

"What is the thing that most pleasantly surprised you when you started working here?"

> When you are interviewing somewhere, treat it as if they are trying to convince you and you need to ask a ton of questions to figure out if they are a good fit or not.

As someone who interviews quite a lot of engineering candidates: we ARE trying to convince you. That is no secret.

We want to know what kind of an engineer you are. If you're good enough, or show aptitude to make up the lack of any otherwise expected skills, we are interested. Even if we decide to pass, you still deserve the same attention as any other candidate. Treating a candidate poorly for any reason is bad PR, and perhaps more importantly signals internal consent that it's okay to be rude. That sets a bad example. (You do that once, don't get told off, and soon enough others have picked up on it because who would want to spend any more time on candidates we won't hire?)

When it comes to hiring, everything is PR.

We can tell you experiences we've had, but going through this yourself is how you will know. You need this moment.
Look out for a paranoid culture. It should be easy to detect. When you ask questions, are there places people just won't go with their answers? Do you get deflective answers? Are there people who don't seem to want to talk to each other?
Questions:

- What do you hate about your job?

- How unlimited is unlimited vacation?

- What's the mean/median number of vacation days taken last year?

- How have you shown that you value your employees?

- How do you handle disagreements with potential hires?

- If the team is split on a technical issue, how would this be resolved?

Company bullshit (bad signs):

- "We want people who want to work here. If salary is important we aren't for you."

Uncomfortable answers to any of the questions, run!

The first one is especially important, I find. When I ask the question, "What do you dislike most about your job?" or "If there was one thing you could change about the work environment?", I expect an interviewer to have an immediate answer prepared. If they don't, I assume that they either lack critical thinking skills and are unable to independently drive change or are expected to just follow orders. I don't have any desire to work at a company where management does not respect input from employees and employees are not encouraged to think about how things could be improved.
I think you're right but I think you might get some false positives if the person has to pause and consider their answer and you interpret that as a lack of critical thinking skills. I typically fill my mind with current projects and things that interest me and it takes me a minute to shift gears and refocus on a different topic.
Or management is very receptive and they have opportunities to point out what does and doesn't work, and the things that don't work get addressed. Once something is addressed, you tend to clear it from your mind unless the place is filled with employees who really like to hold grudges, in which case being able to instantly recall all the little wrong things might be a sign you could end up with terrible coworkers.

Or having a canned answer means they've encountered this before and have an acceptable response ready to go in order to cover up greater faults. If you ask them and they immediately blurt out "Sometimes we work too hard" how honest are they being? It's no different from interviewing a prospective employee and they say "Sometimes I work too hard". Thus, an immediately prepared answer is a very unreliable indicator. Just maybe they have that answer prepared as experience has taught them to avoid being forthright about the actual problems going on, because then they'd never hire anybody.

(Just playing devil's advocate. I really do think it could go either way, dependent on their personality, how their mind works, how management operates, etc.)

i think im pretty good at detecting it now, but i dont think there is a simple way other than to work at alot of places. i will say that if things seem toxic, they aren't going to get better (in my experience), and most likely will get worse. so quit asap.
Just got hired myself. And I consider myself quite average too so here's my experience.

My first job fresh out of uni was in a corporate environment and while I appreciated the professionalism that came with it ("Keep an activity tracker" etc ... might horrify some people but I love making lists haha) but in the end I only stayed for 6 months. It got too corporate and suddenly I realised that a lot of people were actually feigning cheeriness when underneath they were under mighty pressure from politics. I decided quite firmly never to work for corps (that activity tracker should have warned me after all) and for a few months I freelanced until I got broke. I thought I'd give big organisations another chance and I'm glad I did. When I had the interview, it was typically based on a set of questions but the interviewers were relaxed and made warm-but-not-wacky jokes. I also remember the time when I had a sudden mind blank during a presentation and they were really amiable with it and said that it's probably better if I spend a day with the team and see if we're a match. That was probably the moment when I knew that this workplace could be a nice place to work in, because they seemed to recognise and appreciate humanness and that the interview is not just about testing me but also vice versa. So if it's possible, asking to meet your future team and seeing what the reaction to that is like could be a nice indicator of the type of culture there. And of course the actual team meeting.

I don't think there's a proper list of how to detect toxicity, so I guess you just need to keep an open eye and ear on everything which is why it's important to spend some time in the workplace. Keep alert but at the same time keep an open mind. Interestingly, a week after I joined my new workplace, the organisation did some ruthless restructuring, but which top management was very organised and empathical about it, for example there was an emphasis that we could talk about it, and comfort those who are leaving etc. It was unpleasant and initially I panicked thinking that I picked the wrong workplace again, but in the end it was educational - a couple of weeks later, the emotional negativity dissipated. I'm still new but 1.5 months later and I'm still chirpy ... well I'll take that as a good sign.

That happened to me recently. Everyone seemed great during the interview process, but the company was a disaster.

Once I got in the door I found out all the code was originally produced from outsourcing in Russia. So it had no comments and it had layer after layer after layer of unneeded abstraction. So figuring out the behavior on an error in the BLE back end communicating with a fitness tracker required tracing through half a dozen unneeded classes like screen config beans, screen states, the fragment state generators, to to error codes, to error messages, to fragment subclasses, to flow subclasses, to activity subclasses. All with if/else's for special conditions jammed everywhere even in things that should be mindless DTOs and many parts never actually used and deep inheritance hierarchies. It could all have been easily done with 40 classes instead of 120, with much simpler, more reliable code.

Lesson: ask the company about outsourcing history and plans.

Software engineering has known for a long time that abstraction over composition really hurts maintainability and reliability, but clearly this company never heard of that. Normally this sort of thing is fixable, but the couple staff developers they had brought in tended to just write whatever they thought would work, shove it into the app, then call it a day, not even smoke testing, let alone writing unit tests. Developers frequently pushed code that didn't even work in real testing on a device then left for vacation for a week leaving others to deal with their mess. If you sent them an email with logs or even fix commits, they'd call a meeting with management to try to discredit you and block the fixes rather than working to fix the problems. And their stuff simply didn't work on the devices, so there was no possible end goal to their politics that would leave the app functional. It made no sense.

Even ignoring things that could be considered "style" they didn't have much technical ability either. They thought changes to variables would be visible on all threads as long as they used an Android Handler class on a background Looper, but that's only true if both threads where it is read block on the underlying event queue, which wasn't happening in their code. But they fought the synchronization blocks that would make the value changes visible to their UI logic despite logs proving their code was blowing by changed values without seeing them.

Lesson: their developers will give you a technical interview, but be sure to ask your own questions and determine their level as well.

OK, outsourcing, we can clean it up. Clueless junior developers, we can train them and pair code with them and clean up up their messes. But management was completely screwed up as well which kind of prevented any fixes. My manager left at 4PM every day to go ride his bicycle and never came back. Meanwhile, I took a 45 minute bicycle ride midday and worked until 8PM to finish a project for the company during a month we were encouraged to exercise and be healthy - he fought to get me in trouble for "long lunches".

Similarly, my wife drove two hours once to get me in without standing an hour on the BART, so my back wouldn't hurt. She did everything properly, got a guest badge, stayed out of restricted areas where we were working on unreleased products, and got kicked out by the manager for talking quietly at my desk with me and a coworker. He was panting heavily and claimed she was too distracting for him to work. She left and never came back to the company ever again, but he went right back to harassing me about her week after week, talking about her and making up new rules despite the fact that she never came back. Meanwhile he had reserved an entire conference room for his friend's family to visit the entire day.

Lesson: not sure how to avoid this one.

The manager said all the right things during the interview, that management is supposed to help employees get things done and get along with their team, but ...

What a shithole. Hope you got out there with some sanity left.
For me, the big one is whether or not the employer offers to give you a tour of the workplace. If this is not offered up as a default, request it. If there is any refusal whatsoever, run away and don't look back.
It's very hard to use black and white heuristics, because life is frequently shades of gray. And there's a big difference between work as presented in recruiting presentations, and what's it's really like. That's called Life, and it's why we get paid.

2 things I've found that work:

1 - If it's a backfill for an existing role, find out if the person is still is with the company.

1a - If the person who had it is still in the company, it's generally a good sign, but ask to talk to them anyway. You may not get full information, but you'll get some. (If they're just doing something else for the same boss, also a good sign.)

1b - If the person who previously had the job left the company, reach out to them and ask about the role. They'll usually be more honest.

2 - Find a friend, or a friend-of-a-friend who works there, and ask them. This will get easier the more you work, as your network will expand. It's also a good reason to keep in contact with everyone you meet. (LinkedIn helps a lot on this, despite all the bad press that it receives)

Determine if they are a Manager or a Leader. Only work for Leaders.

"Boss" is just another word for Manager, so look in the mirror and make sure you're using the right vocabulary to find what you seek.