Learnings from Exploring Salesforce

Recently I've been spending some time exploring the Salesforce platform, a widely adopted CRM and low code platform. Here is a summary of what I've learned so far:

The trailhead learning platform is pretty neat (and free)

Initially I found it hard to find the right pathway to get started from a developer perspective.  It was a bit overwhelming with all the material available,  but the pinned post in the Salesforce Developer group helped greatly and has nice links to get you started. The post included the following and there is some neat video content:

12 Reasons to Become a Salesforce Developer blog post


Get Started with Hands-On Platform Development:

Overall I really like the Trailhead learning platform. There are tons of easy to follow and free tutorials. I also like the way they have tried to make the experience fun and used gamification and colorful content,  badges and points to keep you motivated in your learning journey.

The way the developer sandboxes can be easily spun up and linked back to the learning modules is impressive. Once you have completed an exercise the website can run a check to verify you have completed things correctly via your linked environments.

There are lots of jobs!

At the time of writing, when I searched Seek, an Australia job site, there were 183 open contract positions and 934 jobs advertised. Many of them long well paid contracts, which support working remotely.

So it seems there is a lot of demand for people with Salesforce skills in the market presently. There also seems to be plenty of demand in the MS Dynamics 365 space also.

I figure working on a CRM / low code platform as a developer is less sexy than working on some custom cutting edge javascript fronted application on the latest tech, so I expect that is why there are so many openings.

If you are more interested in guaranteed work and plenty of business, then specializing in the less interesting CRM / low code space might be the way to go.

Skills coding in C# and Java are easily transferable

I enjoyed learning about the APEX coding language and found it very easy to pick up with experience in coding object oriented languages like C# and Java. The documentation and tutorials were clear.

There is support for Visual Studio Code and also a very neat web based IDE (Developer Console) that includes a test runner.

The web based IDE (Developer Console) is impressive

The web based Developer Console has a code editor, an execution console (execute anonymous window), logging and debugging all built in. This was very handy when trying to learn more about the platform when on a restricted work machine without permissions to install the required packages to get VS code set up.

Running automation tests a first class citizen and min 75% code coverage required for deployment

The platform and developer console also have automated tests built in as a first class citizen. You can easily set up test classes and execute from the console.

There is inbuilt code coverage analysis and a minimum requirement for 75% coverage before any APEX integration code can be deployed to production.

I am not sure enforcing a min code coverage is a good idea, as I have seen people game this in the past and write fairly useless tests just to execute code paths. Although I like fact testing is well thought out and they have been opinionated as to set standards.

If you come from a TDD and automation testing background then you will feel right at home writing APEX integration logic and building web services.

Try the following modules to learn more:

https://trailhead.salesforce.com/content/learn/modules/apex_integration_services
https://trailhead.salesforce.com/content/learn/modules/apex_testing

There are character limits for APEX code and triggers

There is a limit of 8729 charters for APEX classes and a limit of 2785 for APEX triggers. This is to protect the resources of shared instances deployed to the cloud.

I am curious as to what might happen if you breach those limits. For example, if you have a very large shared instance across a large government department with many users.

I understand test code is not counted as part of this limit.

There are plenty of certification pathways

There are lots of different exams you can take in person or online. Via the Kryterion certification partner you can take the following online:

Salesforce Associate $75 USD
Salesforce Developer 1 $200 USD
Salesforce * Architect $400 USD

There is free content on Trailhead to help you prepare for these exams.

The salesfornceben website has a nice visual of the many pathways you could consider for your learning and certification. I expect getting some experience and certification would be a good investment in terms of employability in the Salesforce job market.

My profile and code

I hope you enjoyed this write up. I certainly enjoyed learning more about the Salesforce platform and using the trailhead learning platform. You can find my trailblazer profile here and my code saved as gists on Github

I am happy to be contacted if you are looking for someone to help you with your CRM implementation in terms of leading the delivery, writing development code and assisting with the solution design.

Previous
Previous

Market of Skills – An Exercise to Build a Strong Team

Next
Next

Perth Workshop / Training Venues and Catering Options