Salesforce coding lessons for the 99%
Finally, Apex tutorials for point-and-click admins! Written by a self-taught Google engineer.
  • Beginner Tutorials
    • Apex
    • Certifications
    • Career Info
    • Technical Architect
    • Visualforce
    • Videos
  • Apex Academy
  • Success Stories
  • About Me
  • Misc
    • Mailbag
    • Challenges
    • Links
    • Login to my Org
Follow @dvdkliuor SUBSCRIBE!

The Apex Academy is now LIVE!

January 15, 2016

Students, you’ve waited long enough!

The first Apex Academy course is now LIVE!

Join the Apex Academy and let me be your mentor. I will personally guide you through all the lessons you need to learn to become an expert Salesforce developer.

No more open-ended tutorials. No more uncertainty over whether you’re on the right learning path. No more supplementary Head First Java books! I’ve designed this academy to be the only resource you need to become a Salesforce developer.

We start from scratch and assume you’ve never coded before!
Real-world Salesforce examples drawn from my experiences working in over 50 different Salesforce orgs, including Google’s!
In-depth Apex tutorials that go deeper than anything ever written. Through video, voice, and exercises, I teach you how, and more importantly, why!
Yes, there is homework!

The Apex Academy is my legacy in this world. I’ve worked so hard, and sacrificed so much already to make it. This academy HAS to be perfect. I believe if you work hard enough on a goal and pour all your heart into it that you can create a masterpiece. The Apex Academy is my masterpiece to you and I will do everything it takes to make sure you achieve your goals through it!

Start your journey to become a Salesforce developer and join the Apex Academy!

Frequently Asked Questions

What’s covered in the first course?

Who can code in Salesforce!
…is coding really for me?

What you can code in Salesforce!
…what are the different coding and non-coding technologies?

When to code in Salesforce!
…where do I draw the line between coding and not coding?

Where to code in Salesforce!
…what’s the best coding editor to use?

Why to code in Salesforce!
…what are the benefits I can expect?

How to code in Salesforce!
…loads of triggers and test class tutorials!

Don’t be fooled by the introductory nature of this course. We go DEEP into concepts. At the same time, I go slower than I normally do in SFDC99 to make sure everything’s crystal clear. That’s why the first course is so long!

Will you be providing scholarships to the Apex Academy?

Yes, I’ll do my best!

If you’re a veteran, or, if you’re just going through tough times, email me at sfdc99.mailbag@gmail.com and I’ll do my best to provide for you. I have a limited number of scholarships but at the same time I don’t want money to stop you from achieving your dreams!

I’m interested in getting a subscription for my whole team at work – how can I do this?

Smart move – there are many benefits to a corporate subscription at PluralSight!

Email me at sfdc99.mailbag@gmail.com and I’ll get you in touch with a PluralSight contact!

What’s next for the Apex Academy?

I’ve already started designing the next course!

From here we go deeper and deeper into the critical Apex knowledge you need to know to be a high-performing Salesforce developer.

And after a few courses, I plan to teach you how to pass certifications!

See you in class, students!

David

65 Comments
Hari H Radhakrishnan
April 9, 2016 @ 11:58 am

Awesome !!

Reply
Lavanya
February 2, 2016 @ 6:28 pm

Hi David,

Thanks a lot for this wonderful course. I really enjoyed it. Waiting for Course#2.

Reply
    David Liu
    February 2, 2016 @ 8:26 pm

    Thank you Lavanya!

    Reply
MurthyRaju Alluri
January 31, 2016 @ 7:47 pm

David,
I have Windows 10, got below error while installing Mavens mate, look like sublime text 3 still not supporting windows 10
any thoughts?? I did try restarting and it didnt work.

The local MavensMate server did not respond properly. This likely means it is not running or it is malfunctioning. Try restarting your text editor and MavensMate.app.

Appreciate your reply.

Murthy

Reply
    Anonymous
    January 31, 2016 @ 7:59 pm

    Check out some of the comments here – some other Windows 10 users successfully installed it:
    https://app.pluralsight.com/library/courses/apex-absolute-beginner-guide-coding-salesforce/discussion

    Reply
bbhuyan
January 29, 2016 @ 2:24 pm

Hi David,

