Hacker News new | comments | show | ask | jobs | submit login

How to hire me:

   1. Tell me about the 3 biggest things you must accomplish.
   2. Tell me why you must accomplish them.
   3. Tell me when you must accomplish them by.
   4. Tell me how you intend to accomplish them.
   5. Tell me what you're already doing to accomplish them.
   6. Tell me the role you envision me playing in accomplishing them.
   7. Tell me what you expect from me.
   8. Put me with some of the key people already working on them.
   9. Tell me what you'll do when things change or go wrong.
  10. Take me to a Chinese buffet.

(The following is made up and CERTAINLY isn't for the job I currently have open for a senior PHP dev in Melbourne.AU)

Here's why you don't see question one answered honestly:

A. Our sales guys sold our product based on feature "Foo" a year ago. We haven't started coding but they need a demo next week. You have to grok our codebase and write it on your first day.

B. The 'Bar' feature was written by a guy who should have failed finger painting, but we don't have time to rewrite it. You have to fix the many patches and modifications it's had since.

C. The 'Zap' feature was written by our cowboy programmer. You have to do all his bug fixes and modifications because he thinks he's too important for anything but new code.

Your 'Zap' is bothering me. What happened to Baz?

It got reversed, then b spent too much time looking at a mirror pond.

What comes after baz? I've seen some use quux but having 4 letters bothers me

I tend to go Foo, Bar, Baz, Fizz, Buzz, Bing.

If I need more than that, then I should probably simplify what I'm writing, or use more descriptive names.

Useless weekend project idea: a tool to automatically fork random repos on github and replace all variable/function/class names with one of the above much superior terms.


When hiring engineers (or speaking to any anyone ever again) NEVER use the word 'grok.'

Why? It has a more clear meaning than just 'understand', and a 'huh' response should be a pretty good filter for an unsuitable candidate.

People who use grok properly in conversation move up a rung on my opinion-o-ladder.

While the term is firmly established within the jargon (and with good reason, it's a good word to have in the jargon), I have enough distaste for much of Heinlein's work that I don't generally use the term.

I'd have to find some other way to climb your opinion ladder ;)

"to drink"

Wait, not knowing what "grok" means is a "pretty good" filter for a person who is unsuitable for a role as software engineer?

OP referred to a Heinlein quote in his article. I figured that makes using 'grok' in a comment OK.

Much of this sounds like a joke [1] to me really as the most of the companies I have interviewed with won't tell all this even after signing an NDA. Even asking such questions elicits a strange look (don't you know we cannot disclose what we are working on).

A second question then is why did they ask for an NDA then, and the answer is "company policy". I have refused to sign such NDAs, and they have refused to interview me then.

Interestingly here is something that has worked: I have signed such NDAs with my annotation saying something like "It is mutually understood that this NDA is null and meaningless" right above my signatures, and they do not have any issue with that. Well, as far as I "signed" the NDA per the company policy!

This has been the case with several big name companies I have interviewed with.

[1] Not making fun of you here, rather of the companies and bureaucracy.

> 10. Take me to a Chinese buffet.

No need for the rest, this will do.

Actually, in all seriousness there is at least one start up here in Germany which hiring process consist in going for a beer with the founders and members of the team you'll work with, and only follow up if you liked each other. It's probably not very scalable for the founders as the company grows, but still an interesting approach.

I wonder if being the fourth interviewee in a given day would help or harm your chances of a follow-up? :)

That's some good stuff, but I'd add a couple:

1a. Show me the office I'll be working in. Any "open plan" or "2+ people per office" setup decreases your odds of hiring me by about 93%. Not to say I'll never take a job like that, but it really, really hurts your odds.

1b. Show me the rest of the building... are there common areas where people can hang out and collaborate away from their offices, preferably with natural sunlight to the area? Are there plenty of conference rooms, team rooms, or other areas for small group meetings? Do people have to fight to get a room for a meeting? Are rooms commonly "double booked" in whatever system tracks that? IS there a system for tracking room reservations? Is it Lotus Notes? If "yes" to the last question, I walk.

