
Master Salesforce development with an up-to-date, beginner-friendly curriculum that evolves with new modules, delivers hands-on major projects, and helps you earn certifications like Platform Developer 2.
Watch tutorials to grasp concepts before typing code, then replicate what you learn; adjust playback speed, bookmark tough modules, and use resources and Q&A to level up.
Understand how front end, back end, and database work together in a web application, with an application server processing requests and delivering content to the browser.
Explore web technologies for front end and back end, including HTML, CSS, JavaScript, frameworks like React, Angular, Vue.js, and databases like MySQL, PostgreSQL, MongoDB, with Salesforce web technologies.
Explore Salesforce front-end options from classic to lightning, and outline technologies such as visualforce, aura components, lightning web components, apex, workflow rules, visual flows, and how objects store data.
Learn Salesforce development from fundamentals to Apex without prior programming experience. Discover when to use configuration tools like Workflows, Process Builder, and Visual Flows rather than coding.
Explore declarative tools in Salesforce, including workflow rules, process builder, and visual flow, and understand their automation capabilities, limitations, and how Apex fits into the course focus.
Sign up for a new Salesforce developer edition org, translate to English, enable my domain, and set password never expires and a 24-hour session timeout for development use.
Explore code editors for Salesforce development, including Salesforce Setup, Developer Console, and VS Code, with support for Apex, Visual Force pages, Apex Triggers, Aura Components, and Lightning Web Components.
Write your first Apex program using the Developer Console's anonymous window, print 'Hello World' with System.debug, and learn to read debug logs to validate output.
Explore how apex prints 'Hello World' with system.debug, and learn about strings, variables, and the 6 MB heap limit in apex programs using the Developer Console.
Explore Apex primitive datatypes by defining variables and storing values like string, integer, boolean, long, decimal, double, date, time, datetime, blob, and ID, with null defaults.
Explore and apply string class methods in Apex, including capitalize, contains, toUpperCase, toLowerCase, split, trim, and isBlank for robust Salesforce development.
Learn how to escape characters in strings with backslashes, enabling single quotes and other symbols, and use escape sequences such as \n, \t, \r, \\, and the null character \o.
Learn to add single-line and multi-line comments in Apex to improve readability and help other developers understand your code, using double backslash for single-line and slash-star for multi-line comments.
Learn to store student roll numbers with apex lists, instantiate a list, and use add, get, set, remove, clear, and size, while understanding index basics and common errors.
Discover how the set datatype in Apex stores unique elements without indices, returns values by content, and supports add, contains, remove, size, is empty, and clear.
Explore the map datatype in apex, storing unique keys with values, using put to add, get to retrieve, remove to delete, and keySet and values to access keys and values.
Print all posts with their categories from SFDCFacts.com using a suitable datatype or collection, illustrating categories like Apex and Lightning.
Store Apex and Lightning posts in a map by category keys, and print them; learn that maps can store collections as values, while keys remain primitive.
Learn to declare constants in Apex using the final keyword; once initialized, a constant cannot be changed, as shown with Pi, and uppercase naming is recommended.
Explore how expressions produce values in Apex, including DateTime and list creations, and learn how the assignment operator moves those values from the right to the left-hand side of variables.
Explore the full range of Apex operators, from assignment and arithmetic to boolean logic and comparisons. Learn with practical examples on integers, strings, booleans, and ternary expressions.
Apply operators and expressions to split a bill with a tiered rate card. Charge eight for one slice, seven for two or three, six for more than three.
Build a pizza-slice pricing solution using constants for rate cards and a nested ternary operator to compute per-slice costs for Ross, Chandler, and Joey.
Discover how the safe navigation operator in apex prevents null pointer errors by safely accessing nested properties, using car?.engine?. horsepower as a one-line solution.
Learn how to use the null coalescing operator in Apex to assign default values when expressions are null, with examples updating opportunities using account website or a fallback.
Master datatype conversion in Apex by using valueOf methods to convert strings to integers for arithmetic, then convert the result back to strings with String.valueOf.
Explore how control flow directs Apex code with if-else and else-if conditions. Learn to define conditions, use boolean variables, and structure code blocks with curly braces.
Learn the Apex switch-when statement, which matches a single expression or variable to multiple values within a switch block, with unique when blocks and an optional else.
Learn to determine leap years with conditional statements in Apex, using Math.mod to test divisibility by four, hundred, and four hundred and decide leap status.
Implement a leap year checker using divisibility rules by 4, 100, and 400 to decide leap year status, illustrated with 2000 and 2200.
Explore Apex do-while loops by printing leap years from 1100 to 2000, learning loop execution, increment, and debugging to avoid cpu time limit errors.
Practice fizzbuzz with a do-while loop to print numbers from 1 to 100, using fizz for multiples of three, buzz for multiples of five, and fizzbuzz for multiples of both.
Write a do-while loop to print fizz, buzz, or fizzbuzz for numbers 0 to 100, using math.mod to check divisibility by 3 and 5, and fix the order for 15.
Explore the Apex while loop, its pre-check condition, and its contrast with a do-while loop. Increment a year from 1100 to 2000, observe leap year logic and debug logs.
Practice while loops in Apex to print the first 20 Fibonacci numbers, showcasing problem solving and logical reasoning.
Break down the Fibonacci challenge with three variables—current, previous, before previous—and a while loop to generate the first 20 numbers, printing the two initial values and updating the trio.
Explore how Apex for loops combine declaration, condition, and increment in one statement, using semicolons, and understand the scope and execution flow similar to while loops.
Print a triangular pattern using for loops, with a positive integer n determining rows and columns. Use only for loops, letting n grow the pattern from 1 to n.
Learn to generate a right star triangle using for loops, with nested loops controlling rows and columns, and build the pattern in a string before printing.
learn how the break statement exits a loop early when a condition is met, illustrated with a for loop and the goosebumps example, and applicable to while and do-while loops.
Master the continue statement to skip the current loop iteration and proceed to the next, with examples in for, while, and do-while loops using a days-of-week list.
Learn how the Apex for loop iterates over lists and sets with a simple loop variable and a colon separator, without explicit start, end, or increment.
Realize your developer skills by mastering core programming fundamentals—variables, operators, conditionals, and loops—that apply across languages, and begin exploring Apex with confidence.
Explore how the object oriented programming system defines objects with properties and behaviors, and how encapsulation, abstraction, inheritance, polymorphism, interfaces, and access modifiers shape Apex.
Create your first Apex class in Salesforce using the setup options, define a public HelloWorld class with a void printGreeting method, and print Hello World via System.debug.
Explore Apex access modifiers: private, protected, public, and global, and understand their scope for classes, variables, and methods, including outermost and inner classes and namespace access.
Explore Apex methods by declaring and defining syntax, mastering access modifiers, static or override keywords, return types and statements, parameters, and method overloading, with examples of global vs public.
Master Apex access modifiers for classes, methods, and variables with the new keyword. See how private data is encapsulated and accessed via public methods, and compare public versus global modifiers.
Explore parametrized methods that accept caller inputs and return values. Build a generic print message method to reduce duplication, and implement getDay using a switch to return a day name.
Explore polymorphism in Apex by understanding how multiple getDay methods with different parameters are selected at runtime, based on method signatures and parameter types.
Explore the static keyword in Apex, showing how static variables and static methods belong to the class, can be accessed without an instance, and may use a static block.
Learn Apex naming conventions to write readable code with case consistency, class names in PascalCase, variables and methods in camelCase, final constants in all caps, and valid identifiers.
Rewrite the bill-splitting logic using an Apex method named getBill in a Friends class, replacing duplicate code and enabling repeated calls for any number of slices.
Create a fitness class in apex with methods calculateBMI and calculatePace. Return BMI from weight and height, and pace in km/h from distance and time.
Explore how to implement static Apex methods to calculate BMI and pace, using weight in kg, height in meters, and minutes to hours, with debug output in the anonymous window.
Learn how class constructors work in Apex: default and parameterized constructors, how to overload and chain constructors, and how to use this to initialize data when creating an instance.
Learn how Apex initialization blocks initialize instance variables at creation, compare them with constructors, and explore static initialization blocks and multiple blocks executing in defined order.
Explore the Apex class lifecycle by wiring the execution order of static initialization blocks, initialization blocks, and constructors; observe that static blocks run first, followed by non-static blocks, then constructors.
Learn how inner and outer classes work in Apex. Create a company with a private inner client class, manage its customers by adding new ones, and print all customers.
Explore Apex annotations, including @deprecated and @InvocableMethod, to modify usage, enable methods in Aura and Lightning, and integrate with process builders and Visual Flows.
Learn how to test Apex code to catch bugs early and meet Salesforce's 75 percent code coverage requirement. Explore unit testing, test runners, and @isTest methods.
Learn to write a Salesforce Apex unit test with isTest, validate a parametrized constructor and methods, and achieve solid code coverage through positive and negative scenarios.
Learn why assert methods matter for testing beyond code coverage, by defining expected values. Use Apex asserts like assert equals and assert not equals to verify behavior, messaging, and polymorphism.
Explore how to design a test class for a fitness class in Apex, validating positive and negative behaviors for BMI and pace methods, and refining code to prevent failures.
Design and validate unit tests for BMI and pace methods in Salesforce Apex, handling zero and negative inputs, formatting results with set scale, and achieving 100 percent code coverage.
Explore upcoming topics in Apex test classes, including test setup, test.startTest and endTest lifecycles, and seeAllData = false, as we advance through Salesforce data concepts.
Explore the new Apex assert class introduced in Winter 23, and learn to use its methods for equality, true/false checks, type checks, and null checks to improve test readability.
Explore how Salesforce stores data persistently in the account object and its fields. Learn to query records with SOQL in the developer console to retrieve and work with account data.
Explore SOQL, the Salesforce object query language, by building queries with select and from, selecting fields from account and lead objects, and understanding field names versus labels.
Learn to filter lead records with SOQL using the where clause, combining and/or conditions and grouping with parentheses for status and lead source.
Master the IN keyword in SOQL to match multiple lead statuses efficiently, and learn when LIKE with wildcards and case-insensitive matching suits partial text, noting LIKE can degrade performance.
Sort records with the SOQL order by clause in ascending or descending order by fields such as name, company, or created date; use nulls first or last for null handling.
Discover how to use SOQL with LIMIT and OFFSET, order by created date in descending order, and fetch the latest or a specific subset of lead records.
Learn how to use SOQL operators—from equals to not equals, less than, greater than, like, in, and not in—using quoted values, with most operators case sensitive and like case-insensitive.
Master date and datetime fields in SOQL by formatting values and using date literals such as today, yesterday, and last N days to simplify queries.
Write a SOQL query for Salesforce contacts, displaying name, title, phone, email; add department, filter for VP technology and finance, include SVP and VP, sort by name descending, limit three.
Solve a Salesforce SOQL challenge by retrieving contact records, selecting name, title, phone, and email, filtering by VP and SVP titles, adding department, sorting by name, and applying a limit.
Learn in the complete salesforce development course how SOQL queries cross related objects, via parent-to-child and child-to-parent relationships, with school and company examples.
Learn parent to child relationship queries in Salesforce using SOQL, fetching child records via a subquery and the relationship name, and remember one level deep and a 20 object limit.
Explore child-to-parent soql queries, fetch parent fields from a child record using the relationship name, traverse up to five levels, and handle custom object lookups such as author __r.
Master advanced soql relationship queries across account, contact, and case objects, filter by hot accounts and technology departments, retrieve contact details and open case data, and sort by contact name.
Build a multi-step SOQL solution to retrieve contact name, department, and title, fetch related cases and account details, filter for hot accounts with open cases, and sort by contact name.
Learn to mix soql and apex to retrieve account and book__c data, assign results to lists or maps, and access fields with the dot operator in debug loops.
Learn to use a soql relationship query in apex to fetch contacts with their parent accounts and child cases, iterate over results, and print contact, account, and case details.
Learn how to use Apex variables in SOQL with bind variables, using colon syntax in where clauses and in limit and offset, to keep queries concise and readable.
Build dynamic SOQL queries at runtime in Apex with database.query, adjusting fields and where conditions based on account class, and verify results via debug logs.
Discover how to use SOQL bind variables with a string-to-object map to filter leads by source and industry, supporting user or system mode and simplifying multiple conditions.
Explore five-level deep parent-to-child relationship queries in Salesforce, querying accounts and their related contacts, assets, work orders, and work order line items, with hands-on code and debugging examples.
Explore data manipulation language (DML) in Apex for Salesforce, covering insert, update, delete, and undelete with a movie object and unique Ids for row identification.
Insert account records with apex using insert or database.insert, define field values, and verify via SOQL, then build an account controller with insert, get all, print, and size methods.
Explore how debug logs show the difference between inserting accounts individually versus in a list, highlighting DML statement counts, row counts, and Salesforce governor limits (150 per transaction).
Discover the difference between dml statements and database.insert: dml transactions commit or roll back as a whole, while database methods allow partial success with AllorNone and return a result set.
Learn how to perform update operations in Apex by locating an account with SOQL, using the account controller to update fields with a valid Id, and understanding allOrNone options.
Learn to delete and undelete records in Apex using delete and undelete DML statements, query with all rows and isDeleted true to restore five test accounts from the recycle bin.
Explore Apex datatypes from primitive to SObject, including lists, sets, and maps, and learn how standard and custom objects function as datatypes with SObject behavior and SOQL examples.
Learn to work with generic SObject instead of custom objects, use the get method to fetch field values, and properly typecast to string or decimal for dynamic Apex.
Retrieve author information for a book by using the get SObject method with the author__r relationship, then access the author name.
Learn to retrieve related child SObjects with getSObjects in the SObject class, returning a list of SObjects from a parent SObject, such as contacts for an account.
Create a new account SObject using the generic SObject and Type.forName, set fields with put, and insert the record with DML to extend the org from 13 to 14 accounts.
Master dml operations by creating an account and related opportunity, updating to qualification and closed-won, and deleting then undeleting records, while exploring the account-to-opportunity parent-child relationship and generic SObject usage.
Explore hands-on Salesforce development by creating and linking accounts and opportunities, performing DML operations like insert, update, delete, and undelete, and using SOQL to manage records and the recycle bin.
Explore how Apex handles exceptions, from math and DML errors to null pointer and SOQL exceptions, and how the throw keyword can control transactions.
Learn to handle exceptions with try, catch, and finally blocks, catch multiple exception types, and ensure cleanup so code continues after errors.
Explore the common Apex exception methods, including getCause, getLineNumber, getMessage, getStackTraceString, and getTypeName, to identify exception origins and support logging.
Create a custom Apex exception by extending the built-in exception class, define a process exception, and throw it to test handling with try, catch, and finally during debugging.
"The only thing standing between you and your goal is the story you keep telling yourself as to why you can't achieve it." – The Wolf of Wall Street
"The Complete Salesforce Development", a course designed for all who aspire to become a Salesforce Developer.
Whether you're new to programming and feeling overwhelmed, take this course. If you're an experienced pro looking to level up, take this course. If you're a student, recent grad, Salesforce admin, or IT professional, take this course. This is:
"ONE COURSE TO RULE THEM ALL"
The course is designed for all experience levels. You will start from ground 0 and in no time, you will summit the very peak of Salesforce Development.
You will learn all the nasty backend stuff (Apex Development) and all the cool frontend stuff (Lightning Development).
While climbing the Salesforce Development peak, you will face many challenges (60+ Challenges) and real-time projects to help you build that muscle memory and make you a proficient Salesforce Developer.
This course is designed to make you better than 90% of experienced Salesforce Developers. Bold claim? Absolutely, but I stand by it, backed by my teaching experience and the success stories of my students. Here’s how your journey will unfold:
Crawl – We’ll start with the basics: Web Application Fundamentals. You’ll learn how the web works, what applications are, and the difference between frontend and backend. This foundation sets you up for everything that follows.
Walk – Next, we dive into Salesforce Apex Development. From variables and data types to more complex topics, we’ll build your skills step by step. Each lesson is paired with challenges to hone your problem-solving abilities.
Run – Now, you're picking up speed, reaching the level of experienced Salesforce developers. You’ll master advanced topics like Apex Triggers, Lightning Component Development, and Salesforce Async Apex. Most developers stop short of these skills, but NOT YOU.
Fly – Finally, it’s time to soar ahead of the competition. How? With the boss-level challenges in this course! As a Salesforce Developer with experience from Salesforce, Google, and Amazon, I’ve wrestled with these challenges myself. I can confidently say that 90% of Salesforce Developers won’t nail these problems on their first try. Feeling intimidated? Don’t worry—every concept and challenge comes with detailed, step-by-step solutions to guide you through.
Get ready to transform your Salesforce skills and leave most developers in the dust!
It's impossible to capture everything this course offers in just a few words, but here are some major highlights:
Web Application Architecture
Apex Programming Fundamentals
Salesforce Lightning Fundamentals
Advanced/Dynamic Apex Development
Apex Triggers
Async Apex Development
Apex Unit Testing / Apex Tests
Salesforce Lightning Development (Aura Framework) with 2 big Projects
SOQL - Salesforce Object Query Language
Database Manipulation in Salesforce
Exception Handling in Apex
Code Bulkification in Salesforce
Order Of Execution in Salesforce
Salesforce Apex Governor Limits
Object-Oriented Programming System
Different Tools to Write Salesforce Code
Salesforce Lightning Design System (SLDS)
Quarterly Release Updates
15+ Projects
Bonus Crash Courses to Interview Preparations and Rapid Learning
The course can be very helpful for Platform Developer I and Platform Developer II aspirants as well, as 90% of the topics on these exams are covered in the course.
You can also opt for this course if you want to learn Apex Development or Salesforce Lightning Development, the course has it all.
This course is offered by SFDCFacts Academy, renowned for top-quality Salesforce content, and taught by Manish Choudhari, an Amazon Senior Software Engineer and ex-Google, ex-Salesforce professional. With over 100k students worldwide and multiple "Bestseller" and "Highest Rated" courses on Udemy, you're in expert hands!