Thanks a lot for the wonderful course on apex. I have really enjoyed it.

I have a very simple question on apex which I have not figured out yet. How do you organize the apex classes for a project? In real world project we usually expect to have 100s of classes and its corresponding test classes. If all the classes are added in the same folder how can we find a particular class. And it will be going to become worse as the project continues to grow in the future.

I am looking for a solution similar to folder structure to organize the classes we do on .NET and Java.

I would like to get some details how you actually handle this in your projects.

Thanks,
Bikram.

Reply
    David Liu
    January 31, 2016 @ 3:59 pm

    Great question!

    Sadly, Salesforce doesn’t have any concepts of folders for Apex classes. What most orgs do is use special naming conventions that sort logically when sorted alphabetically.

    For example, instead of a folder named “Practice”, you might name your classes like this:
    Practice_Class1
    Practice_Class2

    Hope this helps!
    David

    Reply
Andy Sturt
January 27, 2016 @ 8:33 am

Thanks for Apex Academy. I’ve been working through the workbooks and Trailhead and your training on PluralSight is a huge benefit.

Reply
    David Liu
    January 27, 2016 @ 10:43 pm

    Thank you Andy!

    Reply
Rushabh
January 26, 2016 @ 6:53 am

Hi David,

Anxiously waiting for the next set of video tutorials from your end, None teaches like you.. I have myself tried many options, but when it comes to teach coding practices, not many would be able to match your standards. When can we expect the next set?

Regards,
Rushabh

Reply
    David Liu
    January 26, 2016 @ 7:31 pm

    Working out the plan right now – will be ~2 months!

    Reply
Justin Mitchell
January 23, 2016 @ 9:06 pm

Just finished this module. Sooo good. I really enjoyed it. I feel so empowered! The pacing was just perfect for me, and I really appreciate that you basically explain every line of code. I am really looking forward to the next module. Do you have any idea when it will be available? Also, any suggestions for practice exercises for my newfound skills? I want to keep sharpening what I’ve learned.

Reply
    David Liu
    January 25, 2016 @ 10:59 pm

    Thank you Justin!

    I recommend checking out the variety of other Salesforce courses on Pluralsight to stay sharp!

    Here’s what I recommend by topic:
    Careers: Career Strategies and Opportunities for Salesforce Platform Developers by Dan
    General: Force.com Platform – The Big Picture by Don
    Apex: Force.com and Apex Fundamentals for Developers by Dan
    Visualforce: Introduction To Visualforce by Matt
    Javascript: Anything on Javascript really!
    Advanced Coding: Force.com Design Patterns – Part 1 / 2 by Adam

    I’ve actually known all of these authors in person well before I started on Pluralsight, and I can safely say they all know more about Salesforce than I do!

    Cheers!
    David

    Reply
      Json! :D
      January 27, 2016 @ 6:19 pm

      this comment is saved! very rare information compiled in one comment :D thanks!

      Reply
Satya
January 21, 2016 @ 8:23 pm

whenever I learn something from you I feel myself as “Ekalavya”(is a character from the epic Mahābhārata) ,who learns archery in the presence of a clay image of Drona(who is his teacher) . March ending is my target to hit the job market. Your academy tutorials are giving me so..much strength n confidence. Wish me good luck David :)

Reply
    David Liu
    January 25, 2016 @ 11:00 pm

    Good luck Satya, the “Ekalavya”!

    Reply
Cata
January 21, 2016 @ 1:25 am

Great work. Thanks! Those interested in installing MavenMate on Fedora/Redhat/Centos can build a .rpm Sublime Text 3 package by following the steps at https://github.com/danielkza/sublime-text-rpm After building and installing the package just follow Dan’s instruction to add MavenMate to Sublime Text 3. Hope this helps.

Reply
    David Liu
    January 25, 2016 @ 11:00 pm

    Thank you Cata!!

    Reply
Chris B.
January 19, 2016 @ 7:27 am

Great tutorial David!! Thank you so much for what you do for us in helping us master SFDC!! Hungry for the next course!!!!