2. Show me the tools I'll have available to work with: Hardware, software, etc. If you're handing out ancient laptops with 1GB of RAM while expecting developers to use Springsource Tools Suite, I'm probably walking out on the spot. If you're using CVS for version control, I'm probably walking out. If you don't have a continuous integration server, I'm probably walking out.

3. Tell me about the training budget, if any. If there is no training budget, your odds just went way down.

4. Tell me about your software process. Here's where I am going to interview you. If you say "we are an Agile shop" you better be able to explain exactly what that means. Which Agile methodology do you use? Scrum? XP? Crystal? RUP? Your own made up psuedo-Agile process? Do you just use the "words" from Agile or Scrum without actually understanding them? If you use the terms "sprint" or "iteration", and "epic" and "story points" but clearly don't understand what they mean and how they should be used, I'm gone. Also, I'll want to know if the business side of the company understands and is onboard with the iterative approach with empirical feedback loops. Do execs prioritize stories for the backlog and then leave it be? Or are they randomly coming in, mid-iteration, and changing things around willy-nilly?

5. I'll want to know how many people I "report" to. If I have a "manager" telling me what to do, AND a "project manager" giving me conflicting instructions, AND random execs with an unclear relationship to the project coming along and tell me stuff, we aren't going to be together long, sorry.

6. Tell me more about the culture of the company... are people expected to be on-time for meetings? Do meetings always have agendas, and time limits? Does the company favor promoting from within? Do the execs have an "open door" policy? Are their performance reviews? How are they done? Do you make employees take any bogus "psychological profile tests"? Drug tests? Do managers go out to lunch with the "rank and file" and share a beer or two, or do managers go out in groups and pointedly avoid the riff-raff, and you'll get yelled at for having one drink with your lunch? Does the CEO interact with the "rank and file"? How? In short, convince me that this is a well run company, who respect their employees, value engagement and actually empower their people.

7. Is there any attempt to implement Kaizen or become a learning organization? Are there post-mortems for negative incidents? Do they use "Five Whys"? Are employees fired for one f%!# up, or is it more of a "support, coach and encourage" environment?

8. Are there bonuses? Profit sharing? Employee Stock Purchase programs? Stock options? What exists to align the goals of the employees with the goals of the firm as a whole, other than "I want to stay employed"?

9. Take me to eat Thai. A quality serving of Num Tok and a nice Mussuman Curry improve your odds considerably.

I purposely didn't include any of yours. Why?

1. Mine are issues and yours are details. If my 10 are satisfactory, I can live with your 9, even though some may not be satisfactory. But if you 9 are good and my 10 aren't, I'd last about a year before moving on because of lack of meaning.

2. Mine are about them, yours are about you.

3. Mine show interest in the big picture; yours could easily paint you as a demanding nit-picker (whether you are or not).

Yours are important and a good list. I just don't think I ever would (or ever have) discussed them with a prospective employer.

And thanks for the tip on the Thai. I'm googling "Midtown Miami" and "Mussuman Curry" as soon as I finish typing this.

That's kind of interesting to me, because my questions are exactly like mindcrimes and I would never ask the kinds of questions you're interested in. I sometimes say in interviews that I'm actually not that interested in the big picture of the company, I'm much more concerned with the day-to-day issues of software construction.

Also, you seem to have a specific kind of company in mind. Your questions fit a new web startup but I can't imagine how Google (or a Wall street bank, accounting firm, consulting firm, etc.) is supposed to tell you the three biggest things they need to accomplish and when they're due. Lots of places are just looking for smart developers because there's lots of things to do rather than looking for somebody to fulfill a specific task.

Some companies have great high-level vision but terrible low-level infrastructure/culture and vice-versa. If we had to choose between the two, I suspect the two of us would make completely different choices.

"Lots of places are just looking for smart developers because there's lots of things to do rather than looking for somebody to fulfill a specific task."

