Ask HN: What makes a job posting attractive?
While writing the job description for GazeHawk (P.S.-we're hiring PHP/Python/UX hackers - brian AT gazehawk.com) I realized that most job descriptions are generic and boring.
I'm wondering what attracts you guys to a particular job posting?
Do job postings even matter beyond that fact that company X is hiring? Does a posting with descriptions of the company culture, future plans, values, etc actually mean more than "PHP/Python hacker for YC startup"?
Looking forward to your feedback!
69 comments
[ 2.8 ms ] story [ 135 ms ] threadWe like to say:
Funded startup looking for a talented Ruby developer to be employee #1 (because that's true, and because there's something unique about being employee #1).
Speak Human.
Phone interviews are pretty cheap, and a quicker way to see if cultures / values / etc. line up, imho.
Do job postings even matter beyond that fact that company X is hiring?
Yes. A single company probably has some (perhaps a lot of) variety in the positions for which they're hiring and the work they'd give to the new hires.
Does a posting with descriptions of the company culture, future plans, values, etc actually mean more than "PHP/Python hacker for YC startup"?
No. I've seen it in a couple postings and pretty much just skimmed over it and got frustrated that I couldn't find the information mentioned earlier, but "PHP/Python hacker for YC startup" doesn't really get my attention either.
http://www.joelonsoftware.com/articles/fog0000000043.html
- Who are you?
I need to research a company before I send you my work DNA (a.k.a. resume`). Are you a spammer? Are you some recruiting company building a resume`s database?
Be honest and avoid snake-oil salesmen terms like "Company in the bay area with a huge upside". If I work for you, I have to believe in your vision as much (if not more) as you do and I can't do that without doing due diligence and researching your company.
If you are not well established yet, then a brief description of what you do and what your vision is always helps (in your case, a link to your site should suffice).
- What do you need from me? / What does your technology stack look like?
Be very specific about must haves and "would be nice"es. You can discourage a lot of potential candidates by putting a laundry list of technologies that you're thinking about (or worse, toying with the idea of) implementing in the future but are in no way what you need from a candidate right now.
- What is your compensation package?
Not always feasible to write in detail, but putting a salary range is a huge plus. A phone interview + a couple of on-site interviews (taking time off of my current job) to be told that your maximum offer is worth $20k less than what I make right now is a waste of everyone's time.
Aside from that, everything else is just fluff in my opinion. Good luck!
Edit: Formatting. Where's the preview button?
The biggest turnoff is the sight of stringent, fascist language for benign requirements that can be met by anyone who bothers to do a basic preparation. "MUST be able to come to an in-person interview. Do NOT apply if you can't come in" -- why is that even a requirement for an on-site job?
Other gems are:
Equating completely unrelated qualifications "Minimum: masters in computer science, or Red Hat certification".
Being sticklers for dipshit, minor-celebrity tools that anyone with half a brain can pickup on their taxi ride to the interview: "MUST be able to use JIRA/Trac/Redmine/Bugzilla; MINIMUM 10 years".
Offering me $30/hr, with no other benefits, while enticing me with the usual fare of juvenile delights: pop soda and foosball. Specially when you're the 40 y.o subsidiary of a Fortune 500 conglomerate.
Hiring for systems design or knowledge transfer, while insisting on specific tools to be used: "we need a consultant to advice us on global on-demand video advertising delivery, and recommend architecture and design insights .. MINIMUM 10 years Oracle. 10 Years Java. 10 years Perl. 10 years C++. 10 years Sybase. MS Office. Photoshop. Batchfiles" .. you can just tell whoever wrote this has no clue what the solution might entail, so he adds everything he remembers from MIS 101, and requires it all from the guy who will be most likely working with biz analysts and delivering nothing more requirement documents, and possible the first few job ads for the future team lead and project manager.
For example, if I'm looking for a Python job, than any job regarding Python is of immediate interest. That's all that's necessary on the attraction side of it.
Things that keep me from applying for jobs are, in no particular order: using the word "Rockstar", mentioning how difficult things are or how quick they are, mandating requirements that don't really matter (college degree required! skill not important), vague details, trying to sound too cool or fun to work with.
My advice would be to sit down with someone else there and tell them about the job. Tell them what you're looking for, what you offer and any important details. Actually have a conversation with them about this. Record it. You'll have the basis for an honest job post in conversational tone that tells potential employees exactly what you want.
1. The job itself - Will the person be solving or doing interesting things? 2. The company - Does the company have a clear vision and seemingly a chance of success? Evidence of traction here can help, i.e. being a YC startup, press, etc.
I think gimmicks and attempts to make a job description "stand out" through wit, humor, etc may work, but they don't always register with everyone and can miss altogether at times. Not worth the risk (esp as as a first attempt IMO)
Make sure there is a clear description of the job itself and what the challenges the company and the role itself are trying to solve ("Looking for Ruby on Rails devs, call us!" doesn't explain what problems you'll be solving, etc). GOOD developers don't look for a new job using X, Y and Z languages, they look for a new job tackling problems A, B, and C.
Don't include requirements that are superfluous, unless you can really justify them. "Must have 5 years experience" - why? I know devs with 2 years experience that will kick the shit out of a 10 year vet. "Must be capable to lead a small dev team" or "Experience with several discrete projects a must to be able to advise from experience on architecture choices" is better.
Ditto with CS degrees: don't mandate one unless there is a good reason.
Be clear yourself with what the role is going to be: are you looking for an engineer or a support guy, dev ops, etc? "Spray and Pray" is not a strategy and looking for that experienced engineer who is fluent with UX and design while also able to administrate the production servers and load balancers is going to net you people who know nothing about anything.
State the current stage + status of the company "pre-funded", "series a funded", "profitable". Different people are attracted to different stages (and the risk that goes with them) so be clear in the job req to pre-filter those who are not. An engineer with a wife and two young kids is unlikely to take your job at your pre-funded startup so be clear where you are.
Don't use words like "rockstar", "code-ninja" or guru. You come across looking like a dick - and far worse, that I might actually end up working with someone who really thinks and behaves like he is a "rockstar" because he was hired as one.
Be clear with your methodologies, coding practices (pair programming, peer code review, etc) and anything else that will make you look attractive. Consider getting some before you post your ad if you don't currently have any (why do I want to go work in chaos?).
State where you are located, and not just "San Francisco" (for example). Mention the neighborhood or even the building. People living in East Bay are going to want to know if they can BART in, South Bayers will want to know how bad the drive will be ONCE they get into the city/if they can CalTrain and even locals are going to turn their nose up at your Outer Sunset location if they're paying through the nose to live in SoMa. I also want to know what kind of community there is around my potential work place ("We're in Twitter's building", "we hang out in South Park most lunchtimes"). Also state if telecommute is an option.
Don't forget to mention benefits (or state if there are none yet) - even geeks in their mid-twenties want to know if you are going to cover their dental. Same for stock, you don't have to mention remuneration specifics but be clear if the remuneration will include stock, and be especially clear if you are looking to offer a package that is "equity heavy" (ie below market $ salary). Again, this will filter out people who are not suitable for that situation and manage expectation of those that enquire.
Include photos of your work place, even if you just have basic digs (which is fine if you are early stage) You can tell a lot about a startup and a job from looking a their offices.
Don't use recruiters. Do I have to explain why?
But my best tip of all:
You/your founders should be spending a large amount of your time curating your network such that you don't need to put out job reqs because you can simply hire from your network.
Also don't be afraid to simply identify developers in existing startups and reach out to them directly - they may not be actively looking but will entertain your interest (and perhaps) subsequent job offer. Even in this economy (in Bay Area, at least) good developers are seldom out of work so be prepared to poach rather than search the job seeker pool.
Claiming these methodologies when the reality is different is just going to lead to disillusionment (and no, 'in the near future' doesn't count)
http://www.parasoft.com/jsp/products/article.jsp?articleId=3...
For me "equity" or "equity plus small amount of cash" generally means you are looking for volunteer labor. I've done a bit of this, but generally most postings of this nature are of the "we want you to work for free" nature.
I avoid them.
Granted, this isn't the case in all or even most postings that are vague. But if other aspects look legit, but the posting is a bit vague, give them a little 'benefit of the doubt'.
I still say that you have to alude to the nature of the problems you are looking to solve - it's better to have A1 suitable candidates and your competitors having some clue about what you are doing rather than be so vague that you miss all the good developers and your competition pwns you on execution.
If you are hot then your competitors probably already know what you are working on from leaks, failed candidates breaking NDAs, etc. But most of the time no one really cares that you are about to spin up a map-reduce datastore and need folks with experience.
I always have trouble writing job descriptions because I feel like the default approach boils down to writing marketing copy for people who think job postings are full of shit. I bet, it'd be easier if I just put myself in the frame of mind of answering, "what information do I want the candidate to be prepared for when they come in for an interview?"
1. this wasn't posted by a recruiter or somebody clueless in h.r.
2. engineers at this company still care about hiring
3. a lot of buzzword bombing b.s. artists aren't going to be applying
4. the company recognizes that raw aptitude is more important than bullet list bingo
In other words, it's a sign that the engineering culture is probably still healthy at this company.
These kinds of puzzles communicate arrogance to me. They say "We're more interested in excluding you based on a trick question than in getting to know you".
For example, the puzzle in this ad is a good one: http://newyork.craigslist.org/mnh/sof/1927765905.html
Reading in the graph and putting it in a tree structure is a reasonable problem, but not a 10 minute interview one.
Traversing the graph to find the optimal path? Wow, that's known to be a tricky problem. Brute force search will work but will take a while. Now, undoubtedly there must be some very clever proof that discards most of the searches for the special case of a triangle structure. And if you've seen that you're all set. If not, hopefully you have your copy of AoCP at hand to start looking for it. If you are in an interview and haven't seen it, you just need to recreate the conditions from 1 million BC to 1950 or whenever someone had the right insight to come up with a proof. Not really a reasonable assumption. In those circumstances it's only a test of if you've run into this issue before.
And figuring out the answer is necessary to determine the email to submit a resume? How foolish that hiring manager is. If he was Google, yeah, you can put the question on a giant billboard ad as a challenge and get some responses. He's not Google.
Reasonable question is if someone can parse some data and put it in a tree or graph.
Reasonable interview question is to bring this up and talk about approaches. Person mention's Djikstra's algorithm, well he's heard of Djikstra and knew he was big on optimal path searches. Mentions AoCP, he knows a good place to look for clever algorithms. Knows how to solve it on the spot? Probably pretty clever. Finding the optimal 100 node long path in a graph as a screening method to send in a resume? Funny stuff there.
Being a bit clever myself though I'll go a bit further here. I'd say you might be the person who posted that ad. But I think more likely is you want to apply for the job and have no idea at all how to solve that problem and are hoping by coming here and pretending it is trivial someone like me will give you some hints. Because if you really knew your stuff, you wouldn't be claiming it was trivial for any competent practitioner to solve and a reasonable screening question.
Sure, there is an easy answer out there for doing this search, that's almost certain. That everyone competent would figure it out easily? Nah.
Traversing the graph to find the optimal path? Wow, that's known to be a tricky problem.
This question wouldn't be appropriate for an interview, but I think it's just right for a pre-screen. It's not hard if you realize they're not asking for the optimal path, just the biggest total.
It's not my question, but I did take a second look at this company and I probably wouldn't have based on the rest of the posting.
The Quora challenge problem, on the other hand, seems like very hard one: http://www.quora.com/challenges
They aren't asking for a good enough path, but for the best possible path, the one that gives the biggest total. That's the optimal path for this problem.
Probably a brute force search is the way to go, I certainly can't think of any way to thin this problem out without doing research, especially given the requirement that the optimal (maximum value) solution is required.
99 levels below the top, each time a binary decision, there's 2^99 = 6.34 * 10^29 paths only, won't take too long relative to the life of the universe since 2^99 nanoseconds is only 20 trillion years. That's the answer, might have a little problem with the sun burning out before the computation completes, but by that time you should be able to relocate using a warp drive. Good luck on the interview.
edit: Ah I just figured out the pruning algorithm that will solve it. And that's the answer too, I just gave it to you in the previous sentence if you read carefully. Obvious once you think of it, not until then. I doubt many people would figure it out without a hint. And with a hint only clever ones could get it. As a screening to send in resumes? Pretty useless. If you do get a response who's to say they didn't ask for hints on a message board or pay someone to solve it on rentacoder.
(Cue: reactions from others that it's a one liner in Haskell, or that it's obviously simple and easy since the solution was so short.)
(The five lines didn't include the data, but a sixth very long line takes care of that if really felt to be part of the count.)
Resolving such ambiguities and unspecified detail is something we deal with every day; however, it's less than helpful so early in the process. As others have mentioned, hiring is a two way street.
In practice, it almost never works out very well. Puzzles are incompletely specified, impossible to answer unless you guess at assumptions that are sure to be wrong, or they take so much time to solve it's just not worth it.
Usually companies don't need complex puzzles for screening anyway. Something rather trivial and quick to answer like the fizz buzz problem eliminates 90% of the dud applicants anyway.
Designing a good problem is hard. Something that's difficult enough to present a challenge but easy enough to be solvable by a good programmer in ~15 minutes or so takes some thought. But this is another reason why I appreciate a good programming problem in a posting.
If you do a decent job of publicizing an opening you'll can easily get 1000 resumes. If you narrow this down to what seem to be the top 20, 18 of those won't be able to write a simple loop in the language of their choice. Part of the reason for this phenomenon is that the best developers who applied were in the 980 resumes discarded (this is in part due to unreasonable expectations on the hiring side and outright fabrication on the applying side).
But the general idea is that the same duds apply to every job. If you post a job ad for a terrible job with unreasonable parameters, then 100% of the applicants will be the duds as everyone with any sense reasonably ignores the ad. The more reasonable and realistic the ad, the more potentially qualified candidates will apply, but this number is not going to be the majority of applicants. The majority will be the non-english speakers and DeVry Institute grads who are mass spamming every job ad they can find with bogus resumes.
There's no point to starting with a challenging programming test because the interviewer's idea of obvious common sense insights is typically some highly domain specific thing that only is known at the particular company. Or even worse, the "challenge project" which will take a week to finish and is obviously a real work project for the company that they want done for free. Furthermore, interviewers seldom have any realistic idea of what could really be solved in 10 minutes by someone who hasn't seen the problem before like the person who selected it. FizzBuzz like problems are again the answer. Ask to reverse a string without calling a library function. This is a reasonable 10 minute question. If 95% of applicants fail, then this is a very useful screen is it not.
You can give your candidates this problem during an interview, but only if you are willing to give up time you could have otherwise spent in that interview getting to know the candidate in other ways.
* good engineering practices (as all those described in books like "Pragmatic Programmer" and "Code Complete": code reviews, unit testing, continuous integration, coding standards)
* tools worth respect (e.g.: subversion, git or mercurial but not Visual Source Safe)
* a well defined development & project management methodology, agile or not (e.g.Scrum, RUP), instead of clueless project managers.
* a concrete problem/puzzle in the company website to filter out bad candidates
* respect for the developer private life; i.e: what to expect in overtime work
* Don't list every technology you may or may not use as required in the job posting. Either post for a specific job or spell it out that you want a fast learner and wearer of many hats, and say "these might be useful".
* Don't require X years of experience. This is as stupid as the drinking age limit: You aren't suddenly much more mature the day you turn 21. What does "experience" mean anyway? Experience in what? Spell out what sort of skills you need.
* What are we going to be working on? What is interesting about it? Hopefully it's something more intriguing than "building a blog engine" for the billionth time. It doesn't have to be cutting edge, but even the most seemingly mundane tasks can have interesting technical aspects if they are nontrivial.
* What sort of environment is it? Can I show up in my jeans and take a break during the day? Do you care what days / hours I work as long as I put in my 40h / week? What are my peers like? Are they young up and comers or grizzled bearded veterans of the unices? What sort of development process do you have? What points of the Joel Test (look it up) does your place pass?
No long lists of very narrow technologies each which really only require a few days to get up to speed.
Brief description of work environment such as offices with doors that close, book account or some sort of library, reasonably modern computers with dual monitors each at least 1920x1080 plus a laptop, and no complaints about getting whatever text editor and tools the developer prefers to work with.
Relocation paid. If you are looking to hire someone who is good and with specific skills, he is not in your weird city nor does he wish to subsidize your cost of hiring.
Pay for cost of interviewing for final candidates that you need to come to site interviews. For those ones you'll want to sell the area as well since they have no idea why anyone would want to live there, wherever 'there' is.
Not paying the above two tells the candidate you probably won't be able to make payroll either.
Be very willing to receive screening calls that ask lots of personal specific questions and answer them enthusiastically, just like you are trying to sell an expensive item to a very important customer.
And finally, don't rely only on ads. For specialized skills you need recruitment, and there's no way to figure out who you want to woo unless the recruiting is done by someone who knows development, not some know-nothing recruiter from an agency, nor some HR drone. Again, recruitment has nothing to do with recruiters. Recruitment is saying you need someone with the ability to build System X, then you find someone who is already doing that and pay him $20 million to buy his company as a talent acquisition.
I am no longer an employee but an owner. When I was an employee I looked at ads but found them useless for many of the above reasons. As an owner I write ads and do recruitment and we have little difficulty hiring exactly the talent we need. Pretty much all companies that have problems finding talent aren't offering enough money and are not good places to work in many ways. Places that pay competitive and are good places to work have no shortage of highly qualified applicants. Yes, you'll also get a lot of unqualified applicants, but how to tell the difference is a topic for another day. (In short, if you can't tell the difference you're doomed since you'll hire a bunch of duds and then the few with actual talent will leave because of the clustering effect: very talented people hate to work with idiots.)
figure out who you want to target, very specifically, then figure out exactly what they want out of a job.
The following is my paraphrase of dotBen's comment, with "if statements" instead of "dont's":
if you want people who care about degrees, require a degree.
if you want people who care about the exact number of years they worked at some job or with a language, add it to your requirements.
if you want honest down to earth people, then be honest and down to earth.
if you want people who are cocky enough to label themselves as "rockstars" or "ninjas", then ask for it.
... list goes on
I personally think this is common sense, but as they say, common sense isn't common.
The most important thing? Hiring is a two-way street. You're shopping for employees, we're shopping for employers. Your job description is like an employers resume. If you want honest applications, then give us an honest description of what you want. It would seriously MAKE MY DAY, if there was a job listing that said straight up what you were going to do, i.e.:
"we need someone to work with us on a team of 5 to implement our new web API within 3 months and provide support afterwards. If you suck, we'll fire you. If you're good, we'll move you on to whatever new stuff we might need help on like a potential mobile platform..."
at which point it would be very easy for me to say "yeah that sounds awesome! i can do that for you!" or "fuck that i got better shit to do." either way, we'll both get exactly what we want, and I won't be trying to fake my way into a job I don't deserve, and you won't be questioning whether I'm actually good enough.
http://ecorner.stanford.edu/authorMaterialInfo.html?mid=1526