The Salesforce Ecosystem

Salesforce is more than a provider of CRM services and applications. Their ecosystem consists of businesses, consultants, and independent developers who build applications on top of the Salesforce platform. They are supported by the Salesforce team who regularly develops new tools to improve the developer experience. The Lightning Platform which is used to build Salesforce applications was designed to be easy and fun. What’s more, developers can also take advantage of their complementary products which include machine learning components and development management tools.

Salesforce can be used to develop almost any application using both external and stored data. On the one hand, it is common for businesses and consultants to build in automation or create domain specific applications. Entire companies have been built on top of Salesforce. Compared to the alternative of building a product from scratch, the time-to-market is shorter. Independent Software Vendors (ISVs), in contrast, generally build products and sell them on the Salesforce AppExchange. Before ISVs can list their apps on the AppExchange, they need to get approval from the Salesforce team. Salesforce audits are largely focused on security and data privacy. In this way, the team can ensure a certain level of security in traded applications. 

As an Independent Software Vendor, you can develop self-contained products to be sold on the exchange. In this case, buyers can simply brand the software and sell it. Alternatively, you could develop additional features which run within the Salesforce platform. Buyers would then purchase these add-ons and incorporate them.

The Lightning Platform is optimized for developer productivity. Aside from low code tools and the code interface, the platform integrates easily with other technologies, and niche Salesforce services are easily incorporated. 

Low code tools provide drag and drop interfaces for UI development as well as automation. For example, Flow Builder, can be used to automate and manage processes. Apex is the native language of Salesforce. With Apex you can execute statements on the Lightning Platform server and interact with your data. On the front end, Lightning Web Components is a JavaScript framework which can be used to build reusable components. Salesforce has a variety of SDKs for third party integration, including mobile SDKs. In addition, there are many APIs which assist with data processing. 

Flow Builder

Over and above the app development tools, Salesforce provides a set of tools for managing development, known as Salesforce DX. Salesforce DX is used for source driven development and works with various version control systems. DX includes scratch orgs which essentially provides single-use deployments of Salesforce with specified features and preferences.   

Salesforce DX

Heroku Connect, their integration for Heroku, makes it easier for developers to migrate to Salesforce. Using Heroku’s cloud platform, developers can code in their preferred language and then connect their Heroku app with their Salesforce data. Thus eliminating the need for Apex. 

Heroku Connect

Einstein is an AI platform well suited to CRM. It can be used for identifying trends, predictive analytics, natural language processing, and image recognition and classification.

Kevin Poorman, a developer evangelist at Salesforce, recommends Trailhead for anyone considering a career in Salesforce development. Trailhead contains both modules and hands-on projects which cover low code tools and the code interface. Within the developer trail, it is possible to focus on specific skills. For example, you could focus on creating mobile apps powered by the Salesforce platform.  

Developers also have the option of earning credentials, either through super badges or certifications. Super Badges are a way to apply newly acquired skills to real world problems. Super Badges are only unlocked when enough badges are earned by completing modules and projects. There are a variety of certifications on Trailhead such as Platform App Builder or Marketing Cloud Developer. Unlike many other learning platforms, hands-on challenges are checked by the Salesforce team for correctness.   

In addition to Trailhead, developers can also get help and engage with others within the Trailblazer community. In fact, Kevin highlighted the friendliness and helpfulness within the Salesforce community. It is not uncommon for the Salesforce team to respond to Twitter questions. 

One of the advantages of the tightly-knit ecosystem is the feedback loop between developers and Salesforce. Salesforce responds directly to developers’ needs through the Idea Exchange. In the Idea Exchange, developers can influence the product roadmap by voting for the potential features which they would like prioritized. 

Idea Exchange

Speaking of new ideas, it is worth mentioning Code Builder and Salesforce Functions. Code Builder is their soon-to-be-launched web-based development environment. Code Builder is a version of Visual Studio Code optimized for Salesforce development. When it launches, Salesforce Functions can be used for elastic scaling. 

A major benefit of a career in Salesforce development, according to Kevin, is the healthy work-life balance. For more information on Salesforce development, listen to the Software Engineering Daily interview with Kevin Poorman. To get a taste of Salesforce development head over to Trailhead.  

 

Nichole Groener

Nichole is a software engineer based in Budapest. For more information, you can find her on LinkedIn.

Software Weekly

Software Weekly

Subscribe to Software Weekly, a curated weekly newsletter featuring the best and newest from the software engineering community.