Here's a query for a rough reproduction of what's asked in the title:
WITH whoishiring_threads AS (
SELECT id FROM `bigquery-public-data.hacker_news.full`
WHERE `by` = "whoishiring"
AND REGEXP_CONTAINS(title, "Ask HN: Who is hiring?")
)
SELECT FORMAT_TIMESTAMP("%Y-%m", `timestamp`) as year_month,
COUNT(*) as num_toplevel_posts
FROM `bigquery-public-data.hacker_news.full`
WHERE parent IN (SELECT id FROM whoishiring_threads)
GROUP BY 1
ORDER BY 1
Which results in something like this: https://docs.google.com/spreadsheets/d/13yGlJzFpVzZ-WNHAOsdo...Still a bit of room to clean up the query, though, and there are some differences from the chart in the post.