Reply
    David Liu
    January 19, 2016 @ 7:39 pm

    Thank you Chris!

    Reply
      Suku
      January 25, 2016 @ 8:38 pm

      Hi David, I have done lot of studies, but have never found such clear and easy method of teaching/understanding. Your passion and hardwork shows in these courses!! If courses are taught like this, there is no course/level which will not be fun and easy.
      I have never enjoyed and understood more in my entire education, keep in mind it includes spending thousands of dollars for getting degrees.
      THIS IS A MUST JOIN COURSE FOR ANYBODY WHO IS DOING SALESFORCE (TO REINFORCE) OR WANTS TO BE A DEVELOPER IN SALESFORCE. i HAVE NEVER SEEN OR EXPERIENCED ANY THING LIKE THIS.

      David, I have said in the past and repeat, you are an angel, and the best representative Salesforce can have(they should honor you for this service).
      You are touching lives, and creating careers, Please keep in mind, the good wishes and blessings you are getting from people (only a fraction comment, rest give them in their heart everyday). You are earning and have earned so many blessings and good wishes, which normally take more than a couple of lifetimes……….

      KEEP UP THE GREAT WORK AND GOD BLESS!!!!!!

      Reply
        David Liu
        January 25, 2016 @ 10:56 pm

        Wow Suku!!

        What can I say, you are a wonderful student =) That’s all a teacher can really ask for =)

        Thank you for the kind words Suku and I hope you continue to find success!

        David

        Reply
Ben Olsen
January 18, 2016 @ 9:44 am

Finished this first set last night. Thank you so much for your hardwork. What are the next steps for us who can’t wait for the next video and want to keep up our new skills? Hope to see you at snowforce in slc.

Reply
    David Liu
    January 18, 2016 @ 10:55 am

    I recommend checking out some of the other Salesforce videos on PluralSight! =)

    Reply
SSK
January 18, 2016 @ 6:13 am

Hi David,

Just found onething.

#Demo : Dedupe This Lead Trigger.

while creating new case in the Account object, I dont have user “intern Joe” ( as you mentioned in this video)
So I used like below

c.OwnerId = acc.OwnerId; // using same Owner id for the Account.

Thanks to make my hand dirt.

Reply
    David Liu
    January 18, 2016 @ 10:56 am

    Great job SSK =)

    Reply
Senthil Kumar Subramani
January 18, 2016 @ 1:33 am

Tons of Thanks David….

Finally the day came, I am currently watching your videos, i already completed most of the content in SFDC99(without browse sdfc99 everyday, I never closed my browser).

you gave me lots of confident, I start trusting myself, your voice are very clear and slow, Its directly entering into my mind.

Thanks again, going to continue the videos…..

Senthil

Reply
    David Liu
    January 18, 2016 @ 10:56 am

    woohoo!!

    Reply
Tazur Rahman
January 16, 2016 @ 3:18 pm

Trigger editor…that variable l had me confused with 1. Oh my Lord. Thankfully you mentioned it’s L, or I was having your double comma, single comma moment. Lol

Reply
Sofiya
January 16, 2016 @ 1:20 pm

Hello,
After watching the course – decided to leave my feedback: even thought it’s for beginners – the best practices can’t be ignored.
1. Trigger per functionality – that is definitely not a good practice.
2. Code in trigger – not a good practice.
3. Variable names like l/t – not a best practice in any language
4. Insert in a loop – teaching beginners how it should not be done
5. Not a single assert in a test – what is the added value of the test – just to have 100% coverage for the deployment?
6. No start/stop test?

As some points may require more experience – mentioning the best practice is a must.
Best regards,
Sofiya