That. If you are that company, I don't want to work for you.

You have to have a mission. The big hairy audacious goals guide your week to week work. If they don't then "You're doing it wrong".

If you don't know what I should be working on, then I am unlikely to be able to move you forward in a meaningful way. Sure, Google as a whole may not have a "thing" for me to work on, but each department will have it's key thing... again, if they don't, what the are they adding to google? Is my job secure? Or will I get axed in the next product that doesn't serve to organise the worlds information?

But even the biggest, hairiest, most audacious (audacious-est?) goals a company has will eventually get 'solved' to a satisfactory extent; that feature of the product you were hired to get working will be essentially "done" and go into maintenance mode, etc. Then what will the company do with you? Are they even sure you're good for anything other than the one problem they hired you to solve?

Hiring for general problem-solving ability means being able to rely on the same already-meshed team of people for your next big hairy thing.

Mine are issues and yours are details.

I certainly drilled down into more detail, but I'm not convinced that there's as much of a dichotomy there as you may see. Nonetheless, I understand what you're saying, but I'd counter that "details matter" and that different details matter more to some people than others. Also, I certainly don't intend that list to be seen as an alternative to your list, I mean it to be additive (from my perspective anyway).

2. Mine are about them, yours are about you.

To some extent, yes. But asking whether or not a company has, and understands, a reasonable software development methodology, or whether or not they have a culture that foster employee engagement and empowerment, is very much about them.

Mine show interest in the big picture; yours could easily paint you as a demanding nit-picker (whether you are or not).

Yes, I will say that I chose to drill down to a deeper level of detail. Basically I'm working backwards from the bad stuff I've actually seen in my career, and putting it in terms of "these things suck, I don't want to be in this environment, so convince me that this won't be the case here".

I just don't think I ever would (or ever have) discussed them with a prospective employer.

I mostly didn't in the past myself. But that was out of naivety, or fear. Either I was naive about the existence of the issue, or I felt like "I need this job too bad to be too demanding." As I've gotten older and more comfortable in my skin, and more confident in the value I can provide, I don't worry about that as much. I can walk away from a job offer, knowing there will be others.

And even if I didn't discuss these issues with potential employers, they have certainly been factors. I was invited to an interview with $BIGCORP once, went in, did the first round of interviews, and then got a phone call asking me to come back in. I politely declined. Why? I saw that all of their developers were in a big cattle shed full of low-walled cubicles - an environment that I consider "optimized for maximum distractions" and fairly inhumane. I decided they weren't a good fit for me based on that factor alone. Doesn't mean they were wrong and I was write, or vice versa, it just wasn't a fit that would have worked.

You lost me in caring about what the office looked like and what hardware you got. Who cares? I don't! I can hack on whatever; whenever; with whatever! PERIOD!

edw519's questions provoke conversation, where yours provoke sales talk.

>edw519's questions provoke conversation, where yours provoke sales talk.

This... is actually kindof interesting. See, I would see it the other way around. Working conditions are real things that effect me day-to-day.

My experience? usually when you go work somewhere, your /actual/ job has absolutely nothing to do with what you got interviewed for. All this talk about 'the problem the company is trying to solve' is, well, marketing bullshit.

Hell, if you are hired on early, the people running the company don't (actually) know the answer to that question beyond "make enough money to cover payroll."

If you are hired on late, usually, your job is to do what your managers want, not to try to do what the company needs. Usually, if you do the latter, you will spend all your time in conflict with existing management structures.

I mean, part of that is that people are stupid, sure, and everyone wants to protect and grow their little kingdoms.

