I recently heard the question, "Are you team click or team code?" The person asking it meant, "Do you gravitate toward click-and-configure development in Salesforce, or traditional code development, using Apex or something like it?" That's an interesting paradigm when it comes to Salesforce development: You can be a developer without writing a single line of traditional code.
From a learning and certification point of view, there is a clear fork in the road: Will you work on code or click development skills? That's not to say you can't do both, but for many Salesforce pros, it's one or the other.
In fact, as we'll see later, the initial Developer certifications are nicely split in terms of which they measure: click or code skills. This article covers the click skills needed for the Salesforce Certified Platform Developer I certification; a companion piece covers the more advanced code skills needed for the Developer II certification.
Team click, for starters
From a team click point of view, Trailhead is an awesome place to learn your skills. The trails and modules under the development path focus mostly on click-oriented development. They include sections on topics such as app building, formula and field manipulation, and the Process Builder.
The Salesforce platform offers opportunities for a lot of dev to be accomplished without writing a single line of code. From form and field manipulation to automated process flows, the ability to do click development gives you a powerful set of tools. Force.com, the Salesforce development site (which is also a deep resource for development tools) explains what will be measured in the initial development certification exam as follows:
The Force.com Developer Certification is a base-level accomplishment that shows you know how to use the declarative (point-and-click) tools on the platform. You may not know how to code, but you know when it's required and when the declarative functionality is the best option.
So, how does that break down? As of spring 2017, the following areas are measured as part of this developer certification:
- Salesforce fundamentals (10%)
- Describe the considerations when developing in a multi-tenant environment.
- Describe how the Salesforce platform features map to the Model-View-Controller pattern.
- Describe the capabilities of the core CRM objects in the Salesforce schema.
- Identify the common scenarios for extending an application's capabilities using AppExchange.
- Given a scenario, identify common use cases for declarative customization.
- Data modeling and management (12%)
- Given a set of requirements, determine the appropriate data model.
- Describe the capabilities of the various relationship types and the implications of each on record access, the user interface and object-oriented programming.
- Describe the impact of the schema design and modifications on Apex development.
- Describe how to visualize and create entity relationships.
- Describe the options for and considerations when importing and exporting data into development environments.
- Logic and process automation (46%)
- Describe how to programmatically access and utilize the object schema.
- Describe the capabilities and use cases for formula fields.
- Describe the capabilities and use cases for rollup summary fields.
- Describe the capabilities of the declarative process automation features.
- Describe when to use declarative automation features vs. Apex classes and triggers.
- Describe how to declare variables and constants in Apex, and how to assign values using expressions.
- Describe the primitive and complex Apex data types and when to use them.
- Describe how to use and apply Apex control flow statements.
- Describe how to write and when to use Apex classes and interfaces.
- Describe how to use basic Salesforce Object Search Language, Salesforce Object Query Language and DML statements when working with objects in Apex.
- Describe the basic patterns used in triggers and classes to process data efficiently.
- Describe when to use and how to write triggers.
- Describe the implications of governor limits on Apex transactions.
- Describe the relationship between Apex transactions, the save execution order and the potential for recursion and cascading.
- Describe how to implement exception handling in Apex.
- Describe how to write Visualforce controllers.
- Describe when and how to use standard Visualforce controllers vs. Apex custom controllers and controller extensions.
- Describe the programmatic techniques used to prevent security vulnerabilities in Apex and Visualforce.
- Describe how Apex impacts the ability to make declarative changes.
- User interface (10%)
- Describe how to display Salesforce data using a Visualforce page.
- Describe the types of web content that can be incorporated into Visualforce pages.
- Describe how to incorporate Visualforce pages into Force.com applications.
- Describe the benefits of the Lightning Component framework.
- Describe the resources that can be contained in a Lightning Component.
- Testing (12%)
- Describe the testing framework and the requirements for deployment.
- Describe how to write unit tests for triggers, controllers and classes.
- Describe when and how to use various sources of test data.
- Describe how to execute one or multiple test classes.
- Describe the differences between invoking Apex in execute anonymous vs. execute unit tests.
- Debug and deployment tools (10%)
- Describe how to monitor and access various types of debug logs.
- Describe the capabilities and security implications of the Developer Console, Workbench and Force.com integrated development environment.
- Describe the different processes for deploying metadata and business data.
- Describe how the different environments are used in the development and deployment process.
You'll immediately notice in the details above that almost 50% of your score will be made up of questions around logic and process automation, so spend a good deal of time perfecting those workflows and formula fields. Good luck on the developer certification!
Microsoft vs. Salesforce in the app wars
Salesforce App Cloud licensing
Salesforce1 app brings productivity to mobile