Home » How to become a Salesforce developer

How to become a Salesforce developer

  • by

We all know Salesforce as a very popular CRM application, but it also is a very powerful development platform. Out of the box Salesforce provides all the necessary developer tools and frameworks to build custom applications which can be tailored for any type of business use case. To become a Salesforce developer we need to learn about these tools.

Apart from programmatic tools, Salesforce also provides tools to build applications non programmatically or “declaratively” as it is called in the Salesforce ecosystem. Apart from that Salesforce also provides capabilities to build mobile applications but that will be discussed in a later post. Today we will only focus on the programmatic capabilities provided by the platform to create web based applications.

If you still don’t have a Salesforce developer org, you can check my post “How to create a salesforce developer org” by clicking here.

To build a Salesforce web based application, the development tools are as follows.

  • Developer Console
  • Server side technologies
  • Client side technologies

Lets try to understand these in detail

Developer Console

Salesforce provides a very powerful all in one cloud based IDE directly in the org. It is called developer console. I can be opened by clicking the “Developer Console” link in the menu which opens on clicking the wheel icon on top right of the page.

developer console

The developer console can be used to create new classes, pages, open existing ones, run queries. In short it is a very powerful tool and can take care of all your development needs and I definitely recommend it to developers who are just starting on the platform. Once you gain confidence in using the developer console, you can move to additional tools like VS Code with Salesforce plugin for your development needs.

dev console ui

Server side technologies

APEX

Apex is the server side programming language of Salesforce. By server side, I mean that the Apex code is executed on the Salesforce server. Apex is an object oriented programming language and supports concepts like abstraction, encapsulation, inheritance etc. It is very similar to JAVA programming language. If you know JAVA, it would be very easy for you to switch to Apex. Generally speaking, if you know any object programming language like JAVA or C#, you will not face any difficulty in switching to APEX. A simple APEX class will look like as follows.

public with sharing class DemoApexClass{

    private String userName;

    public DemoApexClass()
    {
        userName = 'Sandeep';
    }
    
    public String getUserName()
    {
        return userName;
    }

}

Salesforce has provided a very detailed developer guide for APEX which can which you can access by clicking here.

SOQL

Salesforce Object Query Language or SOQL is a query language provided by salesforce to query data from Salesforce. SOQL in Salesforce is equivalent to SQL in relational databases. Before we talk about SOQL, we need to understand what are “Objects” in Salesforce. Objects in Salesforce are what tables are in relational databases like Oracle. When we say Account or Opportunity object in salesforce we basically mean Account or Opportunity tables but we do not use the term table. For eg. if you create an Account in salesforce, a record is created in the Account object. With objects, SOQL comes into the picture. SOQL is used to query records for Salesforce objects. We can quickly modify the class mentioned above to query a list of all Accounts in the org.

public with sharing class DemoApexClass{

    private List<Account> accounts;

    public DemoApexClass()
    {
        accounts = [Select Id, Name From Account order by createddate desc];
    }
    
    public List<Account> getAccounts()
    {
        return accounts;
    }

}

You can check the Salesforce SOQL guide by clicking here.

Client side technologies

Visualforce

Visualforce is the technology provided by Salesforce to build webpages. For people building JAVA web apps, this is similar to JSP pages. Using Visualforce, developers can build all types of web pages, ranging from very simple to very complex. Visualforce uses a model view controller design pattern where each page requires controller to fetch data from Salesforce to render on the page. Visualforce supports all html tags along with custom Salesforce tags. These days Visualforce is considered an old technology in Salesforce as newer technologies like Lightning Web Components(LWC) have been introduced by salesforce. A simple Visualforce page using the controller mentioned above and showing a list of Accounts is shown as below.

<apex:page controller="DemoApexClass">
    <apex:pageBlock title="Account List">

        <apex:pageBlockTable value="{!accounts}" var="acct">

            <apex:column value="{!acct.Id}"/>
            <apex:column value="{!acct.name}"/>

        </apex:pageBlockTable>

    </apex:pageBlock>
</apex:page>

The Visualforce page will render a list of all the Accounts in an org as shown below.

vf page

You can check the Salesforce Visualforce guide by clicking here

Lightning Web Components (LWC)

LWC is the latest technology introduced by Salesforce and is based on the latest web standards. It uses the web component design model to build reusable components and uses concepts like Shadow DOM, Virtual DOM to build modern web components. Using LWC you can break a webpage in small manageable chunks or components which can be reused at multiple places. Though not completely accurate, but for understanding purposes, you can consider LWC as the REACT framework of Salesforce. Salesforce is using LWC to build its own features and is encouraging developers to use LWC going forward.

To become a good Salesforce developer you will need to have a good understanding of LWC development model. This will also increase your job prospects as almost all Salesforce developer roles require knowledge of LWC. Unfortulately we cannot use the Developer Console to build LWC components and instead need VS Code along with Salesforce plugins. Will till talk about these in another post.

You can check the salesforce LWC developer guide by clicking here.

With this I conclude this post which gives a brief overview of development technologies provided by Salesforce. I did not mention technologies like Aura components and apps as these are no longer actively promoted by Salesforce and have been replaced by LWC.

Bonus Tip

Salesforce has built an exceptional learning platform called Trailhead. You can be a complete beginner in Salesforce ecosystem or an experienced professional, but you will always find something new to learn here. Click here to check trailhead and start learning.