top | item 11496962

Questions to Ask a Potential Tech Employer

252 points| dr_jay | 10 years ago |gitlab.com

116 comments

order

athenot|10 years ago

I've done a decent amount of hiring over the years. When I ask the candidates if they have any questions, I expect them to interview me as a potential manager. Everyone has their own set of criteria so there is not universal "good question to ask". Instead, you should figure out if you'd like to work with/for me? Do you feel you'd grow personally?

Perhaps you're in a phase of life where you just need the money to recover from an unfortunate situation. Still, you must figure out what are the criteria you won't compromise on, and make sure you're getting that. For some, it's work schedule; for others, it's communication styles. Maybe you'll be driven insane by my cheesy puns and so you'd probably want to figure that out ahead of time. Ask me what I'll do to ensure you'll be respected as an individual on the team.

When I'm a candidate, I like to ask how my failures will be dealt with. I will goof up at some point, the question is how is that managed. The larger point is there must be some discussion about potentially unpleasant situations.

overcast|10 years ago

Can your company offer a challenging environment where I learn daily, and look forward to walking into your building? That's the biggest issue I find with most employment opportunities. 90% of the jobs aren't stimulating me enough, and I'm thinking about being somewhere else.

Cheesy puns I can handle, are you adept at talking in movie references only?

coroutines|10 years ago

I am a junior dev.

It is hard for me to get in that dating mentality that I should be testing to see if my interviewer and I are simpatico. I feel a lot of pressure to fill in the blanks on what I want to know without asking, so I don't seem like I'm still deciding if I want to work there.

I know that sounds ridiculous.

The only time I do well is when interviewing for roles in faraway Australia because I feel like I have no chance of getting picked up.

Or maybe Australians are just great at no-bullshit interviews and put me at ease like talking to a friend? Confusing.

x0x0|10 years ago

I like that question (how will failures be dealt with)

Other questions I like:

* what are you looking for this position to do?

* what does success in this role look like?

I do data science so success is a little harder to define than in a software engineering role. It's a warning sign when employers want you to come in and spread some machine machine learning on things to generate profits in a business that so far is not doing so, or when you hear different descriptions of the role from most interviewers. It makes me believe that the business doesn't have consensus on what they want someone to do, and therefore, I will have a very hard time succeeding.

brown9-2|10 years ago

How much time do you leave aside in your interview for the candidate to interview you?

drhayes9|10 years ago

One of my faves to ask my interviewers is, "Given a month of time to work on it, what would you work on in your current product?"

The question is worded such that it's not offensive and doesn't sound like a "trying to find out the bad stuff" kind of question, so it puts people at ease. But it still gives people a chance to talk about the "bad stuff", to air out the things that frustrate them about the job. Those aren't necessarily red flags that prevent people from working at the company, but it's given me a pretty good picture over the years of what the day-to-day is like working on that product.

arsenerei|10 years ago

I really like this question and I'll be reserving it for future use.

gryphonshafer|10 years ago

Just for the giggles, I love hearing wars stories of epic fails to questions like these. Paraphrased, here are some I've personally experienced:

q: If you could wave a magic wand and change anything about the company, what would it be? a: Get rid of all our customers.

q: How many hours did you work last week? a: All of them.

q: How many meetings were you in in the last few days, and how long did they last? a: Most of what I do is meetings.

q: What do you use for source control? a: We use $NAME but we forbid branching because merging is too hard.

q: Describe your build / deploy process. a: I don't think we have time for that right now.

q: What do you use for a bug / task tracker? a: Email.

q: How would you gague your technical debt? a: What's "technical debt"?

vonmoltke|10 years ago

> q: What do you use for source control? a: We use $NAME but we forbid branching because merging is too hard.

Where I used to work, and the first place I wrote software full-time, we were not allowed to commit code to our system (Synergy) until after our code review. I ended up creating a parallel SVN repository so I could do incremental check-ins.

Don't get me started in merging...

hackaflocka|10 years ago

Sadly, not surprising.

This is the state of most of the industry.

Mostly, only companies with cushy government contracts with unlimited time and expense accounts on their hands (think defense) don't want to fire their customers.

overcast|10 years ago

I was expecting a neat list of questions on the web, and instead was presented with setting up a programming environment just to output them.

You will need Python 3 with the PyYAML, jsonschema, and jinja2 packages installed. Seriously?

exabrial|10 years ago

"How do you avoid over-engineering in this company?" might be a good one to throw in then

ben_jones|10 years ago

