I’m making a detour from my last two posts to talk about Salesforce development for other software developers. Before I started my career in Salesforce development, it never crossed my mind that it was ever an option. Even though I was active in numerous software development meet-ups, conferences, and hackathons, I’ve never met a Salesforce developer before I started my Salesforce journey. (Aside: what drew me in was the opportunities and support provided to veterans.) When I started learning about Salesforce, a whole new world revealed itself to me, and in many ways it was familiar territory for someone who did (still does) software development professionally for 3 years. I’m here to convince you software developers out there, those who, by chance, found out about Salesforce, but are unsure if it is for you. I’m here to convince you that Salesforce, and especially Lightning Experience, has the features and capabilities for someone like you, software developer, to grow your career in.

Let’s start with Lightning. For front-end and web developers, Lightning Web Components should be familiar territory. It’s older sibling, Aura Components, was made in a time when web standards were fewer, and web frameworks like Angular and React were in their infancy, if they even existed at the time at all. (Aura Components was introduced during Dreamforce ‘13) Being ahead of its time, Aura Components as a framework tried to keep up with the numerous releases, including the general availability of the Lightning Experience UI later, that it must support to stay relevant. Throughout that time, web standards have had time to solidify in the form of modern web frameworks such as React and Angular, and ECMAScript specifications released during and after ECMAScript 2015.

Enter Lightning Web Components (LWC). Introduced in late 2018, LWCs brings the innovations that Aura Components wasn’t designed to accommodate, including a framework that closely resembles the modern web frameworks React and Angular. The innovations don’t end there; under the hood, LWCs take advantage of web component standards that current modern web browsers, like Google Chrome, Apple Safari, Firefox, and Microsoft Edge, are designed to support, and in an optimized way. Features such as the Shadow DOM optimize rendering of Lightning components, bringing performance boosts to the browser. More importantly for front-end and web developers, the framework is similar enough to other modern web frameworks that the learning curve, coming from those frameworks, is quite low, and their prior skills are quite transferable. I can attest this from my own experience.

On the server-side, software developers can do Apex development on the Salesforce Platform. Software developers who have worked in Java will notice that Apex seems familiar, although it is only based on Java 1.5. Apex development comes with many advanced features. Apex developers can utilize many asynchronous processing features, such as Future Methods, and Batch, Queueable, and Schedulable Apex, designed to run outside of a record change transaction, with their own, and often looser, governor limits. In fact, many of those features are suitable for making web callouts to external systems. There are even features that cater to event-driven software architecture, allowing events to be pushed to or from a Salesforce org.

Let’s not forget that the Salesforce Platform exposes a number of APIs that allow software developers to create custom apps and automation tools for advanced customization of many Salesforce features and products. Many of those customizations can automate parts of Salesforce products that would normally require manual creation and manipulation of data and configuration. For example, for Salesforce Einstein products, imagine creating different datasets, and using code to create and change Analytics apps, dashboards, and lenses without having to do that manually. Or, software developers can utilize the Metadata API, and in conjunction with git, you can store the history of changes in Salesforce configuration, including code, and quickly and easily revert and find out what went wrong if some configuration change doesn’t work as planned.

With all these features within software development in the Salesforce Platform, developers with different specializations and with different levels of experience can, with a minimal ramp-up learning period, work within the Salesforce ecosystem as a developer.