Ask HN: What information should be in any job description page?

61 points by gls2ro ↗ HN
In your opinion how should a job description page look like?

What information should include?

If you were to create the job description page (or careers page) for your company what will you put there?

What information will you add there?

59 comments

[ 3.4 ms ] story [ 103 ms ] thread
Skills required to complete the job. Maybe 1, 3, 6 month goals.
Make sure there’s a clear description of what the organization does.

For things like programming where there’s a lot of variety, some stuff indication of typical working environment is really nice. Daily standup? Lots of pairing? This isn’t a right/wrong thing but will help people with strong preferences avoid wasting time.

What’s the office environment like? Single offices? Team rooms? Cubicles?

Remote-working policy.

Pay range and what skills would get you to the top of the range.

What are the required skills and nice to haves.

401K match and vesting schedule.

An address of the place in which you will work. Trivial. Hardly anyone does it.
(comment deleted)
For tactical positions like programming, required skills and optional skills are probably a minimum. However, I have found that the most attractive job ads are those that talk about the culture of the company in addition to what they expect of me. I like ads that communicate that I would be an appreciated member of the team.

Dry lists of bullet points are a turn-off; they give the impression that the company just wants a warm body.

I also avoid companies that rely on hyperbole in their job ads--"rockstar," "ninja," "guru," etc. They give the impression that the one who wrote the job ad and/or the hiring manager have no idea how to truly quantify good talent.

+1 to “rockstar”, “guru”, etc being a dead giveaway of a terrible company.
Also don't talk about the 'free soda', 'nerf gun wars', 'air hockey table' or something else that indicates you treat your employees like children. I also hate the ninja/rockstar stuff.
Agreed. Save that money to pay good talent more, and save the time so I can get out of work in 40 hours a week or less.
“Save that money to pay good talent more”

The whole point is all that stuff costs much less than any meaningful pay raise.

Free food makes sense due to travel time and taxes.

When you buy your own food, you pay with post-tax income. The employer can provide that food for less money than it takes to pay you the extra money to buy the food. Alternately, you can get better food.

Travel time can be hours. You may need to struggle with traffic or wait for a train. You may need to get all dressed up for the cold and then shovel snow off your car.

I’ve seen them become unfashionable over the past few years. Is it the implied individualism that gives these words “terrible company” associations?

Is there a good word for an experienced person who is better at shutting the door and working through problems rather that doing things in a team?

No, it’s the implied treating your employees as children who value “totally zany” job titles rather than respect, meaningful work and compensation. It shows either lack of professionalism or malicious “how can we fool those code monkeys” intent. Just use descriptive job titles.
> For tactical positions like programming, required skills and optional skills are probably a minimum.

True, but you have to be a little careful with "required skills". At my last job, the CTO asked me to check out a job posting, and the "required skills" list had our entire tech stack (maybe 20 items, including several rare ones). We were literally asking for a single person who knew as much as our entire company did!

This can be especially problematic because not everyone sees "required" the same way: https://hbr.org/2014/08/why-women-dont-apply-for-jobs-unless...

