BlogMarch 31, 2023
7 Tips for Salesforce Admins Pursuing a Custom Development Skillset
Key Takeaways from CapTech’s TrailblazerDX Campfire Session
Earlier this month, we joined fellow Salesforce architects, administrators, and developers in San Francisco for the annual TrailblazerDX conference. The conference brought experts from across the Salesforce ecosystem together to share insights and spark innovation to help build success.
I was honored to share my own insights at a campfire session discussing tips for Salesforce administrators looking to pursue a Salesforce development skillset. Learning to read and write code without a computer science or developer background can be difficult, but I shared several tips and lessons learned from my own journey.
TIP #1: Understand Declarative Automation First
This goes beyond just being able to build a flow. It also requires having a firm grasp of not only how to utilize flow, but also the best practices, limits, and architectural considerations behind that use. Having an understanding of declarative automation will make you a stronger admin and developer. It will also make it easier to make progress in learning Salesforce custom development because there is already familiarity with considerations that also apply to flow.
There are many aspects of declarative development that also apply to custom development. Below are a few examples:
- Not putting DML elements inside loops
- Avoid hardcoding IDs
- Eliminating unnecessary over-use of DML statements
- Creating tests for Flows and Apex Classes
- 150 DML statements per transaction
- 100 SOQL queries per transaction (synchronous)
- Not having more than one record-triggered flow firing on the same object in the same context
- Designing for reusability
- Sub-flows within Salesforce Flow
- Reusable methods within Apex
TIP #2: Find a Mentor
A mentor can provide you with critical guidance throughout your journey and is a great resource to ask about best practices, consult on career advice, and discuss concepts with which you may be struggling. However, finding a mentor can be easier said than done, especially if you are part of a small Salesforce team or are the only Salesforce resource at your company. Below are some options for finding mentorship outside of your company:
Local Salesforce Community Groups
Many cities have local Salesforce community groups for various skillsets within the Salesforce ecosystem. For example, many cities have local admin or developer groups that allow local Salesforce professionals to connect. These groups often have regular events for their members, including networking events and scheduled presentations. Getting involved in a local Salesforce community group is the best way for individuals to connect with other Salesforce professionals outside of their company.
There are several companies that offer one-on-one and career mentorship programs for Salesforce. Salesforce itself has a Trailblazer Mentorship program; there is an application process for those who are interested in receiving mentorship, as well as those interested in becoming a mentor. Outside of the Trailblazer Mentorship program, there are other third parties that offer paid mentorships as well.
TIP #3: Use Certification Study as a Guide
Certification study can help you understand the categories that you should know for a specific area within Salesforce, while preventing you from missing important building blocks. This is also a helpful tool for tracking and visualizing your progress.
Depending on how far along you are in your Salesforce journey, there are multiple certification paths that are worth considering. As mentioned, it is highly recommended that any pursuit of a custom development skillset is built upon a solid foundation of knowledge in the realm of declarative automation. For those who are still learning the declarative aspects of the Salesforce platform, the Platform App Builder certification could be a good place to start. The Platform App Builder certification is designed for those looking to boost their capabilities when it comes to customizing Salesforce declaratively. For those well-versed in Salesforce Flow, the Platform Developer 1 certification could be a logical next step. This certification provides administrators and developers with the foundational principles and best practices for utilizing custom development within Salesforce. Studying for this certification will cover the fundamentals of Apex, lightning components, Visualforce, and more.
TIP #4: Avoid Too Many Learning Paths at Once
There are many online resources available for training on Salesforce certifications. However, taking on too many learning paths at once can stunt progress and become repetitive, and it’s important to note that not all learning paths are organized in the same way. It’s best to pick one primary learning path and supplement it as needed to answer any specific questions that can’t be answered in the primary path you’ve chosen.
Having a primary learning path, whether that be a specific Trailmix designed for the certification being studied, or a course offered by Focus-on-Force, can help you visualize and streamline your progress. Each learning path is organized in its own way and is designed to teach the foundational concepts needed before moving on to more advanced topics. Going through the learning path chronologically ensures that the right topics are covered in order and that the suggested prerequisites are understood before starting the next section. As you progress through your primary learning path, it’s easy to see what aspects of the topic you understand well, versus what you haven’t yet covered.
Good learning paths are also designed to cover each core aspect of the topic at hand. Bouncing between learning paths can increase the likelihood of completely missing some core aspects. Other risks of not having a primary learning path include the risk of duplicating your efforts by repeating topics already covered in other paths or getting too far ahead in a learning path before covering the basics.
Having a primary learning path does not mean that all other resources should be ignored. As you progress, there will inevitably be concepts that are challenging to master. If you get stuck on a specific topic within your primary learning path, then it is appropriate to use outside resources to help you move forward. Secondary resources should be used to supplement your journey and help you make progress when you are stuck so that you can continue to progress down your primary learning path.
TIP #5: Understand the Basic Fundamentals of Apex
Apex is the backbone of custom development in Salesforce. Regardless of what training path you choose, Apex will be mentioned early, often, and throughout. It is vital to fully grasp the core foundational aspects of Apex in order to make more advanced topics easier to pick up.
As you proceed through training that pertains to Salesforce custom development, pay close attention to the following:
- Basic terminology and core aspects of Apex
- Basic syntax and pieces that make up an Apex class
- Access Modifier
- Return Types
- The different ways that Apex can be fired in Salesforce
- Apex Triggers
- Schedule Apex
- Invoke Apex from a Flow
- Use Apex as a Controller for a VF Page
- Call Apex from a LWC
- Commonly used items within Apex, and the best practices for each
- Loops (Do-While, While, For)
- Collections (List, Set, Map)
When first learning Apex, it can be difficult to comprehend the proper syntax. For each of the items above, ensure there is a strong focus on understanding the syntax of how to properly format them. For example, for the pieces that make up an Apex class, pay close attention to when capitalization should and should not be used, the order in which certain pieces need to be arranged within your class, which pieces are required vs. optional, etc. There are also best practices for how to write and space your code in a way that makes it easier to digest. Understanding how to write your code so that it can be easily viewed can make it easier to identify what specific pieces within your code are doing.
TIP #6: There is No Substitute for Hands-on-keys
Repetition ensures that what you have learned is committed to memory. Taking notes and listening to training is great but actually writing code is what brings it all together. Training courses and modules do a good job of showing examples of code and providing basic uses cases, but by themselves are not sufficient to provide a well-rounded understanding. Frequently take time to think of scenarios where what you are learning could be applied, and then build for those scenarios in a dev org. As you attempt to creatively apply what you are learning to various scenarios, inevitably you will come across instances in which the code is not working or behaving in the way you expected. Encountering these situations will expose gaps in your knowledge and troubleshooting to solve the issue will help you understand what you are learning.
Salesforce Trailhead modules that show sample code often provide a clickable option to copy the code to use to complete modules. Instead of using this option, forcing yourself to write out the code gives you an opportunity to build repetition and better understand the syntax.
TIP #7: Don’t Forget About Limits & Best Practices
Understanding limits and best practices is crucial to being able to take what has been covered in training modules and apply it to real-world scenarios. Often times, having a firm grasp of limits and best practices will guide you to the right solution to the challenge being faced.
Below are some limits within Apex that are foundational and should be memorized. The list below represents a small fraction of limits that are important to be familiar with. For a more complete list of limits, please refer to Salesforce help documentation.
- Synchronous Per Transaction Limits
- Maximum of 150 DML statements per transaction
- Maximum of 100 SOQL queries issues
- Maximum of 10,000 records processed in a DML statement
- Maximum of 50,000 records retrieved in a SOQL query
- Maximum of 20 SOSL queries issued
- Maximum of 2000 records retrieved in a single SOSL query
- Static Limits
- 120 second run-time limit prior to a SOQL query being cancelled
- Maximum of 50 million records retrieved in Batch Apex using Database.queryLocator
- Maximum of 5 batch Apex jobs queued or running at the same time
Developing a custom development skillset can seem overwhelming, but the right tools and resources can set you up for success. If you missed Salesforce TrailblazerDX in person, the keynotes and many of the sessions are available on Salesforce+. To learn more about CapTech’s partnership with Salesforce, visit our website here.