This is a guest article by Matthew Mercer from the headhunting agency Date Science Talent. I found Matthew and the company he works for through a simple Google search (without using Boolean operators), when looking for a recruiter specialised in the data science market, who might be interested to join one of my seminars for a Q&A session with the participants. Matthew’s enthusiasm for providing expert advise as well as his positioning against certain malpractices in recruiting processes of some companies was inspiring and motivating for all of us. – So I am happy (and not surprised) that Matthew agreed to publish his LinkedIn article as guest article on my blog. I’m sure you’ll find it helpful and eye-opening!
The impact of the pandemic on the job market across Europe has seen the number of job vacancies plummet and large numbers of redundancies following the end of state-support for employers. This has moved us into a market where competition for jobs is increasingly fierce.
Source: ONS, UK
Source: Destatis, Germany
This means that there are more people competing for the same jobs and searching for new jobs is becoming more difficult.
In this mini-series, I’m going to cover the following to help upgrade your ability to find your next role. The topics I’ll cover in each article include:
- Part 1a – Using Boolean search techniques
- Part 1b – Using advanced Boolean search techniques
- Part 2 – Automating your job search
- Part 3 – Approaching your job applications
- Part 4 – Preparing for your interview
You’ll see from the examples I use in each of these articles that the examples will be using Data Science roles (given that’s my area of focus!). However, the methods and tools are applicable to any industry or job role.
Ready? Let’s get started…
Part 1 – Using Boolean search techniques
It’s likely that you have conducted at least one job search throughout your career so I won’t be focusing on where you should be searching for your positions, although some of the more popular job sites/aggregators include:
What I will focus on is a method called ‘Boolean Search’ which can help you uncover more jobs. As a Recruiter, I use this technique every day to find people for the positions that I’m looking to fill, but I’ve also used it when helping friends and family with their job searches.
Land your target job outside academia
Join my email list and create the best possible match with your future profession - even if you think you don't have any of the required skills.
Thank you! Please check your e-mail to confirm the subscription.
Boolean Search – what is it?
Boolean search is based on the work of prominent British mathematician George Boole. His legacy was Boolean logic, a theory of mathematics in which all variables are either “true” or “false”, or “on” or “off”.
It is a type of search that allows you to combine certain operators (see below) in a search to produce a broader range of results.
The common operators are:
- AND – allows you to search for multiple keywords that appear together
- OR – searches for one keyword or another keyword (but not necessarily appearing together)
- NOT – excludes specific keywords from your search.
Let’s look at some examples below:
- “Data Scientist” AND Python AND SQL AND Hadoop – will run a search for jobs that only contain all of these keywords
- “Data Scientist” OR “Data Science” OR “Machine Learning Scientist” – will run a search for jobs that contain any of these keywords
- “Data Scientist” AND NOT “Machine Learning Engineer” – will run a search for Data Scientists jobs, but remove any that contain the keyword “Machine Learning Engineer”
[Side note from Ulrike: Here’s a visualisation of what Matthew just explained, only using simpler terms :-)]
Side note (from Matthew): Make sure you capitalise the operators as with some websites lowercase use of the operators will just tell the search engine to search for that term as well.
You’ll notice the use of quotation marks (“”) in the above examples – this is another operator used to group phrases together. If you didn’t use the quotation marks, the site will search both words independently (for example, Data Scientist would search Data AND Scientist, whereas “Data Scientist” will search just for Data Scientist).
Another useful operator is parentheses or brackets (). This is used to group sections of keywords together to tell the site how to break your search string down. For example:
- (“Data Scientist” OR “Data Science”) AND (Python OR R OR Matlab) – this search will search for either keyword within the first brackets with the other keywords in the other brackets. In other words, it’ll search for multiple combinations between the two strings.
Now that we know the main operators, we can start to combine these to create our very first Boolean search string:
(“Data Scientist” OR “Data Science”) AND (Python OR R) AND NOT (“Machine Learning Engineer” OR “Developer”)
In this instance, the results will be focused on data scientist jobs that mention Python or R but will exclude more technical roles.
Approaching your first search
Before diving into your first search with your newly-found Boolean knowledge, you’ll need to decide on the best method for identifying the right jobs.
My suggestion would be to start your search narrow, then go broad.
What I mean by this is to be very detailed with your first search to cover off all of the key criteria that you’re looking for.
As you’d expect, your first search or two will likely yield only a couple of results with this approach (or no results at all). But, it’s very likely that the results you do get will be a very good match for what you’re looking for.
To show you this in practice, I’m going to pretend that I’m a Data Scientist who is looking for the next step up in my career which is to move into a Senior Data Scientist position. Here are my criteria:
- I’m looking for a Senior or Lead Data Scientist position.
- I want to work in the Financial Services sector.
- Specifically, I want to work on Risk Analytics projects.
- I live in East London and don’t want to commute for more than 1 hour each way.
- I’d like to keep developing my skills in Python and related libraries.
- Salary-wise, I’d like to aim for £50k-£60k basic.
First, let’s create a Boolean search based on my own criteria:
- Job title: (“Data Scientist” OR “Data Science” OR “Quantitative Analyst” OR “Quant Analyst”) AND (“Senior” OR “Lead” OR “Team Lead”)
- Sector: (“Financial Services” OR Banking)
- Risk Analytics: (“Risk modelling” OR “Risk Analytics” OR “Risk Advanced Analytics”)
- Tech Stack: Python
The complete Boolean search string looks like this:
(“Data Scientist” OR “Data Science” OR “Quantitative Analyst” OR “Quant Analyst”) AND (“Senior” OR “Lead” OR “Team Lead”) AND (“Financial Services” OR Banking) AND (“Risk modelling” OR “Risk Analytics” OR “Risk Advanced Analytics”) AND Python
After putting this Boolean into the search bar on the job section of LinkedIn, I got the following result:
Side note: I used a generic postcode based near Stratford on the East side of London and searched within a 25-mile radius.
15 results is pretty good!
Looking through these, we can see that the majority appear to tick the boxes for what I’m looking for, so at this stage, I would read through each one and send off applications to those that appear to be the best fit.
Side note: You’ll find that a lot of job adverts on many sites don’t have the salary mentioned. You can input an additional Boolean in your search criteria to identify just those which do, which would look something like this:
(“£50,000-£60,000” OR “£50k-£60k” OR “£50,000 – £60,000” OR “£50,000” OR “£50k” OR “£60,000” OR “£60k”)
However, you’ll find that there will significantly fewer results and often turn up none at all (my search turned up no jobs when I included this). To find out whether the salary level is going to be right, you can either look at review sites such as Glassdoor, Payscale, or Indeed to see what the average salary is, or you can ask the Recruiter/Hiring Manager during the initial conversation. I’ll go into the topic of salary negotiations in more detail later on in this series.
The next step is to broaden out our search to identify more positions that may be suitable that didn’t appear in the first search.
This is where we revert back to the Boolean and now look at expanding our search criteria further by doing some research into synonyms and related terms to those we already have.
As an example, let’s look at the Risk Analytics string below:
(“Risk modelling” OR “Risk Analytics” OR “Risk Advanced Analytics”)
Now if you’re already working in the world of Risk Analytics, you may know that the above terms don’t come close to all of the terminology associated with Risk Analytics that potential employers might include in their job adverts.
But, if you’re not sure what terminology to use, you can research what terminology to include in your Boolean search in a number of ways:
- Articles on sites such a Medium
- Looking at LinkedIn profiles of Risk Analytics professionals whom you’re connected to
The other way is to simply read through the first couple of job adverts you found and see whether there are any synonyms or different terminologies that are used.
So, after doing a bit of research, my Boolean string for Risk Analytics now looks like this:
(“Risk modelling” OR “Risk Analytics” OR “Risk Advanced Analytics” OR “Risk Management” OR “Scorecard development” OR “Risk Strategy” OR “Acquisition rules development” OR “Risk Reporting” OR “Quantitative Risk”)
If we apply this approach to the rest of my other Boolean strings, I end up with the following new search:
- Job title: (“Data Scientist” OR “Data Science” OR “Quantitative Analyst” OR “Machine Learning Scientist” OR “Quant Analyst” OR “Quantitative Risk” OR “Quant Risk”) AND (Senior OR Lead OR “Team Lead”)
- Sector: (“Financial Services” OR Banking OR “Capital Markets” OR Fintech OR “Investment Banking”)
- Risk Analytics: (“Risk modelling” OR “Risk Analytics” OR “Risk Advanced Analytics” OR “Risk Management” OR “Scorecard development” OR “Risk Strategy” OR “Acquisition rules development” OR “Risk Reporting” OR “Quantitative Risk”)
- Tech Stack: (Python OR Spacy OR Numpy OR Pandas OR Matplotlib OR “scikit-learn” OR Quantlib)
Let’s now run this search as a comparison and see what results we get back:
37 results – an additional 22 results.
Now, before you dive into each role and start hitting that ‘Apply’ button, you should first have a quick scan over the roles which are coming through to see whether they’re relevant. Given you’re adding more synonyms and keywords, you’ll find there’s a greater chance of false-positive results creeping in. If this is the case, you’ll need to change your Boolean string to make the results more accurate.
When I first ran this wider Boolean search, there were in fact more results (closer to 50). But a lot of these results were for Developers, Engineers, Architects and other technical roles which I’m not interested in.
Consequently, I went back to my string and added the following keywords at the end:
-Developer -Engineer -Architect
Side note: the “-” symbol is also used as NOT operator in many sites that enable Boolean searching
This excluded those more technical roles from my results, so the remaining roles are more relevant.
Other groups of keywords you might think about excluding:
- Recruitment jobs for Recruiters hiring in your field (i.e. “Recruitment Consultant”)
- Roles that are too senior or too junior for you (i.e. Graduate, Director, etc.)
- Certain companies that you wouldn’t want to work for (or perhaps have already worked for in the past).
Search filters on job boards
Mostly all of the job boards come with their own search filters which either have dropdown lists or free text boxes. Often these will include criteria such as Job Title, Location, Seniority Level, Salary, etc.
For example, below are the search filters that LinkedIn has available:
To help further refine your job searches, you can start to introduce filters that meet your requirements and combine them with your Boolean search string.
A quick note on the risk of using search filters
Depending on how thorough you’ve been with your Boolean strings should give a good indication as to whether you need to use certain filters. For example, given my Boolean search above already contains two strings that emphasise jobs within financial services and risk analytics, it may be counterintuitive to use the industry filter to select results predominantly for financial services clients.
Another point worth mentioning is that a lot of job posters aren’t always accurate in selecting the right filters with their job adverts. This means that certain criteria are filled out incorrectly, job titles are vague or not aligned with the industry standard, salaries are left off (a big bug-bear of mine), or the seniority level is incorrect.
For LinkedIn, I would advise sticking with the following filters:
Job Type – helps identify whether a job is full-time, part-time, contract, remote, etc.
Date Posted – this will help you find the jobs posted more recently and are likely to have fewer applications or are less likely to have already been filled.
Company – to search for specific employers that you’d like to work for.
LinkedIn Features – a relatively new filter to LinkedIn, this allows you to search for jobs with advanced filters such as:
- Jobs with ‘Under 10 Applicants’.
- Jobs with companies that have employees that are in your network – useful to help add referrals to your application.
- Jobs with companies that allow you ‘Apply on LinkedIn’ – i.e. you won’t be redirected to a career page.
Boolean search is a powerful way of finding more relevant jobs as it takes into account that most organisations and job-posters will use different terminology and language when advertising their roles.
Another benefit of this approach is that you uncover those jobs which are perhaps buried behind the well-known brands and have had fewer applicants to them, so as a result, you’re more likely to get a response to your application.
One final tip – remember to save your Boolean searches to a word document so that you can keep them updated and refer back to in the future. It also makes it much easier to edit them and copy/paste into different job boards.
In the next article, I’m going to explore a couple of more advanced Boolean search techniques that you can implement to find even more results, how to effectively combine your search using a website’s own filters for an effective sequential search, and how to use filters on other sites such as Indeed and Google.
If you have any questions, connect with Matthew on LinkedIn!
Land your target job outside academia
Join my email list and create the best possible match with your future job - even if you believe you don't have any of the required skills.