But part of that is that even if you really are as good as you think you are at your role (and most people aren't) you don't know everything.

I know that as a young sysadmin I got into a bunch of fights with my boss about how to do things. Now that I have my own company? my employees sometimes get into fights with me over the exact same things. I mean, now that I've gotta look at it from the business perspective as well as the technical perspective, I can see where my boss was coming from way back when.

I disagree. I once tried coding an iOS app in a Windows 7 laptop using a hacked VMWare to run Mac OS X. And I will not do it again. The amount of time beach ball of death shows is greater than the time I saw the normal cursor. It's so damn hard!

So if you want me to code something for you, supply me the required hardware for it.

And no, you can't hack on whatever hardware.

> I can hack on whatever; whenever; with whatever!

So can everyone else, it's just not enjoyable for some people if they're stuck in a shitty office space with shitty hardware. Who wants to work at a place where they don't enjoy working?

More to the point, if you are paying someone six figures to write code, trying to save a few hundred bucks a year by giving them hardware they don't like is just plain stupid.

I mean, as an employee, I don't care that much 'cause i'll bring in my own stuff if you don't provide me with hardware I like... but my experience? employers get itchy if you do this with more than, say, a keyboard. Most places don't want me supplying my own workstation/laptop, which is fine, so long as they buy me reasonable hardware to work on.

I'm reminded of one place I contracted at where they gave me a P3 windows box (this was in the mid-oughts) - I mean, they were paying me like $70/hr. They wouldn't let me bring my own hardware, either. I go to put linux on the thing, you know, make it usable; and the IT guy finds out (well, I ask him for a blank DVD) Anyhow, he goes all 'Mordak' on me and tells me that I should just sit there in front of my useless computer and "think about what I did" or something like that.

I mean, I understand that some places want me to use their hardware, and let their IT people handle it... which is fine, if they are wiling to do a competent job of it.

"More to the point, if you are paying someone six figures to write code, trying to save a few hundred bucks a year by giving them hardware they don't like is just plain stupid."

And if the company is stupid about something as fundamental as creating a productive working environment, you can be sure they'll be stupid about lots of other things as well.

> 2. Mine are about them, yours are about you.

Well, yes. As a non-equity employee, why should you care about "them", other than how you'll come out of working for them five years down the line? Will you have enjoyed your time there? Will you have grown as a developer?

"Creating something meaningful" only only really affects the lives of employees inasmuch as they now have something out there in the world that they can point to and brag about. That's not really as important to most people as you'd think.

The ones that it is important to? Too busy being entrepreneurs. :)

> Well, yes. As a non-equity employee, why should you care about "them", other than how you'll come out of working for them five years down the line?

Because when you work at a company you don't care for, you are contributing to a toxic environment, which can hurt your career prospects much more than a sub-par salary, by making you caustic and bitter. If you come out of a job in anything other than high spirits, that will subconsciously, but seriously, hurt you in your hunt for the next job.

As far as I can tell, this is quite untrue. Many of the most successful people I know are quite bitter about their previous employers. It's all about spinning that, though. It's not enough to just be bitter. You need to flatter your new employer, showing them that you jumped ship to them because they're so excellent, unlike those previous schmucks.

Everyone is bitter about their previous employers. If they wouldn't be bitter they probably wouldn't have left (except in odd case of, starting your own company,academics, research). What you are missing is - people generally have good time in companies but they leave when things go south.

For example, the startup I left - I slogged there for 4 years and I left because of some leadership changes(pressure from VCs), heck I had to leave without taking the stock options because of some technicality. Yes, I am bitter about them but out of those 4 years, 3.5 Years were incredibly fun and I learnt quite a bit. I think story repeats everywhere.

I didn't say you should work at a company you don't care for. I meant that "whether the company does something I care about" will be, for most every employee, an instrumental value in their utility calculations, not a terminal value. You'll care about it, but you'll care because of what's in it for you.

Is there a chance that the toxic environment derives from the people who "care" about the company, giving the culture a bit of a "too many cooks" problem? That is, not caring about the company itself can contribute to a "pure work" attitude that benefits the actual success of the business.

I'd like to add 3 !!! after that last part, and add ... especially if people warned you ahead of time that they just fired ("lost") half their employees last year, and you shrugged.

