Clean Apex Code: Comments don't lie, developers do How to properly use comments and when to avoid them is cause for endless debate in online communities.
Clean Apex: Should you return null, empty or throw an exception? Should you return null, an empty object or throw an exception?
How Long Should Apex Methods Be: Length, Depth, and Subtasks Apex methods should be short, but how short?
Efficient Apex: Context is not an excuse for using bad names We must use names that reinforce and enrich the context of our application.
Efficient Apex: Boolean parameters—Pattern or anti-pattern? Boolean parameters in Apex code. Should you really use them? It's complicated
Efficient Apex: The best way to name Map variables Maps variables are poorly name in most Salesforce orgs. Here's a better way.
Efficient Apex: methods should do one thing, but what is one thing? How do we define what "one thing" is?
Clean Apex Code book FREE Preview—Chapter 1: Refactoring Apex Code This is a draft of chapter 1 of my upcoming book "Clean Apex Code for Salesforce". This book will teach you how to write clean, maintainable and scalable Apex code.
[VIDEO] Design Patterns for Salesforce Git Branching Strategies I did a webinar with ApexHours about the design patterns common to all Git branching strategies for Salesforce.
Salesforce Technical Architects should know how to code Can you be a Technical Architect if you can't code...?
Using a Salesforce DevOps product is not a replacement for learning sfdx and the basics of Git. Using a Salesforce DevOps product is not a replacement for learning sfdx and the basics of Git. If you are thinking of 2024 goals, consider adding this to your list!
Salesforce DevOps vendors will become a commodity if we keep our focus on features instead of outcomes Salesforce DevOps vendors may become interchangeable pieces of software because they all do the same in the same way
Clicks, not code. Should we believe it? This famous statement implies clicking is simpler or more desirable than code.
How to schedule run all tests in Salesforce with GitHub Actions for unlimited orgs, nothing to install Learn how to schedule daily apex tests runs with GitHub Actions, for free!
Gate your Salesforce deployments with sfdx, Branch Protection Rules, and GitHub Actions Don't let just anyone deploy to production; use branch protection rules instead!
Redis 7 with TLS, NodeJS, Heroku, Docker Compose, and Bull How I upgraded my app to use Redis 7 with TLS
Design Patterns for Salesforce Git Branching Strategies One branch per org? A single branch? GitFlow or GitHub Flow? There are many ways to organize your Salesforce Git branches. I explain how to go about it in this in-depth article.
Salesforce Continuous Delivery vs. Continuous Deployment—what's the difference? Continuous Delivery and Continuous Deployment in Salesforce. Are they the same?
My first Salesforce CLI Plugin Part 4—The new sf plugin architecture and refactoring the project Learning the new sf plugin architecture and hacking it to use Jest instead of Chai, also...
10 Salesforce Open-source Projects for DevOps Engineers If you are a Salesforce DevOps engineer, you must be aware of these open-source projects.
My first Salesforce CLI Plugin Part 3—Mocking an sfdx directory with Jest In this entry, I explain how I used Jest to mock the file structure of an sfdx project
My first Salesforce CLI Plugin Part 2—Using Node.js to read files from an sfdx project directory In part 2 of this series, we explore how to read files from an sfdx project to determine if they have a prefix.
HappySoup.io End of Life on July 2023 Thanks for all the support over the last 2 years. All good things come to an end.
My first Salesforce CLI Plugin Part 1—The idea and progress so far Join me as I document my journey to creating my first Salesforce CLI plugin. It's going to change the world...
Salesforce Continuous Integration—Concepts, components, and challenges Continuous Integration in Salesforce is not straight forward. Let me show you the way...
How to find API calls using deprecated versions of the Salesforce API Salesforce is deprecating old API versions. Here's you you can find out if you are using them.
We were wrong: Salesforce admins DO want to learn Git, but what's in it for them? We were wrong, Salesforce admins want to learn Git, but why?
Dynamically deploy org-specific metadata with sfdx string replacements (must have for CI/CD!) String replacements is one of the best sfdx features for scalable Salesforce CI/CD pipelines. A must-have!
This is why Salesforce admins don't want to learn Git These reasons are stopping Salesforce admins from learning Git, and there's only one solution
3 modern ways to back up your Salesforce sandbox before refreshing it (in 2023) Use these 3 ways back up your work-in-progress before you refresh your Salesforce sandbox.
How to retrieve your entire Salesforce metadata with 2 commands You can list and retrieve all the metadata in your org with 2 commands, perfect for uploading it to a Git repo and start practicing CI/CD
A deep dive into why HappySoup.io really went down HappySoup.io was down between December '22 and January '23. In this article, I explain in great detail why this happened. Be ready to learn about Heroku, Redis, the Salesforce API, and more.
Is the Salesforce Ohana dead? Salesforce has laid off 8k employees, which brings into question its Ohana culture. Did we get it wrong?
How to deploy a Salesforce Community/Experience Site with SFDX (plus GitHub repo) It's possible to deploy a community with sfdx without losing your mind. Just follow these steps...
Is DevOps Center going to kill all other Salesforce DevOps vendors? Is there room for DevOps vendors now that DevOps Center is available?
How this Salesforce Architect landed a job by creating a VSCode extension for understanding dependencies Another great app for visualizing metadata dependencies
NaCi vs ChatGPT: Which one is better for creating Salesforce CI/CD pipelines in seconds? Can AI software create Salesforce CI/CD pipelines in seconds?
This is why Git cannot be the source of truth for your Salesforce org Git can only be the source of truth if you first accept these 2 facts...
This is why your Salesforce deployments suck If your Salesforce deployments suck and are painful, it only means 1 thing...
Salesforce Certified DevOps Specialist question 3 What should a DevOps architect recommend for a company struggling to have a production-like environment?
Salesforce Certified DevOps Specialist question 2 What should a DevOps architect recommend for an org struggling with Continuous Integration?
Can Salesforce co-exist with Continuous Integration? A rant about CI/CD for low-code business applications
How creating this fullstack Salesforce app launched his career to MVP status and Dreamforce speaker Salesforce MVP and Dreamforce speaker shares his secrets for creating an amazing fullstack Salesforce app
Dreamforce recap—Design Patterns for Salesforce CI/CD On Dreamforce '22, I presented a session on Design Patterns for Salesforce CI/CD. In this article, I'll provide some extra resources for those seeking to dive further into this topic; and I'll share the link to NaCi the tool I created to create YAML pipeline files using clicks!
LeetCode for Salesforce—An incredible API application with React.js and the Tooling API Welcome to another entry of the Under the Code series, where we explore how other Salesforce devs created incredible Salesforce API applications. This time, I interviewed Mehdi Maujood, who created an incredible application called ApexSandbox.io. If you haven't tried this app, it's basically a LeetCode
Building a Salesforce API wrapper with JS part 1—project structure We are creating a JavaScript wrapper around the Salesforce API. This is the project structure that I've used in all my Node.js projects