The CRM Science Guide to Becoming a Salesforce Developer
Becoming a Salesforce Developer is like building a house.
When building a house, where does one begin? By picking out the window panes? Propping up a few walls? Or deciding what to color to paint the living room?
Any good home builder must first lay a strong foundation. And the greater the structure we want to build, the deeper our foundation must be. We can’t worry about the minor details of our house until we have something on which to build upon.
Building the Foundation for a Successful Salesforce Career
There are two key concepts budding Trailblazers should explore while working to become great Salesforce developers.
Aspiring Salesforce developers must:
Understand the fundamentals of how the Salesforce platform works.
Learn the basics of Object Oriented Programming (OOP).
Only then can they start building, brick by brick, a strong Salesforce developer career.
Salesforce Platform Fundamentals: Earning a Salesforce Administrator Certification
To understand the inner workings of the platform — like any great Salesforce developer should — we must understand Salesforce out-of-the box functionality. It is tempting to want to start writing code from the start, but becoming a Salesforce administrator first enables aspiring developers to solidify and demonstrate their expertise in the Salesforce ecosystem. This is known as the “declarative” side of Salesforce.
Click, Not Code
Anyone in the Salesforce ecosystem should be familiar with the phrase “Click, Not Code.” Oftentimes developers want to overcomplicate things by writing fancy triggers, classes, or Visualforce pages that can be accomplished through the platform's native functionality.
Overcomplicating Salesforce tasks wastes precious developer time and can create a snowball effect of unforeseen problems that didn’t exist before.
So the takeaway here is that writing code is not always the answer. To understand when it’s the correct time to implement coding expertise, Salesforce developers should cultivate a deep understanding of automation features such as:
Every good Dev must be an even better Admin! In the resource section we’ll go over some of the best places to learn Salesforce platform administration and how to earn your Salesforce Administrator Certification.
Understand Basic Salesforce Platform Coding Concepts
When building the foundation to a strong Salesforce developer career, Salesforce Administration is the concrete mix and coding basics is the water we use to activate it. These two disciplines go hand in hand and are equally important.
Water seems simple, right? Well, an H20 molecule can be a complicated structure. It’s made of covalent bonds, atoms, charges, poles, and all that other good stuff from chemistry class. Just like chemistry, programming can get very complicated. It can seem especially daunting diving into a complex field without any experience in it.
Fear not. Budding Trailblazers can learn the basics of programming with a positive attitude and good work ethic. When learning the basics of Salesforce coding, it is most important to spend time understanding the core concepts. We can break each aspect of coding down into bite size, manageable pieces that will prove to be invaluable in the future.
Core Concepts of Salesforce Platform Programming
Salesforce primarily works with these programming languages:
1. Apex is Salesforce’s proprietary programming language with Java-like syntax. So if you already know Java, then you’re in luck!
Apex allows us to add and perform business logic to our organization. It follows the basic modern standards for an Object Oriented Programming Language (OOP). This is super important and should be your first and foremost priority when learning to code.
You’ll come across this concept multiple times on your programming journey. Although it sounds like it’d be confusing, OOP can be broken down in layman's terms. Simply put, it is a style of coding that uses things called “Objects” and “Classes” to organize your data.
The four principles of Object Oriented Programming Language are:
These four big words sound intimidating, but they become friendlier after learning more about them. Expert Salesforce developers are able to master the four principles of OOP, so it’s important to focus on understanding these principles and the concept of OOP as a whole.
2. SOQL (Salesforce Object Query Language) is the language used to work with records in Salesforce.
It is a distant relative to the extremely popular SQL (Structured Query Language). SOQL can do most of the same things SQL can do, but it is specifically designed for the Salesforce platform.
SOQL is used to read and fetch information stored in org databases. Basically, SOQL combined with Apex comprises the backend of Salesforce orgs.
Front end refers to the User Interface (UI), which is what the Salesforce user sees on their screen and utilizes to accomplish tasks and includes screens, buttons, components, charts, and more.
These three programming languages work together in unison to make the UI. Note: Most web pages you interact with are likely a product of these three programming languages!
Although Java, CSS, and HTML are essential to front-end development, I’d argue that learning Apex and OOP concepts take precedence when learning Salesforce developer basics. You can begin to learn the front-end concepts after you have a great understanding of the back-end technologies.
The path to becoming a Salesforce developer starts with the Salesforce Administrator Certification. Putting it all together, a good place to start would be by gaining Salesforce Administrator skills. Once you have that down, you can then start understanding coding by learning Apex, OOP concepts, and SOQL. By combining Salesforce admin and coding knowledge, aspiring developers have a strong foundation to build expert Salesforce developer careers.
Now, let’s go over some resources to use for earning those sought-after Salesforce certifications and landing dream jobs as a Salesforce devs.
Certification Path for Salesforce Developers
Aspiring Salesforce developers should earn Salesforce certifications in the following order: Salesforce Certified Administrator → Salesforce Certified Platform Dev I. You can also choose to earn the Salesforce Certified Platform App Builder between the Admin and Platform Dev I certifications if you’d like.
Resources for Becoming a Salesforce Developer
The beauty of the internet landscape is that there are so many places to learn and develop skills. Spending thousands of dollars on a computer science degree can help, but it’s not necessary to become a Salesforce developer.
On the flip side, there are so many resources available that it can be overwhelming. Here are the key resources that helped me along my path to becoming a Salesforce developer.
Trailhead | The fun way to learn
Trailhead is Salesforce’s training campground and your main resource. Salesforce Trailhead offers in-depth training, modules, practice questions, and much more.
Salesforce provides learning “trails” to follow depending on what you’re inquiring about. So depending on which certification you’re studying for, you can follow the Salesforce Administrator Credential Trail or the Salesforce Platform Developer I Credential Trail.
Trailhead gamifies learning by allowing you to earn badges and points, which you can show to prospective employers. Almost everyone in the Salesforce ecosystem has used Trailhead to understand the Salesforce platform.
Focus on Force
Using Focus on Force is a great way to study for Salesforce certification exams. It is a third-party vendor that offers mock exams and training courses for a fee. Focus on Force is an excellent resource to tap into when studying for certifications, and the small amount of money spent on mock exams will be worth it in the long term.
Udemy / Codecademy
When learning about Apex, many Trailhead modules assume you are already familiar with OOP. Since OOP is so fundamental to success as a Salesforce developer, some people encounter difficulty when learning Apex as a first programming language.
Using third-party teaching platforms like Udemy or Codecademy to learn Java or the basics of OOP can be a good option to bridge the gap. There are also a lot of Salesforce-oriented courses available from these vendors. Again, these services are not free, but they are highly valuable resources.
The creator of SFDC99, David Liu, is a self-taught developer who works at Google as a Salesforce Technical Architect. I really enjoy his courses and the way he teaches — especially his Apex Academy series.
Liu’s explanations are clear and he teaches in a way that is appropriate to the reader’s knowledge level. David has even earned Salesforce’s highly regarded Golden Hoodie award.
Liu delivered an inspirational speech at Dreamforce ‘19 about how anyone can learn to code, and it is a video I view time and time again for inspiration. In the video, he says half of the Salesforce developers he works with at Google are self taught. If that isn’t inspiring, then I don’t know what is!
Salesforce’s Apex Developer Guide
The Apex Developer Guide is the official Salesforce resource for any and everything related to Apex. Once you understand how to read Salesforce documentation, coming to this resource to quickly understand how something works becomes exceptionally useful.
Salesforce Stack Exchange / Stack Overflow
You’ll eventually become very familiar with these two Salesforce forums. The forums are for people like you who need guidance with specific inquiries. Virtually any question about Salesforce programming you can think of has already been asked in these forums. People respond to questions, and the most helpful answers are shown at the top. It can be reassuring to know that there are countless people out there who need help just like you.
Stack Overflow is a third-party resource and fees may apply.
Salesforce Pro-Bono Experience
Earning Salesforce certifications is super helpful, but they are not the only way to get hired for a coveted Salesforce developer role. Another way to build your resume is get hands-on experience volunteering or interning for a nonprofit that uses Salesforce. There is no better way to learn than by doing. Having other people to bounce questions off of or shadow is a huge benefit of gaining experience at a nonprofit too. Don’t let lack of certifications prevent you from applying to volunteer or intern for Salesforce ecosystem jobs!
Tips for Becoming a Salesforce Developer
“Insanity is doing the same thing over and over again and expecting different results.” - Albert Einstein
When starting out, it is common for beginners to fall into what is known as “Tutorial Hell.” This is the time when you realize you have been doing the same kind of tutorial videos, printing “Hello World” over and over again, but not actually absorbing the information or learning.
My advice to get out of this cycle is to build something that interests you or try a new way of learning. Don’t be afraid to switch platforms if the instructor is talking at too high of a level or using concepts you don’t understand. It is not about the speed at which you go through the courses but rather the level of understanding and knowledge you take away from them.
“Every failure is a step to success.” - William Whewell
Go on interviews and fail. Take certification exams and fail. Use these experiences to learn and grow.
After every interview or failed exam, take notes about what you were asked, where you did well, and where you did poorly. Use these notes to understand your weaknesses and areas for improvement, and build upon them for your next opportunity. Failing is not a lack of achievement, but a lack of attempt!
“I know that I know nothing.” - Socrates
Don’t get discouraged when you forget or don’t know how to do something. Learning how to program is no easy feat. Any software engineer or developer will use Google at some point almost every day.
There are constantly new Salesforce releases, updates, and platform changes, which means there are always new concepts to learn. It’s important to be humble and know that there will always be something you do not know how to do, and that’s okay.
“It takes ten years to become an overnight success.” - Eddie Cantor
Although it likely won’t take ten years, becoming a developer from scratch can certainly take time. It can be taxing mentally and emotionally when some things seem too difficult to understand. However, everything will start to click after a couple of months.
The main goal here is to survive the first couple months of self doubt and confusion. If you are persistent in your pursuit of a Salesforce developer career, you will persevere!
Join CRM Science Salesforce Consultants
To get that dream job as a Salesforce dev, aspiring Trailblazers need to earn some certifications. Using some of the resources above, you can first learn about Salesforce Administration to earn that first certification. Then you can dive into the world of programming, learning OOP fundamentals, Apex, and SOQL to earn the Platform Developer Certification. At that point you’ll have enough experience and knowledge to be qualified for some developer positions!
With all that being said, I wish you good luck in your Salesforce journey. There will be many ups and downs, trials and tribulations, but your hard work and effort will be more than worth it.
The CRM Science team includes senior Salesforce developers, junior developers, and everyone in between. We are always looking to chat with Salesforce developers to fill positions with many perks. Contact us if you’d like to learn more about working with us or how we maximize the value of the Salesforce platform for our clients.