Some Salesforce developer job postings are wrong
Salesforce is everywhere, yet many developers don’t even know what Salesforce is. This means that qualified Salesforce developers with just a few months of experience can demand and get better salaries than developers with a little experience in better known technologies.
If wisdom is knowing what you don’t know, then I’m very wise about Salesforce. I know very little about Salesforce, but I do have an idea of what the gaps in my knowledge are.
I do know that Salesforce had a Super Bowl ad with Matthew McConaughey, an ad that has also run during the Olympics and during ordinary TV shows. I surmise the ad has left a lot of people scratching their heads, wondering just what the heck Salesforce is.
Salesforce is a customer relationship management (CRM) tool available as software as a service (SaaS) or platform as a service (PaaS) — don’t ask me what the difference is between those two.
This seems to be the extent of recruiters’ knowledge about Salesforce: Matthew McConaughey, Super Bowl, SaaS or PaaS, CRM. That’s it.
I also know that Salesforce is in very high demand. When I was going to job fairs, Salesforce came up quite often. That’s how I even heard of Salesforce in the first place.
Salesforce gives your sales reps a lot of functionality right out of the box. But to truly realize Salesforce’s potential, you have to customize it for your particular business.
What works for Toyota might not quite work for T-Mobile, to name just two big companies that use Salesforce. Small businesses using Salesforce probably have needs that don’t apply to big companies, and vice-versa. Nonprofits and government agencies also use Salesforce.
Some Salesforce customizations can be accomplished with a few clicks on the right page. Theoretically, a sales rep could do them.
Other customizations might require a lot of “code.” For example, it might be necessary to write a few Apex classes (including a trigger and a controller), some Lightning Web Components (LWC) and pages on the Experience Cloud.
That’s way outside the scope of a sales rep’s job. You need programmers to do those things. Programmers who actually know what Apex triggers are and how and when to use them, and the other stuff as well.
Salesforce is a lot. It is overwhelming.
Salesforce Apex might seem very familiar to a Java programmer who starts looking into it, and that’s by design. But the more Java programmers look into Apex and LWC, the more they will see that they need to learn a lot of things before they can even be a barely competent Salesforce developer.
Anyone can say they know how to do something. For example, write an Apex trigger on
Account to ensure that orders valued at more than $10,000 are assigned to a regional sales manager.
I can imagine an applicant responding “Yeah, I can do that.” Followed by “Now please tell me what an Apex trigger is, and does VS Code have an extension I can use to write Apex triggers?”
And the applicant might not even realize that the question about a trigger on
Account is a bit of a trick question, either because
Account might not be the right standard object (
SObject) to write a trigger for actions on orders, or maybe the requested action can be accomplished with a workflow rule or something like that.
Of course you can’t expect an applicant to know everything about Salesforce going in, but it is reasonable to expect a certain foundation. And you don’t need to ask applicants trick questions to figure out if they have that foundation.
There are Salesforce certifications, and if an applicant has taken a certification exam, he or she has already come across plenty of trick questions.
Salesforce certification exams are multiple choice, or at least so is the one I studied for. But what makes it so tricky is that a lot of the questions require you to make two choices.
For example, on a given question that requires two choices about which automation tool to use in a particular scenario, it might obvious that Choice A, the Excalibur sword, for example, is laughably wrong.
But Choices B, C and D (a workflow rule, Process Builder and Apex trigger, respectively in this example) all look plausible. How do you rule out one of them? Maybe you choose one at random to rule out and then get the question right by pure dumb luck.
It’s also possible to pass an entire Salesforce certification exam through just luck. Maybe you can even pass two different exams by luck, but it seems much likelier that you would win even just one lottery jackpot… or get struck by lightning.
The two baseline certifications for most Salesforce positions are Platform Developer I (PD1) and Administrator (ADM).
A certification is no guarantee that an applicant can do the job. But at least it tells you that when it comes to Salesforce, they know what they’re talking about.
The thought occurs to me that maybe this is to test the applicants, see if they bring up Salesforce-specific concepts in their interviews. But that would be wasting everyone’s time, both the employer and the applicant.
More likely the person who wrote the job posting doesn’t know what they don’t know about Salesforce.
Also, there is this misconception that a Java programmer can just magically learn Salesforce in a short period of time. Well, maybe if we’re talking about a so-called “full-stack” developer who knows Java and some front-end framework like React, Angular or Vue.
Without knowledge of such a framework, a Java programmer is going to be thoroughly confused by Lightning Web Components, Aura components and how they’re supposed to interact with each other.
Likewise, just because an applicant knows SQL doesn’t automatically mean they know how to write Salesforce SOQL and SOSL queries. Those are similar to SQL, but just with enough differences to trip up the unwary.
There is also the concept of “governor limits,” which is not entirely foreign to SQL. But Salesforce has its own very specific governor limits and restrictions, and you can bet those come up in certification exams.
One good posting I saw listed “Platform Developer I and II and/or Platform App Builder, Administrator certification” among the preferred requirements.
The expected combinations of certifications in that posting were a little unclear, but at least honest applicants who have none of those certifications will move on to another posting and not waste their time or the employer’s.
Don’t’s for Salesforce developer job postings
- Don’t copy and paste from other developer job postings, e.g., C# or Java developer postings.
- Don’t mention a bunch of programming languages just for the sake of mentioning them. One Salesforce posting I saw mentioned functional programming languages like F# and also “unmanaged development such as C or assembly” (but no mention of a target chip, like the Intel Pentium). I strongly doubt that Salesforce developers at that company will ever use F#, and I would even wager money they will never have to do anything with C or assembly on the company dime.
- Don’t mention generic concepts like object-oriented programming, SOAP, REST, etc. Although such concepts might be applicable to the job, at best they bloat the listing and at worst they drown out the relevant qualifications.
- Definitely don’t mention irrelevant concepts like proficiency in Microsoft Office. You can expect any credible applicant for a Salesforce position to have some idea of how to use Microsoft Word. And if the job requires importing data from Microsoft Excel spreadsheets into Salesforce through Salesforce’s Data Loader or similar tool, then write precisely that in the job posting, don’t be coy with “Microsoft Office proficiency.”
- No need to give requirements for years of experience. Anyone with a Salesforce certification higher than the baseline certifications is guaranteed to have years of Salesforce experience and lower-ranking certifications. Some fourteen-year old girl can pass the ADM, but she’s not going to be a Certified Technical Architect (CTA) at fifteen unless she’s some kind of genius.
Do’s for Salesforce developer job postings
- Do mention specific Salesforce concepts that the hired individuals will be expected to deal with in their day-to-day work. For example, if you expect the person you hire to deal with Visualforce pages, mention Visualforce in the job posting. Same goes for Process Builder, Apex triggers, etc.
- Do mention specific Salesforce certifications required for the job. A good baseline would be Platform Developer I (PD1) and Administrator (ADM).
- Do mention specific Salesforce certifications that might help an applicant stand out (e.g., the job requires PD1 but it’s nice for an applicant to have also passed PD2).
- Do give some idea of how the company uses Salesforce. One company might be interested in using Salesforce to improve their marketing website, your company might be more interested in lead generation, for example.
Salesforce is everywhere, but too often the integrations are sloppy and incomplete. Having the properly qualified developers is as important as having a good sales team to realize your company’s sales potential.
Therefore it’s important that Salesforce developer job postings be properly tailored to attract developers who can properly set up and maintain the company’s Salesforce org, so that the sales team can concentrate on selling, rather than on wrestling with a bad Salesforce integration.
All of the foregoing is based on the assumption that the purpose of a job listing is to narrow the applicant pool down to the candidates most likely to be able to do the work, rather than provide cover for hiring someone pre-selected for the position.