Reply
    David Liu
    January 16, 2016 @ 2:20 pm

    Hey Sofiya,

    Give yourself some credit, you’re too advanced for this introductory course!

    Much like how a beginning Java course wouldn’t discuss best practices such as the Singleton or Factory design patterns, I wait a little bit until introducing the more advanced best practice concepts.

    Certainly will cover these topics in later courses, just as I do in the later chapters on this site!

    Thanks!
    David

    Reply
      Sofiya
      January 17, 2016 @ 10:09 am

      Being certified Advanced developer I’m still trying to find time to check available materials on Force.com programming (including materials for beginners). Man may never know what important bit one might have missed :)

      When I started as SFDC developer I had no technical background – only some experience in manual testing. So I know how it is to be a total beginner and how this kind of information is being percepted: once you learn smth in a wrong way from the beginning it’s very difficult to get rid of bad habits in programming.

      The idea is not to overload with complex information, but on the other hand not to lead by a bad example.
      That is why I decided lo leave my feedback, that some moments are worth being reconsidered:
      – an introduction sentence that it’s only for simplification code is being written directly in the trigger
      – an example where dml won’t be in a loop (either add the list or if you consider it’s too complex for a beginner – then maybe find another example)
      – proper: short, but self-explanatory names of the variables
      – one simple assert in each unit test

      Best regards,
      Sofiya

      Reply
        David Liu
        January 17, 2016 @ 10:54 am

        Hey Sofiya!

        I agree that the “advanced up front” teaching methodology works, especially for a hardcore and dedicated individual.

        The teaching methodology I take is similar to how you learn to ski, and it caters to a more widespread crowd with different backgrounds and motivations.

        The analogy is when you first learn to ski you’re taught the “pizza” methodology, which means you shape your skis like a pizza to help turn and slow down.

        You never see professional skiers using pizza under any circumstances. However, pizza is methodology of choice for most schools because it lets students have early success, enjoy their time on the slopes, and build confidence so that they can tackle advanced techniques when the time is right.

        My goal is to teach pizza in course 1, french fries in course 2, and alpine skiing in course 3 and beyond =)

        Promise you’ll find all the best practices in those courses, straight from my experiences at Google and other enterprise Salesforce orgs!

        David

        Reply
    Winnie
    January 17, 2016 @ 9:20 pm

    Hi Sofiya,

    I’m an aspiring SFDC admin/dev. I’m a beginner and would love to get some guidance from you to lead me toward success with Salesforce.

    Sincerely,
    Winnie

    Reply
Sergey Erlikh
January 16, 2016 @ 12:02 pm

There is a magic in your passionsed lessons, David, they are really inspiring. I think, you should create a motivational poster as add on to the course :) Please keep going, when do you plan to finish a second course (approximately) ???

Reply
    David Liu
    January 16, 2016 @ 12:04 pm

    Thank you Sergey!!

    Course 2 still in design phase, I expect it to take about as long as course 1! So give or take 2 months.

    I also expect course 2 to be a little longer as we’ll be going deeper into technical concepts!

    David

    Reply
      Richard C
      January 22, 2016 @ 10:39 pm

      Hi David, I wish I can get as many modules from you before my 6 mos free subs runs out this June! I’m almost done with your course, I feel empowered already!

      Reply
Travis
January 16, 2016 @ 10:12 am

David,
Thank you for this first course, I can’t wait for the next one! I must confess that I have been teaching myself Apex and Visualforce by Googling and reading the Salesforce publications. I have been able to make things work, but after watching your first course it became abundantly clear that I was doing things the WRONG way. I was getting into some very bad habits but thanks to your tutelage, I have changed my ways… I’m actually starting to love writing test classes (wow, can’t believe I said that). Also, I absolutely love your meticulous nature when it comes to keeping your code clean… It gives me some kind of satisfaction that I can’t describe.
You have a real talent for teaching and the community thanks you for sharing your knowledge.

Reply
    David Liu
    January 16, 2016 @ 12:07 pm

    LOL the thought of getting you to love test classes makes my day!

    Thank you Travis, more best practices coming soon!! And more OCD code cleaning!

    Reply
Jose Claramunt
January 16, 2016 @ 1:58 am

Your’e a legend Dave! I think we are all very proud of you :)

As soon as I setup a schedule, you’ll see me listed as one of your many (surely many, many more to come) students.

God bless you bro!

Reply
    David Liu
    January 16, 2016 @ 12:12 pm

    Hey Jose thank you and hope your job is going well!

    Reply
Ritzy
January 15, 2016 @ 12:54 pm

I am so excited about this David! Thanks again…

Reply
Tazur Rahman
January 15, 2016 @ 12:44 pm

“I will teach you the art of Apex and you will be exceptional!” – David Liu (Apex Academy Promise)

What’s in it for me – Personally the best segment of this course. Great work, honestly am so hyped for this course. May God bless you abundantly.

