Searching for C Programmers
I recently had a reader ask me for help with creating effective Boolean search strings for C programmers. I thought I would share the advice I provided as it can be helpful for sourcers and recruiters who search for tricky skills/technologies, especially common words, single/special characters, and older technologies that many people mention but no longer have current experience with.
Here is the original request:
*****************************************
“I’m having trouble with a particular search string on Monster that I thought you might be able to shed some light on. I’m doing a search for a C Developer (Not C# or C++). This is posing problems, because Monster returns anyone who has the letter ‘c’ in their resume. The search string I am using is:
(”C Developer” or “C programmer” or “C Software Engineer” or “C Engineer” or (”C” and “C”) ) and (”Design” or “develop” or “maintain”) and (”mission critical” or “N-Tier”) and (”Sybase” or “.NET” or “RUP” or “Sun Solaris” or “Rational Unified”) and not (”C#” or “C++”)
(Note: I’ve put and not at the end of that because I found the exact same string with just not returns no results at all, searching all resumes; whereas and not returns results. Not sure why.)
*******************************************************
SEARCH ADVICE
Functional Terms and the Asterisk
I like how the reader has used functional terms such as design or develop, which can enable basic semantic search, but they put those words in quotes, which limits their ability to work as effectively as possible because they force the results to say only those specific words and not variants of them, such as developed, designed, etc. A more effective use of searching for functional words such as those would be to leverage the fact that Monster supports root word searching via the asterisk. For example: (design* or develop* or maintain*). Using the asterisk in such a manner will produce results of candidates that mention any word variant starting with those root words – which will cover titles (developer) and responsibilities (developed, developing, designed, maintained, maintenance, etc.). Trying to NOT Out C# or C++
I noticed that the reader requesting help was trying to NOT out mentions of C++ and C#. On the surface, this seems like an obvious tactic to reduce false positives of C++ and C# developers, however, it can cause significant problems in that it will eliminate every candidate who really does have strong C development experience but simply mentions C++ or C# somewhere on their resume. For that reason alone I’d recommend against it. We don’t want to run the risk of eliminating any relevant results, and there are VERY few software engineers/programmers whose resume mentions C without any mention of other languages anywhere, even if only listed in the skills summary or in educational experience (such as taking a course in C#).
Also, if you noticed from the reader’s comments – they tried running a search by inserting the NOT operator into the search string by itself which did not work. While this can work on some Internet search engines, none of the major job board resume databases will accept that – you need to say “and not.”
Searching for C
Searching for software engineers who focus on and have current experience with C has ALWAYS been a challenge due to the intrinsic issues of searching for a single character. Most resume databases, ATS’s, and Internet search engines don’t do well when trying to search for single characters.
Additionally, because C is an older language, most companies and departments have over the years left C behind and have migrated to C++, Java, .Net, etc., so finding someone who still predominantly develops applications in C as opposed to any other newer language is very hard. However, there are many companies who still maintain older applications that were originally developed in C that need to be updated or enhanced with new development – so these people DO exist, they’re just not very common.
One of the most annoying things about searching for something like C is that SO many people mention it somewhere in their resume, either during school or in their past work experience, but the majority of their experience is actually in other languages.
Be aware though – there are VERY few people in the world who ONLY mention C in their resume without mentioning C++ or some other language that they’ve had experience with at some point in their career, either on the job or at school. You have to keep in mind that information technology candidates are often told to mention everything they’ve worked with or been exposed to, so don’t be discouraged if you see resumes that talk about C, C++, and Java. You’re going to have to call candidates like that and ASK them what percent of the time they have been responsible for developing applications in each language. You may be surprised by some candidates – you can never judge a candidate by their resume alone.
The question asked was specifically for how to successfully search for C developers on Monster, so let’s get to business. Later in the post I will detail how to search for C programmers in LinkedIn and on the Internet.
Title Search
The idea to target people who identify themselves by specific titles such as “C Developer” is a good one. Titles are horribly limiting, but as a first pass, it’s a good idea because why not target people holding a neon sign over their head saying, “Hello – I’m a C programmer!”?
Beyond Titles
Searching by titles can be a good first pass for any search, but we must always be aware that there are TONS of people who have the experience we need but don’t have a cookie cutter title – and this is especially true of software engineering, as there are so many different titles that people who perform software development can have. Knowing this, we now have to try and find people with C programming experience that do NOT have titles such as “C programmer.”
Going beyond titles, there are a number of things we can try to search for people with solid and recent C experience. Monster and some other databases/search engines CAN be tricked into searching for the single character C if you put quotation marks around it, although in Monster’s case it will still highlight other mentions of C elsewhere throughout the resume, such as the C in C++, and even the C for cell phone number in the contact section. However, it will still highlight C by itself wherever it is.
Even though we’re looking for a C programmer, I’m going to recommend also searching for mentions of C++ as well. This may seem counterintuitive – but when you search for a single character like C and you’re not adding specific titles such as “C Programmer” (which we have already done), you will get TONS of junk results, which is not what we’re looking for.
Just to test my theory, I ran this search:
“C” and not “C++” and (design* or develop* or program* or maintain*) and (rational or RUP or sun or solaris or sybase)
And I did in fact get tons of garbage – irrelevant results.
So, in order to increase the relevance of the results (getting more software engineers with C programming experience instead of large volumes of non-software engineers and software engineers who develop applications in other languages), we’ll throw in a few combinations of C++ just to test the effect of combining “C” and mentions of C++ as well and see the effect on the relevance of the results:
“C” and (”C and C++” or “C/UNIX” or “C/C++”) and UNIX
Here are a couple of resume snippets. Looking at the results, there are certainly less false positives, and we find more people who are software engineers who mention C and/or C/C++ development. As we can see, the search for C/C++ worked, as did the search for the phrase “C and C++.” What’s interesting to note is that Monster and most search engines don’t see characters such as the slash (/), yet when we search for “C/C++,” they WILL find C next to C++. So while Monster does not “see” the slash (/), it does “know” something is there, and will return results of C mentioned right next to C++. Same goes for C++/UNIX. In fact, you can use the slash instead of other special characters to effectively search for other difficult-to-search for skillsets (Pro*C, mod_Perl, etc.).
Here we can see that the slash (/) worked for us yet again, pulling mentions of “C, C++.” Monster doesn’t “see” the comma, nor does it even “see” slash, it just knows *something* is there and will pull any mention of the two separated by a small space.
In the case of both resume snippets, there is no way to tell how much time the candidate spent on C development vs. C++ development – anyone who looks remotely close to these results deserves a call to find out more. One of the biggest mistakes sourcers and recruiters make is judging candidates by their resumes and making assumptions. Let’s take a moment to reflect – these are professional software engineers, not professional resume writers. I have learned this lesson 1000 times over in my career – give candidates the benefit of the doubt. I have had MANY people hired that I am sure other sourcers and recruiters overlooked just because they made quick assumptions about resumes, not even bothering to take the time to talk with the candidate to find out who they are and what they really have done and can do.
Taking that search one step further, we can add the rest of the search terms that the reader was originally searching for:
“C” and (”C and C++” or “C/UNIX” or “C/C++”) and UNIX and (design* or develop* or program* or maintain*) and (rational or RUP or sun or solaris or sybase)
Looking through the results, we get the usual suspects of false positives, including software engineers who USED to develop applications in C but have been developing in Java for the past 5-10 years, but I am noticing a number of C/C++ developers as well – such as this one:
As with the other results, this person is responsible for developing applications in a number of software languages – they are definitely worth a call to find out how much time they developed applications in C vs, C++ and Java.
Using Monster’s “Most Recent Job Description” Field
Speaking of false positive results of people who mention C in their past but are doing something else now…Monster has a great feature that allows you to enter a single word, phrase, or entire Boolean string in the “most recent job description” field and force all results to specifically mention what we’re searching for in their most recent job description, guaranteeing us that they will make mention of our search terms in their most recent job description, and hopefully actually have current experience with what we need. This is especially hepful when searching for older languages and technologies, enabling us to eliminate results of people who do not mention them in their most recent experience, in an attempt to remove false positives of resumes that mention our keywords once back in 1985, or only in their educational experience.
Searhcing only for the mention of C:
Entering a small Boolean search string:
Employing the NEAR operator
Because Monster is the only job board that supports proximity searching via the Boolean NEAR operator, we can leverage that to attempt to find candidates that specifically talk about developing, designing, or programming in C.
“C” NEAR (design* or develop* or program*) and (”C and C++” or “C/unix” or “C/C++”) and UNIX
In this search, Monster will ONLY return results of resumes that mention C within 10 words of any word beginning with the root of design, develop, or progam, which can be very helpful to target sentences where candidates talk specifically about being responsible for developing, designing, and/or programming applications in C. This is a good example of semantic search, and if you are not familiar with the concept, I highly recommend you read all of the posts under the category of semantic search.
You can see from the above resume snippet the number of times C (or C++) is mentioned within 10 words of any mention of words with the root of design and develop. This is another excellent example snippet, because this candidate talks about C, C/C++, and Visual C++. Definitely worth a call to find out how much time they spent with each programming language – you never know until you pick up the phone.
Searching ALL Resumes
This should go without saying, but I know it doesn’t. When searching any online job board resume database for anything remotely difficult, be sure to search for ALL resumes. Don’t artificially limit yourself to people who have posted their resumes in the past 30, 60, 90 (etc.) days – search everyone! By searching ALL candidates, regardless of when they posted their resume, you are exposing yourself to a greater number of candidates, and you are automatically diversifying your candidate pool with both “active” and “passive” candidates. My own research has shown that 75% – 80% of all candidates on each major online job board resume database are over 30 days old.
Now that we’ve examined how to search for people with solid C programming experience on Monster, let’s take a look at LinkedIn. While you can always search within LinkedIn using their search interface, I will cover how to leverage the site: command to x-ray into LinkedIn so you are able to see any/all public profiles.
Let’s take a shot at searching only for C without adding any C/C++ to the search and see what Google makes of it.
site:linkedin.com “C” (~design | ~develop) (inurl:pub | inurl:in) -intitle:directory
As we can see, Google goes a little crazy and finds every mention of C, and while some of the results look good, we also get false positive hits of first and middle initials, as well as grades.
Now let’s shoot for titles and phrases that are specific to C programming and development that do NOT mention C++ anywhere in their profile for a first pass to cherry pick the obvious matches:
site:linkedin.com “C” (”C developer” | “C programming” | “C programmer”) -”C++” (~design | ~develop) (inurl:pub | inurl:in) -intitle:directory
Here we have narrowed the results down to people who specifically mention titles and phrases referencing C development who do not mention C++ anywhere in their profile.
We know that we are eliminating good results by using -C++ to not return any results of people who do have significant C programming experience but who happen to mention C++ somewhere on their profile. So much as we did on Monster, let’s try adding the C/C++ combos:
site:linkedin.com “C” (”C/C++” | “C/UNIX” | “C and C++”) (~design | ~develop) (inurl:pub | inurl:in) -intitle:directory
As you can see, we’ve picked up more people to evaluate that talk about C and C++ development. It’s important to realize these results are mutually exclusive from the previous search.
Googling for C Programmers
Last, let’s take a quick look at searching Google for resumes online. First, let’s shoot for C-specific titles and phrases and eliminate C++ from the results:
(intitle:resume | inurl:resume) “C” (”C developer” | “C programming” | “C programmer”) -”C++” (~design | ~develop) -job -jobs
Click here for the results, which look pretty good.
Now let’s throw some C++ in:
(intitle:resume | inurl:resume) “C” (”C/C++” | “C/UNIX” | “C and C++”) (~design | ~develop) -job -jobs
Click here for the results, which also look good.
CONCLUSION
There are many way to attempt to tackle the intrinsic challenges of searching for single character skills/languages, as well as “outdated” technologies, such as C. Hopefully you’ve learned some tips and tricks along the way. Aside from some core Boolean search best practices, we’ve seen that Monster enables users to leverage searching within the most recent job description to ensure current experience, and Monster also supports the NEAR operator, allowing users to specfically target people who mention developing applications in C.
If you enjoyed this post, please consider to leave a comment or subscribe to the feed and get future articles delivered to your feed reader.











.jpg)


All C++ programmers can write C code. You must learn C to eventually learn C++. If a manager needs strong C skills it is probably for an embedded application. Vxworks is a good standard embedded OS. Linux & PSOS are others, there are many.
Mark