OutSystems Tech Lead study materials
OutSystems Tech Lead study resources

OutSystems Tech Lead common mistakes

OutSystems Tech Lead · Understand the traps and how to avoid them.

Mistake 1

When asked to design a solution, the candidate jumps straight to listing screens and entities without first stating the architectural drivers (expected user volumes, integration points, availability needs) and the trade-offs they imply.

OutSystems makes it easy to build quickly, so candidates default to 'what I would build' rather than 'what the architecture must satisfy'. They treat the design question as a build question and skip the reasoning the exam is testing.

What to do instead

Open every architecture answer with a short driver list: scale, latency, integration landscape, deployment topology, and non-functional constraints. Then map each major decision (module split, sync vs async, caching, BPT vs API) back to a driver, and explicitly name the alternative you rejected and why.

Mistake 2

The candidate proposes a single monolithic module or a flat app structure for a large multi-team solution, without separating reusable core services from channel-specific apps or defining a clear layering (core / composite / UI).

Candidates learn on small projects where one module works fine, and they have not internalised how module boundaries map to ownership, deployment independence, and reuse in the platform.

What to do instead

Practice sketching a layered architecture: a core services layer with stable public APIs, composite modules that orchestrate, and thin UI apps per channel. Justify the split by team ownership and change frequency, and state how you would enforce it (module dependency rules, architecture dashboard, code review gates).

Mistake 3

When discussing integrations, the candidate treats all calls as synchronous and does not address failure handling, retries, timeouts, idempotency, or what happens when the external system is down.

Demo projects call REST APIs that always succeed, so resilience is invisible. Candidates describe the happy path and are surprised by follow-up questions on partial failure.

What to do instead

For every integration, state the interaction style (sync request/response vs queued/async), the timeout and retry policy, the idempotency key, the dead-letter or compensation path, and how errors surface to users and operations. Mention when to use a queue or BPT instead of a blocking call.

Mistake 4

The candidate plans delivery as a single big-bang release with a full requirements freeze, and cannot describe how to slice work into increments that each deliver usable value.

Candidates without tech-lead experience describe delivery as a Gantt chart of sequential phases; they have not practised incremental delivery or MVP scoping under real constraints.

What to do instead

Present a release plan in vertical slices: each increment names the user outcome, the modules touched, and the deployment event. Show how you sequence risky or integration-heavy work early, and how a first increment can ship with stubbed or manual fallbacks for unfinished parts.

Mistake 5

The candidate answers estimation and planning questions with a single number and no basis, and does not mention estimation approach, uncertainty ranges, or how estimates are revised.

Pressure to appear decisive leads candidates to give confident point estimates without stating assumptions, which reads as guesswork rather than engineering judgement.

What to do instead

State the estimation method (relative sizing, reference stories, historical velocity), give a range with the assumptions behind it, and describe how you would de-risk the largest unknown with a spike before committing. Tie the plan to a capacity model: team size, sprint length, and availability.

Mistake 6

The candidate designs role-based access by checking a role in the UI layer only, or by hardcoding group names and conditions inside screens and actions.

Role checks in screens are the easiest thing to demo, so candidates stop there and never describe server-side enforcement or centralised authorisation logic.

What to do instead

Describe authorisation as enforced in the service layer, with a single reusable check (for example a permission-check action or a security policy module) called by every exposed action. Explain how roles map to OutSystems users and groups, how to handle record-level access, and how the UI check is a convenience, never the control.

Mistake 7

The candidate exposes server actions or REST endpoints without validating input, without authentication on the endpoint, and without considering what data the response leaks.

Exposed actions are treated as internal plumbing rather than a public attack surface, and the platform's defaults are assumed to be safe without verification.

What to do instead

For every exposed element, state the authentication and authorisation requirement, the input validation rules, the output filtering (return only needed fields), and rate limiting or throttling where relevant. Mention using integration authentication, avoiding anonymous exposure, and reviewing the module's exposed elements as part of release.

Mistake 8

When asked to troubleshoot a slow screen or timeout, the candidate guesses at fixes (add caching, increase timeout) without describing how they would measure and isolate the cause first.

Candidates answer from memory of past fixes rather than a diagnostic method, so the answer is a list of remedies with no evidence-gathering step.

What to do instead

Walk through a structured method: reproduce, check the platform monitoring and logs for the failing request, measure the slow step (query, integration, server action), inspect the generated SQL and indexes, then fix the actual bottleneck. Only after diagnosis discuss caching, query tuning, or async offloading, and say how you would verify the improvement.

Mistake 9

The candidate optimises by adding client-side caching or by moving logic to the client, without addressing data freshness, cache invalidation, or the security implications of client-side logic.

Caching is the best-known performance lever, so it is applied reflexively. Candidates rarely think through staleness or the fact that client-side logic is visible and tamperable.

What to do instead

Before proposing caching, state what data is cached, where, for how long, and how it is invalidated. Keep business rules and secrets server-side, and reserve client-side work for presentation concerns. Explain how you would measure cache effectiveness and what happens when the cached data is stale.

Mistake 10

The candidate describes code review and quality control as a final gate before release, with no definition of done, no automated checks, and no ownership model for modules across teams.

Governance is treated as paperwork rather than an engineering practice, and candidates have not seen how lifecycle controls (versioning, environments, promotion) prevent defects.

What to do instead

Describe governance as continuous: a definition of done covering review, tests, and documentation; automated checks in the pipeline; module ownership with named reviewers; and environment promotion rules (dev to test to production) with versioned deployments. Explain how you would handle an urgent production fix without bypassing the controls.