Pebellslearn by building
0%
RoadmapsMatrixCoursesSandboxSign in
Programming, APIs and SDKs  ›  Lesson

Why an Advocate Must Code

Basic Programming Skills 12 minA developer advocate needs enough programming skill to run, debug and build small things with the product, because you can only vouch for what you can make work yourself.

Why an Advocate Must Code

A developer pastes 200 lines of a Django app into Rainkit's forum with one sentence: "Rainkit is broken, forecasts never load." Meera could forward it to the engineers and wait. Or she could find out in ten minutes what is actually wrong. Only an advocate who codes can do the second, and it is the second that earns developers' trust.

The rule

If you can't run it yourself, you can't vouch for it.

A developer advocate doesn't need to be the strongest engineer in the company, but needs enough skill to build, run and debug things with the product. The usual baseline:

  • One language well enough to build a small app, often Python or JavaScript, and enough reading skill to follow two or three others.
  • The command line: installing packages, setting environment variables, running scripts.
  • HTTP and JSON: requests, headers, status codes and response bodies (the next lesson).
  • Git and GitHub: cloning, branching, opening a pull request. Much of any developer community lives there.
  • An editor you are fluent in, such as VS Code or a JetBrains IDE. Which one matters far less than knowing it well, especially when you code live in front of a room.
  • Reading errors and stack traces, and reproducing bugs.

These skills pay off everywhere. Sample code works. Tutorials survive a clean run. Talks can include live demos. Bug reports to the engineering team are precise instead of vague. And developers can tell, within a few minutes, whether the person helping them actually codes.

The shortcut

Use the minimal reproduction: shrink the problem to the smallest program that still shows it. Remove everything unrelated, then change one thing at a time until you find the trigger.

Here is where Meera's shrinking ended up:

from rainkit import Rainkit

client = Rainkit(api_key="rk_test_123")
print(client.forecast(lat=18.52, lon=73.86, hours=48))
From 200 lines to 4Step 1 of 5
  1. Start from the report

    A 200-line Django app, and "forecasts never load". Too big to reason about.

The trap is forwarding "it's broken" without reproducing it. The engineers lose time, the developer waits longer, and the real bug, which here was in the SDK, can hide behind a user mistake.

Drills

Answer fast — trust the rule.

quick drill

Why does a developer advocate need to code?

quick drill

What is a minimal reproduction?

quick drill

In a minimal reproduction, hours=6 works but hours=48 fails. What have you learned?

quick drill

For an advocate who codes live on stage, what matters most about their editor?

Remember

  • If you can't run it yourself, you can't vouch for it.
  • Shortcut: the minimal reproduction. Shrink the problem, then change one thing at a time.
  • Trap: forwarding "it's broken" reports without reproducing them first.

Practice — level up

0/1 solved

Write your answer, then compare it with a rubric and a model answer.

ExplainReproduce before you report

A developer posts 300 lines of JavaScript and says 'Rainkit's SDK returns undefined for every forecast.' Explain how Meera should reproduce the problem and what she should send to the SDK team.