Our organisation has over 100 Apex classes, triggers and VF pages written over a period of 8 years. The versions of Apex API that we have used vary from 10 to the latest 40. Now we are trying to bring all our Apex code to version 40. Should I be concerned about any incompatibility issues as result of version upgrade? Are Apex API versions backward compatible? Are there any guidelines that I should be aware of?