Stephen Hudgins Tech - HTML tutorial HTML tutorial HTML tutorial

The Keyword Counter

Built with Python, fueled by Curiosity
The first iteration

It's the year 2021, and at this point anyone who has searched for a job recently knows that the key nowadays is word usage. In the past, people suggested putting lists of words in white text on resumes. That way the HR software that counted and matched resumes based on keywords would pick up your resume. And even today, the basic tenet of this is still the case. There are too many candidates, and never enough people to sift through them all. So software comes into play to lighten the workload.

Hence, why people now suggest tailoring your resume to every single job you apply to. This is the correct way to do it when you apply to jobs directly. Having said that, being on the opposite end of that issue, even finding jobs that match what I'm looking for isn't all that easy. But, I've had substantially better experiences when positions reached out to me. So I had an idea.

Create a Python script that would let me input job descriptions in whatever quantity I wanted, and then pick out the important words. That way, I could update my LinkedIn so that the HR software used by companies would find me for more relevant positions. It's an active passive way to job search haha

Now that I had a goal and requirements for what I needed this script to do, I set about making the script. Like before, this was an iterative approach. With every sub component being tested to ensure it worked on its own. And then combined into bigger and bigger scripts. Well, relatively speaking. As you can see, it isn't exactly a lot of code... But in the end, I hit a sizeable problem. Using the strategy I'd started with, the only way to get a decent list was to exclude words in a very manual and tedious trial and error method.

Anyone that knows me knows I avoid manual work like that whenever possible. And when it isn't possible, I find ways to streamline it as much as I can to get it out of the way with no errors and as little time invested as possible.

This lead to a massive shift, because of course there was a way in Python to do exactly this job. Called NLTK (Natural Language Toolkit), this library enables you to tokenize and tag text. And if you can do that, you can use all that English knowledge we learned in school to pretty much wipe out most of the manual list generation I was embarking on before.

In a shift though, instead of learning how it worked on its own, I just directly integrated it into the script I already knew worked. And took away whatever I no longer needed to get the job done. Thanks to the NLTK library, the script was fully functional in the way I'd intended. And now only very minor manual edits were needed. I called that a success. And then promptly put 3 or 4 job descriptions into it, and tweaked my LinkedIn profile.

The final iteration

"Change is the essential process of all existence" - Spock