Pay, Expected Weekly Hours (especially if it's salary), and Tech Stack are the most important to me.
The pay range, where the actual job is, and what the duties of the job would be.
Salary range. Critical info that most job listings don’t have. I’m much more likely to consider a job if I know it has an appropriate salary range.
Can't upvote this enough. Even if it's a really wide range, it rules out companies with unrealistically low pay scales.

It also makes it slightly more equitable, since employees are no longer reliant on playing salary poker in order to determine their pay rate. This tends to reduce the salary gap.

Hence why companies rarely include it.
That’s silly and bad strategy though, hoping you can “trick” someone into taking a lower salary by getting them to the end of an interview process. Just biases your pool for the least valuable candidates.
In general trying to underpay any employee is a dumb strategy and I don't understand why it's so universal. If you pay any in-demand role under market, you're providing them with a strong incentive to move elsewhere right out of the gate.
There's not a lot of standardized titles and salaries in our profession. One company's idea of a "Senior Engineer" might be wildly different than another's. Either what level of experience that actually is, or how many hours/week you have to work, or not-salary things like 401k matching or bonus ranges, extensive travel requirements, etc.

I don't like the negotiation game either, but I don't really see how to avoid it.

I don't negotiate. I know my market rate. I say I want X and they either pay me X or I don't accept the offer.

I don't count bonuses as part of compensation when I am considering jobs. I've been burned too often by the promises of a bonus.

I also discount 401K matches that don't immediately vest. The longer they take to vest, the less I count them.

I also don't negotiate for raises. Either they keep up with market rates or I look for another job.

One of the main reasons I always go through recruiters. They won't waste my time or theirs submitting me to jobs where the salary is not what I want.
Have any tips on finding good recruiters to work with? Most of the people that reach out to me are clearly not giving a level of care to their search that I'd be comfortable working with (for instance, I was a PHP dev with some JS for a while and would frequently get requests about Java positions). I'd love to work with a recruiter that cares specifically about placing me somewhere good, but I've never met a recruiter like that.
They don't need to know anything really. Their role is only lead generation. All they really have to do is a keyword search.
The problem is we are interested in lots of different levels, if you put a typical range you wont get the best people. If you put a high number out you get every nutter in town applying. As a result we dont publish a range.
Could you show the range and then right before someone submits a resume they have to answer 1 or 2 questions. Like -really- basic stuff would weed out a lot of the bots and "I use computers, I can do it!" people. Just needs to be something that takes like 5 minutes or less.

Just me but I'd rather know salary up front and not spend an entire interview just to be low-balled. Wastes everyone's time.

Yep that is what the internal recruiters are for. We have something like pay depending on experience, You should talk to them and they'll discuss. Definitely you should know what is possible before interviewing.
Why can't you publish multiple salary ranges per job post (level 1: $X1 - $Y1, level 2: $X2 - $Y2, etc) or multiple job posts (one for each level)?

Neglecting to publish a salary range seems more like a negotiation tactic on behalf of companies of not wanting to be the first to name a number. Either that or you know your company can't compete on salary, which is my typical assumption when it's a company I've never heard of and I don't see a range provided.

Glassdoor is a good start to get an idea of the salaries.
A lot of smaller companies don't have info. Or the info may be outdated.
Company - Address - (Remote Allowed?)

Job Title - Department

Description of Company

Description of Job

Tech Stack

Requirements

How Interview Works

Salary Range

Benefits

[Click to Apply without having to retype your whole resume]

Excellent list. I'd just add a brief overview of the interview process to be totally complete.
As someone​ currently interviewing for software positions, this x100. I mean, why do I have ask about this every single time?
It's also important to be honest about what tech makes up most of your stack. Lots of companies say "We use a mix of {sexy_tech} {sexy_tech} and {unsexy_tech}", when 90+% of their codebase is in {unsexy_tech}. I see this frequently, and it's misleading.
That's the "put up a group photo" method of describing a job. Hint: unless there are other pictures, assume that the most unattractive person in the picture is the person in the profile.
Interview Style. Are you going to whiteboard me or do something else?
Tell me what the job actually is.

And salary, salary, salary!

Vacation policies.

A photograph of my desk.

Most tech jobs I've seen don't have any photos at all. When they do, it's usually the lobby and kitchen and ping-pong table. Why are you trying so hard to hide the place I'm going to be spending 95% of my time? You wouldn't buy a car without ever having seen the driver's seat, and I spend way less time in my car than at my computer.

When I saw photos of Fog Creek's offices (with programmers sitting at their own desks), I didn't need to read any marketing fluff to know that programmers are treated better there than at any tech company I've seen in Seattle, and if I lived near NYC I'd be beating down the doors to work there. They're not architecturally 'pretty' but seeing 20 desk-level outlets per person shows they've thought about all the little annoyances that developers have.

Of course, on the hiring side, this only works if your workspace is a differentiator for you. If it's a generic open-office floor plan, then it's not, and you probably should hide it from applicants and push salary/benefits and "interesting problems" instead.

+1 I find myself poking through Glassdoor looking for office pictures. It's definitely weighed in before.
atter getting offers I always ask to see my work area before deciding and often they’ll look at me like I’m crazy! I’ve even had employers refuse saying it would be too disruptive! I didn’t take those jobs.
I've come to appreciate job listings that include the actual team/project that I'd be working on. If a company of more than 10 people can't tell me what they actually need me for it strikes me as a company that's wildly disorganized and/or with a lot of employee turnover.

"We don't hire for specific roles, we just hire good engineers" (read: your job is whatever we say it is any given moment).

I agree, it's important to be able to visualize something tangible you might work on or build. When it comes time to the interview you also have a real context to talk about things in like why you'd choose X technology, or why you'd implement Y in some particular way.
It can be project turnover. Take mine for example:

https://news.ycombinator.com/item?id=16283252

It has that attribute you are complaining about, but without the problems you presume. Suppose we hired you. Perhaps a couple months pass between when the job ad is posted and when you physically show up for your first day of work. We aren't going to put projects on hold while waiting for you; we'll assign those to other people. Once you show up, we'll get you started on a project.

That project assignment won't last forever. We may decide that you are more valuable elsewhere, perhaps after you get a security clearance. (another reason we can't say much, along with plain ordinary proprietary information) Projects tend to last a year or two.

