A service owned by somebody else, in a language I do not write, returning the wrong value — and “it is broken” is not a bug report.
what was enough, without learning the language:
find the route table, and the handler it names
read the handler top to bottom, ignoring idiom
find the one comparison that looked wrong
write the input that reaches it, and the output
it produces
the report: "GET /rates?currency=gbp returns the EUR
rate. handler.go:88 compares the currency
lowercased against an uppercase constant."
Reading unfamiliar code for one specific question is a different skill from writing in the language, and it is the more useful one across a boundary. The report was fixed the same day because it named the line — the version that says the endpoint is broken goes into a backlog, and the version that names a comparison gets read as a fix.