Field Notes

38 essays on Salesforce architecture, AI-assisted development, and building — written from live delivery, not the sidelines.

The 80/20 of Salesforce: The 20% of Features That Deliver 80% of Value

·9 min read

After fifteen years on the platform, the pattern is clear: a small set of unglamorous features carries almost all the value. Here's the 20% I protect first.

OpinionStrategyBest Practices
Read more →

How AI Changes the Salesforce Consulting Model

·8 min read

The economic shifts AI is bringing to Salesforce consulting — what's getting cheaper, what's getting more valuable, and what the agency model looks like now.

AIConsultingOpinionArchitectureCareer
Read more →

The CTA Certification: Why I Stopped Pursuing It

·8 min read

I spent a year prepping for the Salesforce CTA review board, then withdrew. The honest reasoning: the cost, the breadth trap, and what I chose to do instead.

OpinionCareerCertifications
Read more →

Salesforce Consulting in Australia: Market Reality in 2026

·8 min read

An honest read on Australia's Salesforce consulting market in 2026 — the two-tier split, real day rates, the offshore ceiling, and where boutiques win.

OpinionConsultingAustralia
Read more →

How I Use Claude Code to Write Apex 5x Faster

·7 min read

The actual workflow I run for AI-assisted Apex development — what AI handles well, what it gets wrong, and the prompts that survive code review.

AIApexClaude CodeProductivityDevelopment
Read more →

The Real Cost of Salesforce Technical Debt

·9 min read

Technical debt on Salesforce has a real interest rate, and it compounds where you don't look. How I measure it, cost it, and decide what's worth paying down.

OpinionTechnical DebtArchitecture
Read more →

When Salesforce Is the Wrong Choice (Yes, Really)

·9 min read

I sell Salesforce architecture for a living, and sometimes the advice is to walk away from the platform. Here's how I decide when Salesforce is the wrong tool.

OpinionArchitectureStrategy
Read more →

15 Years on Salesforce: What I'd Tell My Day-1 Self

·8 min read

Fifteen years of Salesforce, ten orgs, three major platforms shifts, and a long list of mistakes. The lessons I'd pass back to the version of me who started in 2010.

CareerSalesforceOpinionArchitecture
Read more →

AI-Assisted Salesforce Data Migration: A Real Walkthrough

·9 min read

How I actually use AI across a Salesforce data migration — profiling, field mapping, and the transform Apex — plus the near-miss that set my one hard rule.

AIData MigrationApex
Read more →

Using AI to Prepare for Salesforce Security Review

·9 min read

AppExchange security review is a grind of scanner findings and questionnaires. Here's how I use AI to triage the report, fix CRUD/FLS at scale, and pass sooner.

AISecurity ReviewAppExchange
Read more →

Using Local AI Models for Salesforce Development

·8 min read

Cloud AI is off the table at regulated Salesforce orgs. Here is how I run local models with Ollama for Apex and SOQL, the hardware, and the honest limits.

AILocal ModelsDeveloper Tools
Read more →

AI-Generated SOQL: Surprisingly Good, Occasionally Dangerous

·8 min read

AI writes cleaner SOQL than I do at 5pm — right relationships, right field names. But it can't see your data volumes. Here's where it helps and hurts.

AISOQLApex
Read more →

Using AI to Generate Apex Test Classes: What Works and What Doesn't

·9 min read

AI can hit Apex code coverage in seconds, but coverage was never the point. Here is what AI test generation gets right, where it fails, and how I use it.

AITestingApex
Read more →

SOQL Patterns That Won't Kill Your Governor Limits

·9 min read

The SOQL antipatterns I keep finding in code review, the patterns that replace them, and the trade-offs nobody explains — from years of production Salesforce.

ApexSOQLPerformanceBest PracticesArchitecture
Read more →

AI Code Review for Apex: My Workflow

·10 min read

How I run AI code review on Apex pull requests: the pipeline, the prompt rubric that cuts the noise, and the bulkification bugs two tired humans skim past.

AICode ReviewApexDevOps
Read more →

Async Apex Patterns: Queueable vs Batch vs Future — The Decision Tree

·9 min read

Choosing between Queueable, Batch Apex, and Future methods is the asynchronous decision most Salesforce devs get wrong. Here's the framework I use, and the cases where the obvious choice is wrong.

ApexPerformanceArchitectureAsyncBest Practices
Read more →

The AI-Native Salesforce Developer Workflow in 2026

·10 min read

How my Salesforce dev loop actually runs now that agents write the boilerplate — the context files, specs, review gates, and pipeline that hold it together.

AIWorkflowDeveloper Productivity
Read more →

Using Cursor and Claude Code as a Salesforce IDE

·9 min read

How I run Cursor and Claude Code as a working Salesforce IDE: the Apex language server setup, the context files, the deploy loop, and the parts that break.

AIDeveloper ToolsClaude CodeCursor
Read more →

Building a 2GP Managed Package from Scratch

·8 min read

What it actually takes to ship a Second-Generation managed package on Salesforce — the namespace, the version pipeline, the gotchas, and the trade-offs.

AppExchangeManaged Packages2GPISVArchitecture
Read more →

Handling Bulk API Calls Without Hitting Limits

·9 min read

