I'll break my answer down into a few parts:
- What's good about being a Salesforce developer
- What's bad about it, and what to keep an eye out for
- What you can expect to do
- What "cool work" you're doing
- overcoming Salesforce's limitations
What are the good parts of being a Salesforce developer?
There's no shortage of Salesforce developer jobs
You have a lot of leverage to be recruited for Salesforce developer jobs. If you've been a developer for over a year, I wouldn't be surprised if recruiters on a job search reach out to you via LinkedIn are you to read the job description they're hiring for and if "you have time for a quick call."
Once you've been in the ecosystem for a long time, you'll have recruiters and hiring managers BEGGING you to apply to their company.
You have the leverage to get paid well, but you’ll have to do well in the interviews and learn to negotiate to see the money.
Salesforce developers get front-row seats to how businesses make money
I think the best part of being a developer on the Salesforce platform is getting a front row to see how businesses operate. You’re close to the Sales function. You get to see how Support thinks about servicing the customer. You understand how big of a role marketing plays in keeping a company’s products top of mind. If a Salesforce developer decides to start a startup, there’ll be no shortage of AppExchange products to build because of how close they got to business’s problems.
If you have excellent technical skills and can speak both DeveloperSpeak and BusinessSpeak, your Salesforce Developer career will skyrocket because you can dive into the technical weeds with development teams and then with the business you can speak just plain English. It’s a hard skill set to find.
There are plenty of niches to be found. Take CPQ as an example. You could spend your development career becoming an expert on CPQ implementations in Salesforce environments.
A Salesforce developer job is more than just Salesforce
You’ll also learn about other platforms and software besides Salesforce. Having a broad domain knowledge is excellent for your long-term career prospects, especially if you want to develop into a Salesforce architect, VP of Information Technology, CIO, etc.
What can you expect from a Salesforce Developer role?
It depends on your level, company size, and team size. You’re fundamentally learning new technologies.
When you’re starting out
As a Salesforce developer, you're learning new technologies, writing Apex, and yanking every single process builder out of your org because they’re slow as hell. You are customizing flows, and if you’re working with Lightning, you’re finding out how slow it can sometimes be. At my first Salesforce developer job, I noticed my development manager going to many meetings. I looked at my calendar and saw nothing scheduled on my calendar. “This is boring…I want to go to meetings and not spend all day writing code.”
That’s what you’ll likely be doing: spend your time writing code without many meetings.
The job description changes all the time
As you become more senior, you’ll find yourself writing code less. When you're a Senior Salesforce Developer, you will be more responsible for things like:
- technical preparation, designs, code reviews: are the solutions that your other developers and admins making up to par with the team's standards and best practices?
- proof-of-concepts: the stakeholder wants a new project where they implement a new sales tool. You will be responsible for checking if the tool or solution they want will truly solve their business problem.
- unblocking your team: What problems is your team facing and how can you help them solve it?
It will involve more meetings, and you’ll be less in the weeds of Salesforce and your responsibilities will be more aligned with keeping an eye on the overall technical health of your Salesforce org.
You'll also informally become the evangelist for all integrations done to and from Salesforce.
Note: I had a guest post on Salesforce Ben about what it’s like being a Lead Salesforce Developer. Read it here.
If your team is large and deploying metadata to production without a release management or version control system, you’ll inevitably run into a situation where someone overwrites someone else’s work.
Fortunately, the rise of Salesforce DevOps has led to companies adopt more software engineering rigor for developing and deploying on the Salesforce platform. You’ll be responsible for ensuring the the software development lifecycle is smooth.
What is the percentage of doing “cool” development work?
If you’re working at a startup, any Salesforce development you do might seem exciting because you’ll feel the impact you’re making. It always felt like a rush seeing a new feature or initiative help our company meet its objectives.
If you want to grab a lot of Salesforce developer and software engineering knowledge, I highly recommend you try getting a job at Salesforce Independent Software Vendors, also known as ISVs. You will get a chance to work on the apps that millions of Salesforce customers use. Here are some companies for reference:
When you're a Salesforce developer for a large company, you’ll find that the business requirements tend to be stable. Unfortunately, this means that you might not have the ability to be creative with your approach because the solutions might have been laid out by a team of architects or developers beforehand. I’m not sure I could work for a mega-corporation, but everyone’s different.
What are the bad things?
I’ll tackle the bad things about working on the platform itself in the A few Salesforce platform frustrations part later on, but they pale in comparison to the points below if your company doesn’t have a culture (or manager) you like.
If you're a Salesforce developer at a consultancy, your management will likely tell you that you need to hit a certification quota by a certain period of time. Ordinarily, this wouldn't be an issue, but if you have a big certification quota and you already know the Salesforce platform well, it can be a huge annoyance and time-suck away from your day job.
Is your company a relentless penny pincher?
There’s a difference between being a diligent steward of company funds and being penny wise and pound foolish.
I've worked for organizations that didn't give their employees the ability to improve themselves. The department slashed conference budgets. There was never any money to take e-learning courses. The Salesforce team felt demotivated to do anything.
Leadership opinion on Salesforce
I’m not saying every member of a company’s leadership needs to love Salesforce. But keep an eye out for leadership who might have an eye out for removing Salesforce so you can look for another job (if you want to still stay on the platform).
Toxic behavior is rewarded
Do you see your colleagues sending emails at 10 pm as if it is completely normal? Are these the people who get promotions? That is a clear indicator that employers are incentivizing
Are you afraid of setting boundaries
It’s crucial to set them in the age of remote work. It’s ultimately on you to respect your time.
Is your manager afraid of saying “no” or pushing back?
If they can’t say no, you open the floodgates for your business stakeholders asking for ad-hoc work to be done, which takes time away from your everyday work. It can set a bad precedent for the Salesforce team to always “be on.”
Do you see your colleagues send an essay on why they have to miss a day of work?
I’ve seen something like this before: “Sorry, I won’t be able to make it to that meeting because I’m having surgery. I’ll still get x done by Y date, though.” Ridiculous. Avoid!
There’s no culture of inquiry
As an example, do junior feel empowered to speak up or do they think they’ll be called stupid? Does leadership answer tough questions? Does your manager?
I’ll also note this: If you don’t enjoy speaking with stakeholders (BSAs, product owners, QA, scrum masters, managers, businesspeople, etc.), you won’t want this kind of work for long.
A few Salesforce platform frustrations
Yes, especially if you came to Salesforce from a pure computer science or other development background. For example:
Apex is a stripped-down version of Java. If you know SQL, you’ll be frustrated at what you can’t do with SOQL. Governor limits get annoying, especially if you’re working with an unhealthy Salesforce org. You can’t do things, and it isn’t comforting when you find out what they are.
If the company culture s dogmatic about “build, not buy,” you will bang your head through the wall trying to get Salesforce to do things other tech stacks could do ten years ago.
If your company doesn’t have a procurement team, you’re not going to like that Salesforce does nickel and dime you for every feature you want.
At the end of the day, even with all its shortcomings, I’m happy to be a developer on the Salesforce platform.