There are several core topics that developers need to know in order to get started with Salesforce Platform development today. We’ve put together a guide for beginners, not to teach you how to build with Salesforce, but to give you broad familiarity with all the tools, languages, concepts, and resources that you’ll need when building on the platform. Think of this guide as a kind of roadmap that details the stops you’ll make on your journey to becoming a Salesforce Developer.

Get familiar with the Salesforce environments

Before you can do anything, you’ll need a Salesforce instance, commonly referred to as an “org,” that lets you build against the platform. As a Salesforce Developer, your job is to use code and other tools to customize (and in some cases configure) your org to support your users’ needs. The org is the overall environment that you’re building against.

You’ll also need a test environment that lets you develop and test your code safely. Salesforce offers two options:

  • Sandboxes: These are long-lived copies of your Salesforce production org that can be created from within the Salesforce UI. You can create a sandbox that only includes your org’s metadata (Developer sandbox), or you can create an entire replica of your org (Full sandbox).
  • Scratch orgs: These are short-lived copies of your Salesforce instance that are generated with Salesforce code and metadata using the Salesforce CLI, and they expire after 30 days. If you or your team is comfortable with source-driven development and writing scripts, scratch orgs are a great way to test and develop Salesforce applications in addition to sandboxes. Otherwise, sandboxes offer a variety of options to build and explore in an isolated environment.

Watch this video to learn more about Salesforce org setup, including sandboxes, scratch orgs, metadata, users, permissions, packages, automation, and more.

If you work at a company that uses Salesforce, and you already have administrator access, you can create scratch orgs based on the shape of your production account. Otherwise, you can sign up for a Salesforce Developer Edition account and use that to create your scratch org.

Related resources

Set up your development environment

When you write code to customize your Salesforce application, you’ll do so using a collection of tools for interacting with and building on the Salesforce Platform. Salesforce DX includes the Salesforce CLI, the Salesforce Visual Studio Code Extension packs, and Salesforce’s web IDE, and Code Builder.

If you have a paid Salesforce org and don’t want to deal with runtimes and extensions, you can use Code Builder, which is a web-based Visual Studio Code IDE that connects seamlessly to your Salesforce org. It comes pre-loaded with the Salesforce CLI and Visual Studio Code Extension packs and all of its required dependencies and runtimes.

If you want or have to do Salesforce development locally, you’ll need to configure your environment to support Salesforce’s developer tools. Those tools depend heavily on two runtime environments behind the scenes: Node.js and Java. Node is a JavaScript runtime environment that’s used for the Salesforce CLI, Lightning Web Components, and the overall structure of your Salesforce project. Java is used for the Apex language server. Apex is used to interact with the Salesforce database and backend. The Apex language server helps write code faster by providing the Visual Studio Code extension with useful code-editing features, such as code completion.

You’ll rarely interact with the Java and Node runtimes directly as a Salesforce Developer, but they are dependencies for using the Salesforce developer tooling. At the time of writing, you need to install Java version 17. Node comes bundled with Salesforce CLI, so you don’t need to install it separately.

Related resources

Install your developer tools

There are several developer tools that you’ll use all the time as a Salesforce Developer: the Salesforce CLI, the Salesforce Visual Code Extension Pack, and Einstein for Developers.

The Salesforce CLI is your go-to tool for building and managing your Salesforce project. CLI stands for “command-line interface,” which is a way to interact with a computer or program using text commands instead of a graphical user interface. You’ll use the Salesforce CLI to create and manage your Salesforce projects, retrieve and deploy metadata, run tests, and automate other development processes. When you first begin, you’ll only use the Salesforce CLI to issue commands, but over time, your knowledge of the Salesforce CLI will allow you to automate repetitive tasks, script workflows, and even integrate other developer tools.

