I started getting interested in programming and development by designing horrible, flashy fansites. For real, I would copy HTML from other web pages and pick them apart to build something trying to be a blog, personal site, or Linkin Park fansite.
From the beginning, I have always had to be resourceful when learning code. I am from small-town Indiana, and they didn’t teach programming in schools. My first real introduction to coding as I understand it today came to me when I got to college. Most of what I learned to be an (arguably) successful developer came from on the job experience and through my own hands-on exploration. My (almost) 10 year run as a Full Stack .NET developer started while I was still in college and eventually became my career.
My goal was always that I would try to find some balance between my interest in Graphic Design/UI Design with backend programming, database design — the whole shebang. I wanted to be able to do all the things...because why not? So what led me to be a Salesforce Developer? Really, it was driven by my constant desire to learn something new.
From .NET to Salesforce
Throughout my career, I have designed databases, built API's, and created user interfaces with AngularJS. I came to CS looking for a position that would build off that experience, to gain a new perspective of development, and maybe be more front-end focused.
Any developer with a few years under their belt will tell you, “the more time you spend in the industry, the more you realize just how much there is that you don't know.”
Very shortly after I started working on the Salesforce platform, all of those fears subsided. I wanted to share my overall experience with hopes that it may resonate with someone else considering becoming a Salesforce developer.
Use Your Previous Coding Experience to Inform the Present
Having worked on the Salesforce Platform for about 5 months now, I have had the opportunity to work on a diverse set of projects. I have built projects using Lightning Web Components as well as others that were purely Apex.
I keep digging deeper and deeper into what the Salesforce platform provides, and I keep drawing parallels between other projects in my career. What I would have to do externally for projects in the past, I could do exclusively within Salesforce. Everything is just there in one place!
If you are a devoted C# developer, Apex can be pretty frustrating at first. The syntax is just different enough to drive you a bit crazy in the beginning. And don't get me started on SOQL vs. SQL. And what is this new thing called SOSL?
I can tell you that everything in Apex requires just a little bit more code.
Of course, if you are a Java Developer, this is probably all very familiar and would be a much easier transition since Apex is somewhat derivative of Java. If you are familiar with any object-oriented language, writing Apex is no sweat.
Code is Code after all, and I believe any developer that has experience in any language can pick up another language after a little bit of time.
Like any platform, there are legacy systems that present a bit more of a challenge. Aura Components and Visualforce are definitely more unique and are a little bit more challenging to ramp up on than Lightning Web Components.
Getting Started on Trailhead
How can an aspiring Salesforce developer get started? Here enters Trailhead. Trailhead is one of the main reasons I have been able to get ramped up on the platform so quickly (along with much help from some of my great CS colleagues).
The depth of Trailhead is phenomenal. It is broken out for different roles, projects, technologies, and industries. Also, it's pretty addictive — almost like a game. Somedays, I have made it a goal to see how many badges I can earn in a day.
Seriously, there is no other training platform out there that does this great of a job documenting their technology with hands-on training. The variety of training types (Project vs. Module) is a great way to cater to different learning styles. It also is a great way of demonstrating your skills to your peers since it keeps a record of all the training you have completed. I have been able to get 4 Salesforce Certifications (and more to come - hopefully!) with a little bit of help with practice exams, a little bit of project experience, and a lot of Trailhead.
Some Final Advice
Here are some additional tips that might prove helpful for developers ramping up on Salesforce:
- Take time to understand the platform. There are lots of declarative and programmatic features to understand, and it will be pivotal when working on building apps. As a developer, it may not seem natural doing things declaratively. Understanding the use cases for flows, workflow rules, process builders, etc. is key when designing solutions.
Do all of the Trailhead you can. Seriously. Take advantage of this great resource!
Find parallels between past technologies you have used. For example, Salesforce objects are just tables. Records are just rows in those tables. This is important when understanding concepts in Salesforce.
If you are trying to get certifications, do as many hands-on projects as you can, and find a good practice exam.
Be a part of the community! Salesforce has a great community, enabling you to collaborate and ask questions. Don’t be afraid to reach out — chances are someone is more than willing to share an answer.
To anyone thinking of joining the ranks, don't be afraid to jump in. You will be challenged and engaged. I look forward to continuing my Salesforce Journey. I am happy to be a part of the Ranger community!
At CodeScience, we are passionate about those who are mastering their craft — it is one of our core values. If you’re interested in joining our team, we’re hiring! Check out our latest positions here.