Haven't we all been there? We want to setup some great polymorphic abstraction that allows us to adapt it deeply and effortlessly in the future. Then half way in we're like "fuck I actually just needed x, not the whole alphabet". I actually give props that he finished it rather then revert it to something simpler bug uglier (as I would've done).

imdsm|10 years ago

Was it too stimulating for you to have to set it up? /s

CameronBanga|10 years ago

+1 for Gitlab!

But one question. What was thinking behind setting up the extensive YML structure instead of just using simple markdown? I see some reasoning with printing through a script, but will that be a significant use case?

This structure just seems complex for doing a quick PR with a question that I'd like to see added, and would keep me from contributing.

dr_jay|10 years ago

Yeah, probably a bit over-engineered; just having a little fun. The idea is that you can filter and sort based on metadata, merge multiple lists, make mashups, and render/style it how you like. Feel free to just open an issue with a question, or post it here!

In the YAML, you can get away with just: -q: Your question here.

OddMerlin|10 years ago

This is everything thats wrong with (web)developers today.

Why is this available in more than one format? Why on earth is there a filter.sh and render.py?!? This is just awful. If you can't read through a simple text list and select the appropriate questions then you're already doomed.

vinceguidry|10 years ago

YAML's a weird choice for this kind of application. I once explored different markup languages for maintaining my resume, ultimately just went back to using LibreOffice.

There's a temptation to use a structured, machine-readable formatting language for anything that has structure, because you might one day want to use machines to work on it.

But for an application like this, those times are the exceptions, most of the time, it's humans that are going to read and modify the text. It makes way more sense to use a human-oriented format and simply use a convention so that it's easy to use a tool to convert it when you need to. I see no reason why Markdown can't be used.

Grishnakh|10 years ago

I use LibreOffice for my resume too. However, I'm the only person who maintains my resume, so it works for me. For something that's going to be touched by a lot of different people, a text-based language is far better because you can diff the changes easily. Such tools exist for office documents within those programs, but they're clumsy and don't integrate with source control systems.

But otherwise, Markdown does seem like it'd be a better choice. Everyone's using it these days, it's simple, whereas YAML is obscure.

exabrial|10 years ago

"How do you avoid micromanagement and promote autonomy in your organization?"

"I'd like a copy of the employee handbook to take with me"

mooreds|10 years ago

So important. Employee handbooks will rule or ruin your job.

mpdehaan2|10 years ago

Hmm, this is always hard.

The interviewer is trying to recruit you and also filter you out, but usually will not honestly respond to questions about what they don't like, or will hold some of those against you.

Ergo, you really have to ask "what is it like to work here" (and also culture questions, etc) and leave open ended questions, and then learn to read between the lines. Asking multiple people the same question can also be good.

Attempting to gauge enthusiam is good.

I find places that really want to invest in new hires and make them feel part of the team are the best (i.e. people that want to take you out to lunch and help go over code with you), but those are in my experience also a bit too rare.

You also need to figure out if the folks are smart, not burned out too much, and whether there's a lot of politics -- but it's really hard to filter that out from an interview, just in the same way it's hard for people to tell how a candidate is really going to be too.

batguano|10 years ago

This is the question that I always want to ask, but am afraid to:

  > q: How many hours did you work last week?
  > a: Working more than 40-hour weeks regularly decreases productivity.
  > followup: Is that typical?
I have kids, and I don't want to miss their growing up. But as an older-than-median dev, I fear coming off as less-than-committed.

kod|10 years ago

Don't be afraid to ask it. You can phrase it in a more wishy-washy way, e.g. "what's the work-life balance like", but this is a common question. If someone DQs you for it, you didn't want to work there anyway.

adaml_623|10 years ago

If you ask the question: "Where do you fall on the spectrum of "Do it right" to "Get-R-Done"?" then do be aware that might be flipped back to you.

Certainly I wouldn't describe both ends of the spectrum with those words. Maybe "Hack it together" vs "Precisely assemble" is less judgemental

brianwawok|10 years ago

The thing is, a lot of people think they "do it right", even if they are coding without source control and releasing 1 time a year. So worried this won't tease out enough unless you drill down into what they are view as right.

RBerenguel|10 years ago

This has also a lot of wiggle room. I'm not sure where I'd put myself, since it depends a lot on the situation. Do I have time to do the proper thing? Then I try to do it right and nice. Is it incredibly urgent to finish A, B, C and Z just exploded? I'd hack a solution for Z, get to (properly, hopefully...) solving A, B, C and hopefully next sprint we can properly fix Z for real.

emodendroket|10 years ago

The balance between expediency and careful design? "Hack it together" sounds kind of negative too.

alexandrerond|10 years ago

You know, sometimes you have to join a company and get the s*it done yourself. The failure to answer some of this questions also shows the areas where you can be most valuable. Overall, I find fitting well in a team is of way more value than anything else. Good teams succeed even in bad companies.

andrewfromx|10 years ago

I would politely submit this whole interview system is wrong. Why not slowly get to know tech workers and interview them over the corse of many days to understand what they are capable of? This idea comes from http://officecrashe.rs

gnopgnip|10 years ago

Job seekers who currently have a job are not available for multiple days. Many of the best job seekers are currently employed.

chris_wot|10 years ago

At this point in my life, if I work in a tech firm that pays me a reasonable amount (when I say reasonable I don't mean top dollar, average or slightly below is fine for me as I have relatively low levels of debt and my wife works also) and treats me fairly I'm not that worried about other issues like aging tech stack or legacy code base.

Reasonable management allows you to work towards fixing this, although might not always make what you consider optimal technical decisions.

If you can get along with your colleagues, get paid on time and not have the boss breathing down your neck I think that's a pretty good job!

garfieldnate|10 years ago

This is a great resource. As a junior developer I didn't have much experience or confidence in this area when interviewing for my current job. The big red flag for me should have been the way they answered my questions. "what is your development process?" "Oh, hmm, I dunno, I guess agile." asking about technical debt would have been a good one, too. Hint: there's lots.

pklausler|10 years ago

I conduct a lot of technical interviews, and I always make "Do you have any questions for me?" the first and last question that I ask every candidate.

Mostly this is to provide an opportunity to just answer a question, of course. But it's also true that a candidate's questions, or lack thereof, can affect my evaluation of them.

So, my advice: have a couple of good questions on tap. If you don't, you run the risk of seeming unprepared or lacking confidence.

p4wnc6|10 years ago

How much time do you typically allocate for this? I generally feel frustrated when an interviewer hammers me with difficult questions for 55 minutes and then leaves me with less than 5 minutes to ask questions. I don't think I have even one single question that matters to me which an employer could answer in less than 5 minutes of discussion. For example, my top question would probably be "how is my performance evaluated / does your company have direct or indirect stack-ranking, etc.?" That's a critical question, but not one that can be easily answered in 5 minutes. And that's only one out of about 10 or so such questions for which I would require detailed answers before considering taking a job.

tgb|10 years ago

How many questions is too many? I'd want to ask something like half the questions listed here but that seems burdensome to the interviewer.

sib|10 years ago

I do the same. And I contextualize it by saying, "this is a two-way process - we both have to decide whether this is a good fit," specifically to help candidates feel at ease to ask questions and that I am honestly interested in answering them.

danielweber|10 years ago

You are checking for how far a candidate is through the process.

CuriouslyC|10 years ago

for managers:

- What do you believe is the role of a good manager?

- What do you do to support the people you work with?

- How do you handle technical disputes between employees?

- How do you decide who to allocate a task to?

for engineers:

- Describe some interesting problems you've encountered, and tell me how you solved them

- Tell me some of the interesting things you've learned as a result of your work

- How do you make important technical decisions

kevindeasis|10 years ago

How about the contrary?

What questions should future tech employees know beforehand before going into an interview?

Does anyone have a playbook?

alanwatts|10 years ago

"What is your favorite thing about working at company x?"

This is a simple but great one to end with. If they smile genuinely in their answer then that's good information for you and its good to leave them on a high note to tilt things in your favor.

seige|10 years ago

Thank you so much for putting the work in listing out exact questions. I have been maintaining my own list and I am glad to find some really good additions from this list.

dr_jay|10 years ago

You're welcome!

a_imho|10 years ago

If you have anything you are curious about, ask away. If no, asking questions for the sake of it does not improve your situation one bit, it won't come across as clever or thoughtful.

graham1776|10 years ago

I realize this is geared towards the end of an actual job interview, but many of the questions that really hit home for an employer are: Questions that demonstrate 1)technical ability and 2)culture fit. If you can ask questions that show an employer that you can do your job well and that you will fit in with the team, you are that much further ahead of the competition.

Questions serve as an opportunity to "fill in" the employer on areas they may have forgotten to ask you. If they are not 100% that you can do your job (or are teachable) and that you will fit in with the company, it is your job to ask the questions that eventually give them certainty.

Shameless plug: Just released a book on informational interviews with a huge list of questions and walkthroughs on how to do them. Best way to get a job!

http://www.amazon.com/Informational-Interviews-Coffee-Superc...

p4wnc6|10 years ago

The primary use of questions during an interview is to actually determine if the employer is a good fit for you.

Your advice seems to take a different approach -- that you shouldn't use questions as a means to ensure you will be happy in the job, but rather as yet another opportunity for status signalling.

Even the first sentence depicts a totally alien attitude to me: "questions that really hit home with the employer are..." ... What? I have no obligation to ask questions that "hit home" with the employer. If the employer doesn't like the questions I do ask, well that right there is a good indication that I would be miserable working for them and should just work elsewhere.

By approaching even the part of the interview where you get to steer the topics of discussion (your questions) with an attitude of infinite pliability and fealty, it makes the process even more about subjugation and hoop-jumping than it already is.