Blog

Joblint: How do Hacker News' job postings fare?

Oct 3, 2013 • Karen

A couple days ago, I ran across Rowan Manning's joblint package via Twitter. Joblint is a linter (code style guide enforcing and bug-finding tool) for job ads. It looks for keywords indicating sexist, bro-ey, or vapid content, unrealistic expectations, or outdated technology requirements and prints out a report indicating possible issues with the ad. It has three report levels indicating severity: errors, warnings, and notices.

Of course the first thing I thought to do with it was evaluate the job postings on Hacker News. Hacker News (HN) only posts job ads from Y Combinator alumni, so it's all tech startups. Additionally, while this doesn't necessarily reflect on the companies posting there, HN's commenters and audience tend to have a more "bro-ey", startup-douchebag streak in them compared to other free software and programming communities that I generally enjoy hanging out in.

So, I wrote my first quick and dirty scraper script using Python, requests, and lxml to find all the job links on the Hacker News jobs page, download the pages they link to, and run joblint on each of them.

Results:

One HN job ad, OrderAhead's engineering jobs page, completely passed joblint! Good job, OrderAhead!

Every other ad got a "competitive and performance-based"-sounding notice. Which is just a notice, not a warning or an error, because some jobs are in fact internally competitive and heavily based on performance. Maybe all Y Combinator jobs are in fact that way, and these ads are accurate. I guess there's no way to know from the outside.

Three ads had dumb, superficial perks listed: beer, xbox, and pizza. Does the XBox count as paleo? The other two sure don't.

No ninjas or rock stars in this batch, thank God. Joblint did not notice the clichetastic rocketship in Instacart's ad.

There seem to have been two JavaScripts [sic] false positives, as far as I can tell from reading the ads myself. Not sure what happened there.

Two ads came back as mentioning gender, one seemingly repeatedly. When I looked at the ads, though, it appears that JobLint was noticing the content and pronouns in the employee bios on the same page for EasyPost. It's unclear why Priceonomics' post also got flagged--I didn't see any gender references on a quick read.

Overall, the current batch of job posting did much better by this metric than I was expecting, and many of the warnings turned out to be due to content on the page not related to the ad. Indeed, it could have been so much worse. It's clear that joblint is ideally written for you to copy and paste individual ad copy into it--its false positive rate is rather high analyzing an entire HTML page.

Raw results are available after the cut. You can also download and run the script yourself, if you like, to evaluate future ad batches--though please be judicious about not flooding HN with requests.


The raw results:


(env)karen@yellow:~/Code/hn-joblint$ python hn.py
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
https-www-orderaheadapp-com-jobs-engineering.html

Joblint

No issues found with the job spec!

http-www-listia-com-jobs.html

Joblint

Culture Issues |? (1)
Realism Issues |? (1)
Recruiter Issues |?? (2)
Tech Issues | (0)

• Attempt to attract candidates with hollow benefits: beer, xbox (warning)
• The job sounds competitive and performance-based (notice)

http-news-ycombinator-com-jobs-item-id-6476069.html

Joblint

Culture Issues | (0)
Realism Issues |? (1)
Recruiter Issues |? (1)
Tech Issues | (0)

• The job sounds competitive and performance-based (notice)

http-news-ycombinator-com-jobs-item-id-6479875.html

Joblint

Culture Issues | (0)
Realism Issues |? (1)
Recruiter Issues |? (1)
Tech Issues | (0)

• The job sounds competitive and performance-based (notice)

http-news-ycombinator-com-jobs-item-id-6466857.html

Joblint

Culture Issues | (0)
Realism Issues |? (1)
Recruiter Issues |? (1)
Tech Issues | (0)

• The job sounds competitive and performance-based (notice)

http-bit-ly-joindoordash.html

Joblint

Culture Issues | (0)
Realism Issues |? (1)
Recruiter Issues |? (1)
Tech Issues | (0)

• The job sounds competitive and performance-based (notice)

http-www-simplyinsured-com-jobs.html

Joblint

Culture Issues |? (1)
Realism Issues |?? (2)
Recruiter Issues |?? (2)
Tech Issues |? (1)

• Attempt to attract candidates with hollow benefits: beer (warning)
• The job sounds competitive and performance-based (notice)
• Legacy technologies found: front page (notice)

http-news-ycombinator-com-jobs-item-id-6485593.html

Joblint

Culture Issues | (0)
Realism Issues |? (1)
Recruiter Issues |? (1)
Tech Issues | (0)

• The job sounds competitive and performance-based (notice)

https-www-smartasset-com-page-jobs.html

Joblint

Culture Issues | (0)
Realism Issues |? (1)
Recruiter Issues |??? (3)
Tech Issues | (0)

• JavaScript is one word, and there's no "s" on the end (error)
• The job sounds competitive and performance-based (notice)

http-news-ycombinator-com-jobs-item-id-6466187.html

Joblint

Culture Issues | (0)
Realism Issues |? (1)
Recruiter Issues |? (1)
Tech Issues | (0)

• The job sounds competitive and performance-based (notice)

http-news-ycombinator-com-jobs-item-id-6486559.html

Joblint

Culture Issues | (0)
Realism Issues |? (1)
Recruiter Issues |? (1)
Tech Issues | (0)

• The job sounds competitive and performance-based (notice)

http-news-ycombinator-com-jobs-item-id-6478351.html

Joblint

Culture Issues | (0)
Realism Issues |? (1)
Recruiter Issues |? (1)
Tech Issues | (0)

• The job sounds competitive and performance-based (notice)

http-news-ycombinator-com-jobs-item-id-6469487.html

Joblint

Culture Issues | (0)
Realism Issues |? (1)
Recruiter Issues |? (1)
Tech Issues | (0)

• The job sounds competitive and performance-based (notice)

http-news-ycombinator-com-jobs-item-id-6491920.html

Joblint

Culture Issues | (0)
Realism Issues |? (1)
Recruiter Issues |? (1)
Tech Issues | (0)

• The job sounds competitive and performance-based (notice)

https-www-easypost-com-jobs.html

Joblint

Culture Issues |? (1)
Realism Issues |? (1)
Recruiter Issues |? (1)
Tech Issues | (0)

• Gender is mentioned (error)
• Gendered pronouns are used and mismatched: he, his (warning)
• The job sounds competitive and performance-based (notice)

http-priceonomics-com-hack-data-for-fun-and-profit-at-priceonomics.html

Joblint

Culture Issues |? (1)
Realism Issues |? (1)
Recruiter Issues |? (1)
Tech Issues | (0)

• Gender is mentioned (error)
• The job sounds competitive and performance-based (notice)

http-homejoy-theresumator-com-apply-a3oydo-ux-designer-html.html

Joblint

Culture Issues |? (1)
Realism Issues |? (1)
Recruiter Issues |??? (3)
Tech Issues | (0)

• JavaScript is one word, and there's no "s" on the end (error)
• Attempt to attract candidates with hollow benefits: pizza (warning)
• The job sounds competitive and performance-based (notice)