Want to improve yourself as an engineer? Looking for tips & tricks to empower yourself as a teammate or individual contributor? There are a few things that you can do at any point in your career that will help. There's a reason that professional athletes frequently preach the importance of fundamentals - while it may seem like common sense, now, it's only been recently through the application of science to sports that experts have begun to understand how practice quite literally makes perfect...| www.jamessimone.net
Following up on the Object-Oriented Basics post, this time we switch our attention to interfaces and abstract classes - when to use them, when to avoid them, and how to distinguish between them. Learn all about what makes an interface successful, how to consolidate logic in abstract classes, and more!| www.jamessimone.net
We owe our ability to understand abstractions in programming to philosophy; much as we owe a debt to mathematics for putting the theorems responsible for our code -- and computers -- to work into words. Consider the immortal words present in the Tao: A well-shut door will stay closed without a latch. Skillful fastening will stay tied without knots. One does not simply (walk into Mordor) build a door that works well. A factory for doors cannot provide you with the quality of worksmanship and p...| www.jamessimone.net
A few months ago I was tasked with replacing Declarative Lookup Rollup Summaries (DLRS) in an org suffering from frequent deadlocks. Rollup summary fields in Salesforce are plagued by severe limitations -- only being available on master-detail relationships being just the start of the list. Read on to learn about how I built Rollup to assist in orgs looking for DLRS-like flexibility with a much smaller performance overhead, complete with elastic scaling (go fast when you need to, slow when th...| www.jamessimone.net
Learn more about performance testing the CRUD framework, the cost of sorting, and how to implement custom sorting easily.| www.jamessimone.net
Learn about Apex from the ground-level upwards: the basics of object-oriented programming, static types and type inference, virtual and abstract classes, interfaces, polymorphism, encapsulation and inheritance.| www.jamessimone.net
Tap into the power of the Trigger Handler pattern in Salesforce with this extremely lightweight Trigger Handler framework.| www.jamessimone.net
We often hear the word idiomatic applied to programming languages to express the language-specific way of accomplishing routinely encountered problems. In this post, we dive into how to write idiomatic Salesforce Apex to make the most of each line of code.| www.jamessimone.net