Related blog post
- git clone git@github.com:iblaine/hn-whoshiring-analysis.git
- cd hn-whoshiring-analysis
- python -m venv env
- source env/bin/activate
- pip install -r requirements.txt
- code hn_hiring_analysis.py
- click "Run Cell"
- Load HackerNews Who is hiring posts from Jan 2013 to July 2021
- Parse the data, add to a dict stored as hn_metrics.json
- Denormalize data into a dataframe, make the data available for analysis
- Every month has about 1,000 items
- The data is not structured very well, which limits a lot of analysis
![]() |
![]() |
![]() |
![]() |
[
"2021-06-01"
]{
"company_names":{
"Tourmaline Labs":1,
"Dr. Bill / RBC Ventures":1,
"Flowdash":1,
"Koddi":1,
"HVN":1,
"Sparrow":1
},
"locations":{
"Senior Back End and Mobile":1,
"Senior Software Engineers, Tech Leads, Engineering Managers, Product Designers":1,
"Software Developer":1,
"San Francisco Bay Area":1,
"Frontend Tech Lead, Full-Stack, Backend":1
},
"position_types":{
"ML & Backend engineers":1,
"Remote (EU) or Onsite (Berlin, Germany)":1,
"Full-time, REMOTE in US":1,
"Australia, Remote":1,
"NYC":3,
"REMOTE - US ONLY":1,
"React, TypeScript, Tailwind, C#, React Native - both local and remote (Lancaster, PA":1,
"Sarasota, FL":1
},
"position_names":{
"<a href=\"https://vertexvis.com\" rel=\"nofollow\">https://vertexvis.com</a>":1,
"ONSITE (post-covid)":2,
"Software Developer":1,
"Portland or Remote":1,
"<a href=\"http://synth.earth\" rel=\"nofollow\">http://synth.earth</a>":1,
"\\"
},
"search_results":{
"data engineer":{
"cnt_total":91,
"cnt_unique":72
},
"software engineer":{
"cnt_total":626,
"cnt_unique":369
},
"full stack":{
"cnt_total":174,
"cnt_unique":131
},
"fullstack":{
"cnt_total":77,
"cnt_unique":59
}
}
}