Why wouldn't you optimize for salary, if it is a bad place to work, you could, you know ... leave ... As far as becoming bitter ... sounds like a personal problem!

Honestly, and I don't mean this in a bad way, I find your criticism of the parents response to you a little silly and kind off putting. If I interviewed someone and he or she put a list like that in front of me I'd probably just put in the reject pile. It's a little pompous for an interview. Just being honest.

1a. No offices, only cubes. 1b. Limited conference rooms, people ignore the reservation just enough to make it irritating. 2. No continuous integration. No Git. 3. We say there is, but there isn't. 4. As one of our supervisors said recently, "If I'm not telling you what to do, or changing your workload on a daily basis, then I feel like I'm not doing anything." 5. All of the above! 6. Most people show up for work, most of the time. Performance reviews are irrelevant. You may be evaluated on things like "dresses appropriately" when there is no dress code. 7. No, no, no. Employees are not fired. I'll let you think about where that eventually leads. 8. No. No. No. No. None. 9. Not in the budget, sorry.

That's where I work. And I wouldn't give it up for these fast paced do-or-die startups. :)

1a. Just out of curiosity, what's wrong with "open plan"?

To be fair, plenty of people like it. I hate it. It's a personal preference. In terms of anything that's really quantifiable, I'll say that I believe "open plan" leads to a constant stream of distractions and interruptions which kills your ability to get into - and stay in - that "flow" state of maximum productivity.

It also sucks if you need to make the occasional personal phone call, or if you feel the need to pick your nose, etc., etc.

Indeed! but there is also some benefit with open plan. You can fire ideas and questions away without picking up the phone or walk down the hallway to reach your coworker cubicle or office. It also let you know your teammate better. With that being said, I am all for private space since I can think better in quiet place and dislike having people walking around my back and staring at my screen.

What's wrong with open plan wrt programming productivity is that it's distracting. Also, you can't have a private conversation without grabbing a real office, requiring you to move, and that takes up more time.

Sitting a whole day with headphones...

aka "I will only work at venture-backed startups that will die in two years or Google".

Except many of the things he is talking about don't require lots of money. The company just needs to give a shit and treat people like people.

I love this list!

I just don't think a company is going to answer many of these questions. They might think you are a spy for the competition :).

Tell me where a place like this exists. I think you may be my doppleganger, especially in regards to #4, #7

Hmm, 6 & 7 are the same. And I think you meant Thai, not Chinese.

They're almost the same, and it probably wasn't intentional, but they're worded differently enough that you might get some surprising answers from someone if you ask them a few questions apart.

Actually, I think they are pretty different. I've never seen Tom Yum Goong at a Chinese buffet.

I think they've very different:

6. Architecture, TDD, code

7. 8 hour days, but available in emergencies at night.

A good Chinese buffet. If you can't tell, or don't want to pay for, the difference, well...

P.S. (The secret is that good and cost are not in direct correspondence across the population of Chinese buffets.)

Sometimes you don't find out it's not good until several hours later when you are having a close encounter with a plumbing fixture.

Useful and insightful list. I'd add "what's the impact to [your org] if you do not fill this role (whether with me or someone else)?"

" 10. Take me to a Chinese buffet."

I've had so many bad experiences with Chinese buffets that I steer clear of any place that would suggest that.

I absolutely hate Chinese buffets, they all feel like feeding troughs to me.

Of course, we take all our candidates out for Chinese food these days, but its kind of expected since we are in Beijing. Sometimes its difficult dealing with some foreigner's dietary restrictions (orthodox, vegetarian are hard; halal is quite easy).

I mentally substituted "dim sum" for "a chinese buffet" because the latter just doesn't make any damn sense to me.

Maybe he lives in a deprived part of the country where "Chinese buffet" is the best Chinese food?

These are basically all the things they need to keep secret to keep leverage over you.

Sometimes I think it might be even more benign than this. Some hiring managers are already so ingrained into their work culture that it's already become transparent to them.

"Don't ask the fish about the water," and all that.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact