First of all, Welcome to Salesforce.
When I started my journey, I was given a lot of books to read with practical assignments. At that point in time, Salesforce used to provide workbooks.
If anyone is looking for documentation, I think
https://developer.salesforce.com/docs/ is still the best.
Way to learn salesforce:
- Do trailheads.
- Follow blogs.
- Try to find re-usable assets you can create.
Common mistakes a fresher can do:
Create anything without a second thought.
Risk of creating anything without making decisions and impact. Example You should be aware and think about why you are creating a new field or a new process builder. Why not use an existing resource or merge with them.
Single record processing.
When they are writing triggers or any apex, people may create something keeping a single record in mind and they test successfully in dev SB. But when it goes to further testing, it falls drastically. Always keep in mind that your trigger should be compatible to handle the bulk data.
Sometimes people think writing is a burden. Trust me it’s not, it’s time-saving in the future, for you and your team.
Beware if you don’t know this, don’t touch this in any sandbox before consulting your lead. I have seen an example where to give record access a new joiner updated OWD to the public.
Avoid nested for loops.
Use Set, Map to avoid nested for loops. Nested for loop increase processing time and decrease performance.
Query what you want.
Always put conditions in query and aware of Salesforce limits, like 1000 records for a list view, 10,000 record DML per transaction, 50,000-row query per transaction.
Yes, it is important, Whenever you are clicking a new button, you should type a meaningful name to any element ++ follow the naming conventions as per your project strategies. Like for test class use test at the end or start as per directed. Meaningful_Field_Name__c or MeaningfulFieldName__c.
@SeeALLData is equals to TRUE.
This is a big blunder, Never use see all = true. (few rare exceptions).
Test Classes are not meant to do code coverage.
Trust me this is true. Salesforce introduced test classes to do unit testing of different scenarios like positive and negative testing, bulk data testing, user access testing, etc. I have seen a lot of people who just focus on test class for code coverage if my line is covered on not.
Creating a lot of workflows
Yes, workflows have limits, you cant be just creating workflows for each field update.
Users cannot be deleted.
This is just a knowledge that in salesforce you cannot delete a user. I need you to find why.
In salesforce world hardcoding is a crime, and if you hardcode Id, you may get a death sentence.
Trailpath for Developer:
Recommendation for clean code: https://www.investigatii.md/uploads/resurse/Clean_Code.pdf
Trailpath for Admin:
Sometimes I get bored on reading PDFs and doing trailhead, so I watch online.
Below one seems beneficial to you:
Do in order from Episode 1 to ….
Next channel is a bit advance:
Blogs to follow:
http://blog.jeffdouglas.com/ Jeff is not posting these days, but this blog is in old wine.
When you love to do some challenge go and follow some recipes: https://lightningappcookbook.salesforce.com/
++ Many more. Explore the world of endless possibilities.
This website will tell you about all of the salesforce blogs: https://salesforceblogs.com/salesforceblogs
Certification an important factor:
Certificates in salesforce world are very important, I would recommend to start focussing on any Salesforce certification, that will help you in future, I would recommend Salesforce certified admin for a beginner:
Before attempting for the admin exam, I recommend doing “Admin Super Set” and “App Builder Super Set”