When you have a good understanding of how something works, you greatly increase the likelihood that you’ll have a better experience using that something. In this blog post, I’ll expand on that thought, pointing out how it applies to Force.com application design, development, and implementation.
A while ago, my wife called me in distress from the side of a nearby road. She explained that, suddenly, her car’s steering wheel had become very difficult to turn, even though the car was otherwise operating normally. I threw a few tools into my truck, stopped at a nearby auto parts store for a power steering belt, and had her back on the road an hour later.
I felt like a hero, ate my favorite dinner that night, and didn’t have to do the dishes! What made all of this success possible? I know a lot about how automobiles work. I knew immediately from her description that the car’s power steering belt had snapped, and I knew that I could perform a simple fix quickly and safely on the side of the road.
In the many times that I’ve had to learn about a new application platform during my professional career, I’ve often wondered why I needed to study the platform’s internal mechanisms, most of which are out of my control. For example, when I was first learning about Oracle Database, I didn’t immediately see any benefit in learning about how Oracle stores data on disk, let alone the nitty-gritty of that storage: datatype-specific byte storage requirements, block allocation, and block usage. Later on, however, this knowledge came in handy when I needed to accurately estimate how much disk storage I had to purchase for large databases—had I not been able to apply my Oracle knowledge in that estimation, I wouldn’t have been able to do my job very well.
Force.com is a modern cloud platform that is easier to use than legacy systems, even when those legacy systems have cloud-based offshoots. For example, you won’t ever need to understand how Force.com allocates and uses data blocks, or ever do a space estimate and purchase disk storage—the platform relieves you of these responsibilities. That’s nice because you get to spend more time building great apps instead of thinking about servers and disk storage.
Nonetheless, there are some Force.com internals that you should take time to learn because they can help you build and implement better applications.
For example:
The Architect Core Resources page, updated weekly, is your one-stop shop for learning all about Force.com internals. If you are new to the platform, start with the resources available in the Force.com Fundamentals section.
Once you have a good overall understanding of the platform, you can dive into deeper topics, which are organized into key areas such as integration, application business logic, user interface, data management, security, mobile, and app distribution.
Here are a few samples.
Finally, stay on top of the latest resources that can help you be a better Force.com architect.
Steve Bobrowski is an Architect Evangelist within the Technical Enablement team of the salesforce.com Customer-Centric Engineering group. The team’s mission is to help customers understand how to implement technically sound Salesforce solutions. Check out all of the resources that this team maintains on the Architect Core Resources page of Developer Force.