Bulk API failures are rarely about the daily record cap. How I handle row locks, batch sizing, and automation during large loads, with real production code.

IntegrationsBulk APILarge Data Volumes
Read more →

Data Migration to Salesforce: The Honest Playbook

·9 min read

What actually goes into a clean Salesforce data migration — from field mapping through cutover — and the gotchas that turn one-week migrations into one-month projects.

Data MigrationSalesforceBest PracticesArchitecture
Read more →

REST API Integration Patterns for Salesforce

·9 min read

The REST integration patterns I actually use in production Salesforce orgs: named credentials, async callouts, idempotency, and when to skip REST entirely.

IntegrationsREST APIApexArchitecture
Read more →

Duplicate Management Rules That Don't Annoy Users

·9 min read

Salesforce duplicate management fails when it blocks the wrong people. Here's how I tune matching rules and duplicate rules so they help users, not nag.

Data QualityDuplicate ManagementAdmin
Read more →

Flow Performance Optimisation: 5 Things Slowing Your Flows Down

·7 min read

The Flow patterns that quietly destroy performance — and the fixes that have worked for me on government and financial services orgs.

FlowPerformanceSalesforceBest PracticesArchitecture
Read more →

Delta Deployments: What Works in 2026

·9 min read

How I run Salesforce delta deployments with sfdx-git-delta — the pipeline wiring, test-level choices, destructive-change traps, and where delta lies to you.

DevOpsCI/CDDeployment
Read more →

Apex Test Patterns: How to Write Tests That Actually Catch Bugs

·9 min read

Most Apex tests pass coverage and catch nothing. The patterns that actually catch bugs — test data factories, behaviour assertions, governor limit checks, and the bulk cases everyone skips.

ApexTestingBest PracticesArchitectureDevOps
Read more →

Dynamic SOQL Done Safely

·9 min read

Dynamic SOQL fails more AppExchange security reviews than almost anything. Here's how I build queries that can't be injected — binds, allowlists, user mode.

ApexSOQLSecurityDevOps
Read more →

CRUD/FLS Enforcement: Why Most Apex Code Fails Security Review

·7 min read

The CRUD and FLS enforcement patterns that actually pass AppExchange security review — and the antipatterns the scanner keeps flagging.

ApexSecurityAppExchangeCRUDFLS
Read more →

Error Handling in Apex: Beyond Try-Catch

·9 min read

Try-catch is where Apex error handling starts, not where it ends. Custom exceptions, persisted logs, partial-success DML, and errors that survive a rollback.

ApexError HandlingBest PracticesDevOps
Read more →

Sharing Rules vs Manual Sharing vs Apex Sharing: When to Use What

·9 min read

Sharing rules, manual sharing, or Apex managed sharing? After years spent untangling Salesforce security models, here's how I decide which one to reach for.

SecuritySharing ModelApex
Read more →

A Trigger Framework That Actually Scales

·5 min read

Most Salesforce orgs start with a handful of triggers and end up with a mess. Here's the framework I've used across government, financial services, and ISV orgs — and why the boring parts matter most.

ApexTrigger FrameworkArchitectureBest Practices
Read more →

Permission Set Groups: The Pattern That Simplifies Everything

·8 min read

Assigning permission sets one by one turns into sprawl nobody can audit. Here's how I use permission set groups and muting sets to make access legible again.

SecurityPermissionsPermission Sets
Read more →

Record-Triggered Flows vs Apex Triggers: The Decision Framework

·9 min read

Record-triggered flows or Apex? I've built both in production for years. Here's the exact framework I use to decide, and where each one quietly falls apart.

FlowsApexArchitectureAutomation
Read more →

Custom Metadata Types: The Swiss Army Knife You're Underusing

·9 min read

Most admins use custom metadata for one lookup table and stop. Here's how I use it to kill hardcoded config, dodge governor limits, and keep rules in source.

Custom MetadataConfigurationArchitectureApex
Read more →

Moving from Profiles to Permission Sets (Without Losing Your Mind)

·6 min read

Salesforce has been nudging us toward permission sets for years. Here's how I actually did the migration on a large government org — the strategy, the gotchas, and what I'd do differently.

SecurityPermissionsProfilesArchitectureGovernance
Read more →

When to Use Platform Events vs Change Data Capture

·9 min read

Platform Events and Change Data Capture look similar but solve different problems. Here's how I decide between them on real Salesforce integration work.

Platform EventsIntegrationsArchitectureCDC
Read more →

Domain Layer Patterns in Apex That Survive Real Projects

·9 min read

The domain layer patterns I actually use in production Apex — how fflib domain classes plug into triggers, where validation belongs, and when it's overkill.

ApexArchitectureDomain LayerBest Practices
Read more →

CI/CD on Salesforce: What Actually Works in Practice

·6 min read

Everyone talks about CI/CD for Salesforce, but most guides skip the hard parts. Here's what I've built with GitHub Actions, scratch orgs, and delta deployments — and the compromises you'll have to make.

DevOpsCI/CDGitHub ActionsScratch OrgsDeployment
Read more →

New essays by email

Occasional essays on Salesforce architecture, AI-assisted delivery, and building — sent when I publish, not on a schedule. No spam, unsubscribe anytime.