Not always. Auto-instrumentation for Java, Python, .NET, Node.js, and PHP works by attaching an agent at startup with no source changes required. For other languages, or for capturing custom business logic in spans, you use the OTel SDK directly, which most teams add incrementally alongside existing code rather than in a single rewrite.