In the same way I have elaborated an index of trailhead modules to work on if you want to get App Builder certification, I have created a similar index for Platform Developer I. Here you have the index:
SALESFORCE FUNDAMENTALS (10%)
- Describe the considerations when developing in a multi-tenant environment.
- Describe how the Salesforce platform features map to the MVC pattern.
- Describe the capabilities of the core CRM objects in the Salesforce schema.
- Identify the common scenarios for extending an application’s capabilities using the AppExchange.
- Given a scenario, identify common use cases for declarative customization.
- Salesforce user basics: https://trailhead.salesforce.com/en/modules/lex_salesforce_basics
- Salesforce basics: https://trailhead.salesforce.com/modules/lex_implementation_basics
- Platform basics: https://trailhead.salesforce.com/modules/starting_force_com
- CRM basics: https://trailhead.salesforce.com/modules/admin_intro_crm_basics
- Account & contacts: https://trailhead.salesforce.com/modules/admin_intro_accounts_contacts
- Leads & opportunities: https://trailhead.salesforce.com/modules/admin_intro_opptys_leads
- Service cloud basics: https://trailhead.salesforce.com/modules/service_basics
- AppExchange: https://trailhead.salesforce.com/modules/starting_force_com/units/starting_developer_console
DATA MODELLING 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, user interface (UI), and object-oriented programming.
- Describe the impact of 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.
- Data modelling: https://trailhead.salesforce.com/modules/data_modeling
- Data management: https://trailhead.salesforce.com/modules/data_management
BUSINESS 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 roll-up 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 SOSL, SOQL, 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/or 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 to prevent security vulnerabilities in Apex and Visualforce.
- Describe how Apex impacts the ability to make declarative changes.
- Formulas & Validations: https://trailhead.salesforce.com/modules/point_click_business_logic
- Advanced formulas: https://trailhead.salesforce.com/modules/advanced_formulas
- Process automation: https://trailhead.salesforce.com/modules/business_process_automation
- Lightning App builder: https://trailhead.salesforce.com/modules/lightning_app_builder
- Injection vulnerability prevention: https://trailhead.salesforce.com/modules/secdev_injection_vulnerabilities
- Apex basics & database: https://trailhead.salesforce.com/en/modules/apex_database
- Apex triggers: https://trailhead.salesforce.com/modules/apex_triggers
- Search basics: https://trailhead.salesforce.com/modules/search_solution_basics
- Database & .NET basics: https://trailhead.salesforce.com/modules/database_basics_dotnet
- Visualforce basics: https://trailhead.salesforce.com/modules/visualforce_fundamentals
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.
- UI customization: https://trailhead.salesforce.com/en/modules/customizing_user_interface
- App customization: https://trailhead.salesforce.com/modules/lex_implementation_customization
- Lightning components basics: https://trailhead.salesforce.com/modules/lex_dev_lc_basics
- Describe the testing framework and 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. unit tests.
- Apex Testing: https://trailhead.salesforce.com/modules/apex_testing
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 IDE.
- Describe the different processes for deploying metadata and business data.
- Describe how the different environments are used in the development and deployment process.
- Application lifecycle management: https://trailhead.salesforce.com/modules/alm_deployment
- Change management: https://trailhead.salesforce.com/modules/app_deployment