Sooner or later, in the Salesforce ecosystem, you will find yourself writing code to customize a Salesforce organization. There are plenty of references about the Apex programming language, which is Salesforce's Java-esque proprietary language for controllers and triggers. Of course, you'll follow general programming best practices. You'll also want to keep a few things top-of-mind about Salesforce coding.
Working with Salesforce relationships is a little different from traditional relational database structures, but Salesforce has great tools for building custom data relationships, and most people can adapt quickly to the SOQL model. As with any other system, though, there are a few “gotchas” to...
It's a funny thing about Salesforce developers. Many of us really dislike change, even when we know very well it's necessary and worthwhile.
Why? Too often, changing an application is like re-routing plumbing after the house is built: making a change that looks small can take a whole lot of effort with a whole lot of risk for collateral damage.