What's Salesforce? (2021)
retool.com
retool.com
What's an enterprise thing?
The most simple tasks are unnecessarily complex. Janky and slow UI that is at least 10 years behind in terms of web norms. It uses its own proprietary versions of standard languages like SOQL, APEX, Lightning, Visualforce instead of SQL, Java/Groovy/Kotlin/Scala/etc., Angular/React/Vue/etc., and HTML/CSS. Absurd data and API limitations for the kind of product it purports to be. Confusing terminology and multiple tools that do the same thing. Buggy IDE and REST implementation. Poor and/or convoluted integrations. Eye-watering license costs. So yeah, classic 'enterprise' product.
On the plus side, it's not as terrible as most other enterprise CRM solutions that somehow manage to be even worse.
Why don't enterprise customers then do the sane thing that is so obvious to you?
One particular gem: the platform prides itself on extreme flexibility of metadata, the ability to throw together new columns and tables to suit any need. One atomic data object is an address (street city state zip nation), every Person entry in the database could have one. In the company I was working for, it was very common for the customers (rich people) to have multiple homes, so I was tasked with adding support for that. It turned out that the ability to have multiple address units for a user was a “just around the corner” feature for fifteen years with no end in sight…
Salesforce belongs in the bonfire with Internet Explorer 6 and AOL.
/s
Salesforce is really just a cloud based database with a UI slapped on top of it (for both administration and end users).
- New Tables and Columns can be added via a Web UI without any downtime.
- Business processes can be automated using custom "apex code" (a ripoff of java 1.6) and "visual code" workflow engines.
- UI/Layouts can be customized via drag and drop editors and a "Web Component" framework (LWC).
- The user security model is robust (Record level access, Field level access & record sharing rules)
- There is a pretty solid REST API that is updated in realtime to reflect your models.
- The entire org configuration is defined as deployable "metadata" (XML).
All this makes it extremely easy to model business processes and quickly build business 'apps'.
However, building anything of significant complexity becomes extremely expense very quickly. And once you've built critical processes into salesforce, you are forever vendor locked.
The Salesforce Account Manager's goal is to raise total subscription cost 7% with every contract renewal, even if your needs have not changed. They can typically accomplish this by offering your free features early on, letting you become dependent on them and then taking them away if you do not pay more.
ERP’s are operational efficiency tools that companies use. Core components of ERPs are financial (automating accounting), inventory, transportation management (finding the best route to get physical products from China to the USA for example), amongst other modules.
Some ERP companies have CRMs (Oracle Netsuite I know for sure does), but again Salesforce doesn’t.
Then I realized, "wait, this is the end and I still don't know what Salesforce is".
App stores were mentioned, SaaS, "The Cloud", no-code, all these buzzwords apparently originated with Salesforce, so...what?
In retrospect, the bit about "SOQL" reminds me of the "it goes to 11" quote from Spinal Tap.
What's SOQL? Well, it's like SQL. Why is it better? Well, it's got one more letter.
"Like a database, Salesforce lets you create new tables with custom columns and relationships, complete with data types and constraints."
Ahhhh...like SharePoint?
"Salesforce’s point-and-click database editor and drag-and-drop UI builder"
Aha, like MS Access?
"Visualforce, a component-based UI framework that made it easy to build custom interfaces for Salesforce. Its simple markup let developers build UIs"
Oh, like HTML?
"And this Apex controller code would fetch the list of objects from the organization’s schema"
Like Javascript!
What Salesforce does better is “hide” the integrations between a web interface, but in the end it’s just replacing one set of problems for another.
And obviously Access and VBA aren't new and shiny enough, have been left to wither, and low/no code is the in thing, so Microsoft has a grab- (garbage?) bag of new stuff. Like Power Automate and Azure and I don't know what all.
FYI, Sharepoint doesn't require VBA in any way. Obviously if you're using the REST interface, that can be accessed from almost anything, although you probably don't want to. But you can also access an object model with a regular web page that's much more convenient.
“Salesforce is the most popular CRM in the industry.” It’s like the second paragraph of TFA.
I know people who work at Salesforce, and I learned some things from this article.
Which is a huge problem in organisations of all sizes.
...It's a provider for your internet service. The explanation isn't going to get any easier than that.
A CRM is where you manage the relation to your customers - whatever that means depends on the vendor and customizations. Run analytics who to upsell to, send marketing material to, get reminded that a customer's subscription is running out, ....
Visual force is like java server pages, but worse because it injects all sort of stuff into the rendered page like these wierd ids, stop you from using a lot of basic html between the visual force tags.
And finally, they have been pushing so hard for their redesigned UI , lightning. Problem is that it is much much slower than the old pages by a lot.
It's everything for everyone that they can sell licenses to.
Salesforce (the app), Jira, Peoplesoft, SAP, etc… are all platforms/apps for business that provide you entities, custom fields for those entities, a web interface, reports, and some other things (workflows). They are really just all moving towards being generic app platforms but in almost cases also provide you with a default app/workflows/entities.
How they implement these platforms, how people develop for them, how they integrate into other products, how much admins you need to run them, what kinds of DR and security they provide, how much code is necessary, payment models, etc.. that is the big differentiator in all of those platforms - and there really is huge differences in all of those.
Salesforce the company is bigger than the app, just as Oracle and Atlassian also are.
Commerce Cloud: Think enterprise grade Shopify. Competes with Oracle Commerce Cloud.
Marketing Cloud: Enterprise grade email service provider.
Customer 360: If you use multiple Salesforce products, you can connect all your customer data together with no integration code in one product.
A perfect client for Salesforce is an e-commerce retail company who’s differentiator is not technology. Casper (mattress company) is a perfect example. They can buy all this technology and avoid hiring a big team of software engineers. Instead they get all the features they need and can hire much cheaper Salesforce Admins / Developers that can easily be offshored.
I have worked with Salesforce for the past 6 years. I was the VP of Engineering at Casper that worked to replace a lot of open source/ customer tech with Salesforce products. A big advantage of this is easier SOX compliance and data security when going though an IPO.
I am not convinced that Salesforce admins are cheaper than engineers. Sure you can offshore, but like offshore engineers, you get what you pay for.
No more. Oracle laid off 90% of their commerce cloud team a few weeks ago. It’s in maintenance mode only now and will soon be dead.
In building that out it has its own somewhat idiosyncratic ecosystem of custom language(s) and technologies for creating the objects/workflows/relationships/reports etc and for doing the actual admin side, releasing new packages, doing upgrades and so on.
Related (same site/style): https://news.ycombinator.com/item?id=32776276
It’s also helped by a relatively unspoken network of people with a significant private affiliation that go out of their way to give contracts and money first and foremost to other people of that affiliation. It’s the kind of teamwork that starts young, usually defrauding the welfare system. Or not telling the local investigators why your Mom is only 13 years older than you.