Reply
    David Liu
    January 16, 2016 @ 12:24 am

    Thank you Tazur =)

    Reply
Chris
January 15, 2016 @ 10:25 am

Just signed up

Reply
Tim Andrews
January 15, 2016 @ 9:42 am

Is anyone else having buffering problems with the Pluralsight site? I can get to the lessons but the video fails to load…

Reply
    Tod Gentille (@TodGentille)
    January 15, 2016 @ 11:12 am

    Reach out to support@pluralsight.com or call 801 784-9007. We have noticed some IE11 issues and we’ve been helping users on a 1:1 basis.

    Reply
    Anonymous
    January 15, 2016 @ 11:22 am

    I did not have that issue. My videos are loading perfectly fine.

    Reply
    Tazur Rahman
    January 15, 2016 @ 12:55 pm

    Yeah, getting load issues here, “Uh Oh, the video has failed to load”. However, it works when you refresh the page. Using chrome browser.

    Internet connection speed is 16down 6up, more than adequate.

    Reply
Tazur Rahman
January 15, 2016 @ 9:20 am

“IT HAS BEGUN!” – Shang Tsung (Terrible Mortal Kombat (once was great) movie)

Reply
    David Liu
    January 16, 2016 @ 12:24 am

    Love that movie too! Awesome music LOL!

    Reply
Anonymous
January 15, 2016 @ 9:07 am

Thanks David for all the hard work on the course

Reply
    David Liu
    January 16, 2016 @ 12:25 am

    My pleasure (really)!

    Reply
Dustin Russell
January 15, 2016 @ 8:33 am

Just watched the “What’s in it for me” portion;- very excited to dive into this over the weekend! Thanks again for putting this together, David!

Reply
Nimesh
January 15, 2016 @ 8:30 am

Yaay

Reply
Sam
January 15, 2016 @ 8:26 am

YESSSSSS I haven’t commented on any of your posts yet, David. But I am so happy this is here. I’ve been waiting impatiently ever since you first announced that you’d be creating a course that’s exceeding your own expectations!

I even set a google search alert for “sfdc99.com pluralsight!”

Here’s an excerpt from an email to my CEO when I requested that the payment for pluralsight be company sponsered:

“I found out about the promotion from a blog called sfdc99.com which is a website authored by David Liu, a well known figure in apex programming.
David has put quality tutorial videos up on his website and YouTube for free and often his blog pops up as the first Google result for many Salesforce questions.

What I’d use PluralSight for:

David Liu has announced that he will have the first of a three part series on apex up on PluralSight by Christmas time. I’m confident that the quality of his videos will be very high and will make apex programming much easier to learn.”

Thank you David! I will learn much from your masterpiece!

Reply
    Tod Gentille (@TodGentille)
    January 15, 2016 @ 11:22 am

    And hopefully you’ll find lots of other courses on Pluralsight that will help you do your job better and faster. In addition to all the courses we will be seeing from David, we have courses from other Salesforce MVPs and authors like Dan Appleman, Richard Seroter, Matt Lacey and Adam Purkiss. Plus if you’re interested in Lightning we have TONS of content on all things JavaScript. Once you start digging into our curated library of 4,000+ courses it’s hard to stop. :)

    Reply
    David Liu
    January 16, 2016 @ 12:26 am

    Awww, thank you Sam! I will help you make your CEO proud! Let me know how it goes!

    Reply
Rain
January 15, 2016 @ 8:01 am

This is awesome!
Thank you for doing this!

Reply
Norm Copeland
January 15, 2016 @ 7:56 am

Can’t wait to get started! Thanks for your hard work on the course.

Reply
Anonymous
January 15, 2016 @ 7:52 am

Thanks David

Reply
Chris B.
January 15, 2016 @ 7:48 am

WHOO HOO!!!!! Super excited to get this under my belt, thank you so much David, you rock brother!!!!

Reply
Naveen Choudhary
January 15, 2016 @ 7:44 am

Thanks David

Reply
Anonymous
January 15, 2016 @ 7:42 am

Thanks a lot. David!!!

Reply
Toni
January 15, 2016 @ 7:39 am

Great! Just bookmarked in PluralSight…

Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *


*

*

Theme: Simple Style by Fimply