It's not as if we have no idea. We can say in general terms what kind of stuff you could work on. Telling you about a project that might be done before you start your first day of work would make no sense at all.

I wouldn't call it wildly disorganized, but the details are not perfectly predictable. There are people managing a pipeline of upcoming projects. They propose things to customers, get feedback, place bids to do the work, get contracts, set things up for doing the work, and then match up employees with projects.

I wish more employees would have the kind of job posting you have in your link. It would tell me I wouldn't want to go anywhere near the company.

Pick Florida or Texas to live in a place with solid gun rights and no state income tax.

Why do I care about gun rights when I'm applying for a job. That implies a culture that is always bringing politics into the job -something I avoid like the plague.

We proudly fly the American flag. One in our cafeteria looks to be about 8x15 feet. Our veterans hold an annual Flag Folding Ceremony in honor of Veteran's Day.

I respect veterans (my father is one) but along with the gun rights statement it still feels like bringing non work related stuff into the job. I just want to do my job and go home.

Many employees choose to go shooting together, but there is no pressure to participate. It's just a normal all-American activity.

Another red flag....

When someone asked about salary range, the response was

We are hiring at multiple levels and in multiple locations, so it's a big range. You don't want an upper bound on it, do you? That would be limiting. :-)

Another red flag....

I agree on that first point. The goal is not to attract the maximum number of job seekers. Driving away people who would be unhappy is good.

I suspect that "always bringing politics into the job" and "bringing non work related stuff into the job" are not the real cause of your dislike. Can you confirm that you would reject both Google and Facebook due to being excessively political? We're far less political at work than they are. We didn't fire our Bernie supporter.

There are no red flags. We exclusively fly the American flag.

I keep seeing that people suspect a lack of a salary range indicates nefarious intent, but it's not like that. User rb808 had it right in https://news.ycombinator.com/item?id=16555622 when he commented that "if you put a typical range you wont get the best people. If you put a high number out you get every nutter in town applying."

I did drop a few hints which you ignored, but the salary range spans more than 6 dB. Everybody seems to underestimate us, and glassdoor's obsolete data doesn't help, but that isn't totally a bad thing. I have no interest in wasting time on people who just spam all the job ads that offer large salaries. I get enough spammy stuff as it is... no, web development experience isn't going to cut it.

The value that you provide to one company is not the same as the value that you provide to another company. Consider two companies and two developers. One developer does C++11 and one company wants that. One developer does C# and one company wants that. Applying to the matching companies, perhaps both people are offered $200,000. Applying to the non-matching companies, perhaps both people are offered $100,000. There is no reason to be offended or assume nefarious intent when you get a low offer during a career change. Heart surgeons and stock traders may both get paid well, but a heart surgeon who switches his career to stock trading should not expect prior experience and pay to be at all related to value in the new career.

Can you confirm that you would reject both Google and Facebook due to being excessively political

I never see on their job postings that they have Bernie rallies every week.

But I am not a big company person. I've worked for over 20 years and have only worked for one company that anyone has ever heard of -- a company that at the time was a Fortune 10 company.

Well, actual duties. Go and ask two to five people of the same/similar team/level to write down what they were mostly doing last week or month.

One of the hardest time for me is on-boarding a guy or girl who is poorly informed about their role. Not any better when I am the new-joiner.

Pay range. It can be vague of you want, but just add a pay range. Those get top priority every time, even if the job doesn't sound as good.
Job descriptions as a whole are in need of a major overhaul to start to include more contextual information about the roles being hired for.

A study by TheLadders.com showed that candidates spend on average 49 seconds on a job description before deciding if it's a fit or not. The majority of that time is spent above the fold.

JDs should include the most vital information about the role above the fold. Which languages should the candidate know? What certification is required? Any specialized training? Location? Education? All above the fold. No need to lead a candidate on only to reveal in the last sentence: "Must speak Mandarin".

Salary. Mention salary. Every candidate wants to know. At the very least, give a range.

