Click here to see the resulting Twitter Bot!
As someone who has applied to dozens of government internships or jobs over the years, I’m among the multitudes that realize how random and unfair the Federal hiring process is. Jobs may go up for months at a time, at which point you realize that with thousands of applications you probably won’t ever make it past the automated screening/referral process. The only thing worse is seeing your dream job go up, and then close hours later before you got your tailored resume uploaded. Some job postings close after receiving a certain number of applications, which can be the day it was posted. This happened to me, and my frustration and desire to be able to get real-time job posting updates led to my first project involving Node.js and REST APIs.
USAJOBS is terrible in many ways, but one surprising fact is that it has a little-known REST API, which allows you to pull a listing of jobs matching a given criteria in JSON or XML. It was thus a fairly simply task of pulling all student job listings with the USAJOBS REST API, pushing them to a database, and then tweeting out any job not previously in the database using Twitter’s API. I wrote a cronjob to do this on an hourly basis on my Raspberry Pi, and the Pi has been tweeting jobs out ever since. You can see it in action at https://twitter.com/Future_Fed.
I hope to eventually use the USAJOBS API to do some more interesting (maybe even useful?) research on the federal job hiring process, but this was a fun first step in learning how the API worked. Hats off to OPM and USAJOBS for including this nice little feature, but it still doesn’t make up for having to use USAJOBS.