Deep Work - the concept of blocking out prolonged sections of uninterrupted time to do work - has been making the rounds in tech circles the past few months. On the other side of things, we have mob programming, which focuses on something that seems completely contradictory to the Deep Work movement -- working collaboratively throughout the day while on a video call, with only one person typing at any given time. Whereas Deep Work focuses on people achieving flow state by having lots of solo ...| www.jamessimone.net
At the end of 2020, I decided to take 2 weeks off of work at the end of the year. I was very fortunate to be able to do so, and I found myself in the position of wanting to give back. I'd had to replace DLRS within the org for the consulting company I was working for several months previously, and the idea of creating a more performant rollup engine was an alluring way to do so. The simple `RollupCalculator` class I'd made seemed just a _few_ lines away from a much simpler implementation than...| www.jamessimone.net
Expressing intent through naming is a challenge, but well-named methods can help to expose even the most complicated of programming mechanisms. In programming, as in life, context is key - let's explore how naming can elevate the intent and rationale behind code! Whether you're just beginning your programming journey or you're a veteran programmer of many years, it's my hope that there's something in this post for everybody.| www.jamessimone.net
Batchable and Queueable Apex are both powerful processing frameworks within Salesforce. Unlock the power of both Batchable and Queueable Apex with the easily extendable DataProcessor pattern.| www.jamessimone.net
API development in Apex is mostly bespoke, requiring the duplication of rest resources. Let's look at how we can change that using inheritance and polymorphism to power our routes. Using extendable, dynamic APIs give us a huge amount of flexibility in spinning up new HTTP routes within the /apexrest/ path, letting us write code that external teams can stress-test and experiment with faster.| 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
Our team has had an insanely productive past three months. We've consistently cruised past goals, exceeded expectations, delivered new functionality, and had fun doing so. How did we do it? How can we keep the momentum going? Here's what it comes down to: teams perform well when successes are shared and failures are owned.| www.jamessimone.net