Early in a Salesforce career, there’s a quiet pressure to prove yourself by writing code. Code feels like “real” development; clicking buttons feels like cheating. So beginners reach for Apex to solve problems that a five-minute configuration would have handled — and they create work they’ll have to maintain forever.

I want to dismantle that instinct, because choosing the right tool is the actual skill. Salesforce gives you a ladder of options, and the professional move is to climb only as high as the problem requires.

The golden rule: clicks first, code last

Salesforce’s own guidance, and every senior architect I respect, follows the same order of preference:

  1. Configuration (clicks) — fields, page layouts, validation rules, formula fields.
  2. Flow — declarative automation: “when this happens, do that.”
  3. Apex (code) — only when the tools above genuinely can’t express what you need.

The rule is: use the lowest rung on the ladder that solves the problem. Not because code is bad, but because every line of code is a promise — to test it, to maintain it, to debug it at 2 a.m. someday. Configuration carries far less of that weight, and Salesforce upgrades it for you automatically twice a year.

When clicks are enough

Reach for plain configuration when the problem is about shape and rules, not process:

  • You need to store a new piece of information → a custom field.
  • You need to stop bad data getting saved (“close date can’t be in the past”) → a validation rule.
  • You need a calculated value (“profit = price − cost”) → a formula field.

If you’re tempted to write Apex for any of these, stop. The platform already does it, and does it better than your code will.

When Flow is the right call

Flow is Salesforce’s visual automation tool. You build logic by connecting boxes on a canvas instead of typing code. It’s the right choice when you need a process to happen automatically:

  • “When an Opportunity is marked Closed Won, create a follow-up task and notify the account owner.”
  • “When a Case sits untouched for 24 hours, escalate it.”
  • A guided, multi-step screen that walks a user through entering data.

Flow has grown enormously powerful. A huge share of what used to require Apex is now a clean, maintainable Flow that an admin can read and adjust without a developer. As a beginner, invest in Flow seriously — it’s the highest-leverage skill on the platform.

When you genuinely need Apex

Apex earns its place when the problem crosses a line Flow can’t:

  • Complex logic — heavy loops, intricate calculations, or algorithms that would be a tangled mess of Flow boxes.
  • Talking to outside systems — calling an external API, like a payment provider or a shipping service. (That’s a whole world; see the Integration category.)
  • High-volume processing — operating on thousands or millions of records efficiently, where you need precise control.
  • Reusability across many places — shared logic you want to call from triggers, screens, and batch jobs alike.

A good test: if you can describe the requirement clearly in Flow and it isn’t fighting you, use Flow. The moment you’re building elaborate workarounds in Flow to force it to do something unnatural, that’s Apex tapping you on the shoulder.

The mistake I see most often

It’s not beginners using Apex too little — it’s using it too early. They write 200 lines to do what a validation rule does in one expression, then spend a week debugging it. Six months later, nobody remembers why the code exists, and it’s the scary thing nobody wants to touch.

Twenty years of teaching taught me that the elegant solution is almost always the simplest one that fully solves the problem — not the most impressive one. The same is true here. Choosing clicks over code when clicks are enough isn’t laziness. It’s craftsmanship.

Your next step

Now you have the framework: climb the ladder only as high as you must. Practice it by taking your next requirement and honestly asking, “Could a field, a validation rule, or a Flow do this?” before you open the Developer Console.

When you’re ready to apply this thinking to real business problems, the Revenue Cloud category is full of cases where knowing when to use code versus configuration makes or breaks the design. And if you haven’t written any Apex yet, Your First Apex Class is the gentle on-ramp.

Mustafa Aksu

Salesforce developer & ISV builder focused on Revenue Cloud, Agentforce, and Data Cloud. I write from real, shipped work.