Automating Job Hunt

It’s 2022 and it is a difficult time navigating the economy. Market is dull, hiring is frozen and the competition is demanding new ways of job hunting.

Job hunting is a monotonous task for anyone actively looking. Apart from job alerts on websites like LinkedIn or Indeed, what can one do? Well, ever heard of “automate or GTFO”? That’s what I did.

I (kinda) automated the process of job search and this effort has paid off. Here’s the link to the secret script - github.com/shreyas-sriram/security-engineer-job-search/scripts/jobs.py.

The following section explains the usage of the script.

Usage

Script Description

  • First off, a lot of companies use recruiting software services like greenhouse, lever etc. This made things easier, as I could write a common function for both and use it for multiple companies.
    # common API for companies using lever
    def lever(company):
    ...
    
    # common API for companies using greenhouse
    def greenhouse(company):
    ...
    
  • The title of the scraped job listings are then compared to a list of keywords.
    KEYWORDS = ['Security', 'Privacy', 'Cybersecurity', 'Infosec', 'Red Team', 'Offensive']
    
  • On the other hand, this script also contains scraping for jobs from other companies like Block, Pinterest, ServiceNow, Snapchat, Spotify, Twitter, Uber.

How can I adapt this for Software Engineering roles?

  • Update the keywords. An example is given below.
    # for security roles
    KEYWORDS = ['Security', 'Privacy', 'Cybersecurity', 'Infosec', 'Red Team', 'Offensive']
    
    # for software engineering roles
    KEYWORDS = ['New Grad', 'Software', 'Backend', 'Frontend', 'SDE', 'SWE']
    
  • Update the search terms in the URLs and other places. An example is given below.
    # for security roles
    API = 'https://careers.smartrecruiters.com/ServiceNow/?search=security'
    
    # for software engineering roles
    API = 'https://careers.smartrecruiters.com/ServiceNow/?search=software%20engineer'
    

Bonus

Run this script everyday using GitHub Actions and just go through the latest jobs since the last run.

Here’s the link to the sample GitHub Workflow configuration - jobs-cron.yml.

This is what you see everyday.

jobs-sample.png
Diff of the automation run - Uber

Before you go, remember this - Automate or GTFO.