Once you get past the basics, add in required skills with context. Avoid the temptation to use cliche "communication skills" or "customer service skills" without adding additional context.

Simple formula: You will use [skill name] to [desired result] within/using [time frame/technology]

A great example of a very effective JD is from 37Signals a few years ago: https://signalvnoise.com/posts/2544-were-looking-for-an-offi...

It's pretty difficult to read that JD and be confused about the role. They avoid ambiguity at all costs and keep everything tied to specific duties/tasks/outcomes.

Finally, give candidates insight into not just your company, but the people doing the work. Their stories and experiences are tremendously more effective than marketing copy written by legal or a content team.

We're actually working on this exact problem at https://www.Ruutly.com -- converting text-based job descriptions into contextual candidate experiences, above the fold.

edit - formatting

Salary range and the attributes of what a candidate would need to get to be the top of that range.

Appearances of avoiding or deferring that discussion frustrate me immensely, as it seems like the company is trying to compensate with fluff before getting to the facts of it. This is because - at the end of the day - salary is simply the most important thing. It is how you provide for yourself and your family. It is how you build wealth and stability and safety for your life, and nothing else comes close. When my company provides me, via a solid salary, this financial security, I am 200% invested in making its mission successful, whatever the tech stack or other details of the role.

I have no idea why job descriptions look the way they do today, but I've devoted the last ~9 months of my life encouraging companies, specifically engineering teams, to provide more information up front about who they are and what it's actually like to work there. Candidates want to know so much more than just salary and tech stack.

https://www.keyvalues.com

Candidates want to know about as much as possible before investing hours/days/weeks interviewing at a company. Who wants to waste all that time trying to get an offer from a company they don't even want to work at?!

Here are things candidates might want to know about:

- office layout

- on call schedule

- lunch traditions

- support for personal development

- organization/structure (ie. pods vs. teams)

- engagement with the greater community

- participation in meetups/conferences/hackathons

- ability to move between teams and change projects

- culture of promotion (external or from w/in?)

- hiring goals for the next 6, 12 months

- composition of team (X frontend, Y backend, Z data, etc)

- interview process

- employee retention

- diversity goals and metrics

- flexibility of working arrangements

- frequency and duration of meetings

- opportunities to mentor interns or junior devs

- code reviews

- post mortems

- tooling (ie. for revision control)

- how often do people pair?

- channels to provide feedback to executives

- contributions to open source

- average age?

- support/benefits for parents

- "busy times" or "peak seasons" for the company

- runway

- hobbies/interests of current team members aka future coworkers

- level/amount of interaction between me and users/customers

- ability to work remotely

- support for IC vs. management tracks

- amount of collaboration between departments

- is this job available because they're fortifying existing teams or spinning up new ones?

- general, day-to-day working hours

The list goes on and on.

I also wrote tons of questions for candidates to ask during their job interviews to get information about all of the above: https://www.keyvalues.com/culture-queries

I've run across keyvalues.com before, and it's a great idea, but I found it didn't really help me. For one thing, there doesn't seem to be any way to filter by location (not that it would help me, since they're mostly in California).

But the bigger issue for me is that a "value" for me is either something that ought to be universal (like racial/gender equality), or a deliberate choice between valid options. For most of these values, I have no idea what the opposite choice might be. For example, GitHub picked "CUSTOMER COMES FIRST" (ironically, as their #2 value), but I'm not sure what the alternative would be. Investors come first? Make art, not products? Do any software companies have such values?

You mention on the "About" page an example of a value you originally wanted to search for, "whether they favored speed or perfection when it came to shipping code", which I think is a perfect example of a value I'd want to search for, too. Unfortunately, in the list of 50 values, I can't find any that represent either of these positions. The closest I can find are "HIGH QUALITY CODE BASE" and "FAST-PACED ENVIRONMENT", but they're not exactly opposites, and sure enough several of the companies picked both of these values, in adjacent positions. I don't see any way for companies to indicate they hold the opposite of one of these values.

Here's one possible goal for anyone writing a new software engineering job search site. Every month or so, someone posts a link to "They Write the Right Stuff" here on HN, an article about the Lockheed space shuttle software group. Make a job site that would let me find that as a career, never having heard of it and not having any prior interest in the field. For example, it could have a "speed"/"perfection" dial, and show me aerospace jobs if I turn it all the way to "perfection".

(comment deleted)
Salary range; Remote Ok, and from where; Stack used;