---
title: Getting started for Developers
linkTitle: Dev
---

This is the [getting-started](..) page for you if:

- You develop software.
- Your goal is to get observability by writing code.
- You want to have your dependencies emit telemetry for you automatically.

OpenTelemetry can help you! To accomplish your goals of having your dependencies
instrumented automatically and instrumenting your own code with our API
manually, we recommend that you learn the following concepts first:

- [What is OpenTelemetry?](../../what-is-opentelemetry/)
- [How can I add instrumentation to my code base?](../../concepts/instrumentation/code-based/)

If you develop libraries, frameworks or middleware that is used as a dependency
within other software, we recommend that you learn how you can provide telemetry
natively:

- [How can I add native instrumentation to my library?](../../concepts/instrumentation/libraries/)

Next, you can deep dive into the documentations for the
[language](../../languages/) you are using:

- [C++](../../languages/cpp/)
- [.NET](../../languages/net/)
- [Erlang / Elixir](../../languages/erlang/)
- [Go](../../languages/go/)
- [Java](../../languages/java/)
- [JavaScript / TypeScript](../../languages/js/)
- [PHP](../../languages/php/)
- [Python](../../languages/python/)
- [Ruby](../../languages/ruby/)
- [Rust](../../languages/rust/)
- [Swift](../../languages/swift/)
- [Other](../../languages/other/)