If you use Visual Studio Code as your primary IDE (interactive development environment), you can take advantage of many CLI features using the Salesforce Visual Code Extension Pack. The extension is built on top of the Salesforce CLI to make it even easier to scaffold projects, authorize your org, push updates, and more. You can perform many common Salesforce CLI tasks using Extension Pack shortcuts and commands.

video insert: https://www.youtube.com/watch?v=E7ge9l6qCBc

Einstein for Developers is a Visual Studio Code extension that helps you write code for Salesforce. Think of it as your AI-powered programming partner. With Einstein for Developers, you can write Lightning web components and Apex code faster using AI-powered autocomplete, generate Apex classes with natural language, and create Apex test classes with just a few clicks. Einstein for Developers is a great tool for beginners. You can use it to focus on Salesforce concepts and best practices without getting bogged down in the intricacies of coding syntax.

You’ll use the Salesforce CLI, Visual Studio Code Extension Pack, and Einstein for Developers often as a Salesforce Developer, so it’s a good idea to get comfortable with them early on in your journey.

Related resources

Sign up for Trailhead

So you’ve got your org, installed Node and Java, and set up the core Salesforce DX toolset. Now, you just need to learn how to use and build on Salesforce! This is where Trailhead comes in. Imagine a free learning platform that teaches you the ins and outs of Salesforce. Then layer on a community forum of like-minded learners sharing and growing together. That’s Trailhead. Trailhead has hundreds, if not thousands, of modules (and collections of modules called “trails”) on all aspects of the Salesforce Platform. For new Salesforce Developers, we recommend two in particular: Admin Beginner and Platform Developer Beginner in that order.

The Admin Beginner trail will teach you who uses Salesforce, how they use it, why they use it, and when they use it. You’ll also learn about all the tools that you can use to customize Salesforce without code like Flow Builder, Lightning App Builder, and Formulas. You need this context to understand what to build and when to build, because it’s often better to use code as a last resort.

Platform Developer Beginner will teach you how to build when code is the only or best option for getting the job done. You’ll learn about how to customize the UI of Salesforce using Lightning Web Components and how to use Salesforce’s backend language Apex to extend the core platform and work with data. By the end of this trail, you’ll have a good idea of how the different parts of Salesforce’s development stack work together to give you the power to customize the platform to fit your organization’s needs.

Related resources

Build something

The best way to learn is by doing, so go build something! Don’t worry about building something complex or even realistic. Instead, try to build a Salesforce app that challenges you to use and integrate the core building blocks of the platform: Lightning Web Components, Apex, SOQL, DML, and the Salesforce CLI. It can be as simple as a to-do application.

You don’t have to start an app from scratch. The Salesforce Developer Advocacy team maintains a set of demo applications that you can download and test out in our GitHub repository. Download a project and make it your own by modifying or adding to it. Learning how to navigate existing projects is a great skill. After all, most development happens on existing projects rather than new ones.

Related resources

Join the community

The best part of developing on Salesforce is the Salesforce community. There are millions of Salesforce Developers, administrators, and architects who love sharing their expertise and learning from others online and in person through Trailblazer Community Groups. Trailblazer Community Groups are a great way to meet people at different points of their Salesforce journey, from newbies to certified architects and MVPs. Joining a community group can supercharge your learning, give you an opportunity to share your expertise as you develop it, and expand your network. Be sure to look for a community group in your area.

Related resources

Conclusion

Figuring out where to start can be difficult for a new developer, regardless of the platform, but a good roadmap can make it easier. Start with the basic concepts and get an understanding of the tooling. Take full advantage of the interactive Trailhead learning platform to kick-start your learning. Explore the GitHub sample applications to get familiar with a Salesforce codebase. Finally, start building and sharing with the broader community and you’ll be well on your way to becoming a Salesforce Developer.

About the author

Charles Watkins is a Lead Developer Advocate at Salesforce and a full-stack software developer focused on the core Salesforce Platform. You can find him on X.

Get the latest Salesforce Developer blog posts and podcast episodes via Slack or RSS.

Add to Slack Subscribe to RSS