Referral Board
Website:

@

Observability - APM - Principal Engineer - Go/Python

🌍 Distributed, EMEA 📅 07/14/2023

Apply

Clients Team: Open Source Software Engineer II (Python, Dynamic Languages)

🌍 Distributed, EMEA 📅 07/05/2023

Apply

Job Description

The Observability team is in charge of developing solutions that focus on
application developers and engineers that run infrastructure and services
supporting these applications. Elasticsearch is an efficient datastore for
logs, metrics, and application traces, supporting the three pillars of
observability. The Observability team builds and maintains solutions that make
getting insights from this data turnkey and efficient, such as our
[APM](https://www.elastic.co/solutions/apm), [Infrastructure
Monitoring](https://www.elastic.co/solutions/metrics),
[Logs](https://www.elastic.co/solutions/logging), and
[Uptime](https://www.elastic.co/uptime-monitoring) solutions. When developing
these solutions, we think about the problem end-to-end: how do we
automatically collect data from common data sources, how do we store it
efficiently in Elasticsearch, how do we present this information to the user,
what actions do we take on the insights from the data? All of these aspects
are important in bringing a turnkey solution to the market.

As an **APM Agent Engineer** you will be part of a team developing a high
quality, open source APM product aimed to help developers instrument, debug,
and monitor applications. You’ll be deeply involved with the Python agent
codebase and evolve it to build new features and better support our users and
customers. The APM agents team owns the APM data model, implemented in Go, and
you will be the primary person maintaining it as it evolves to better support
our product and integrate with Open Telemetry. In order to inform decisions
and adjustments to the APM data model, you will engage with the Open Telemetry
community. You’ll act as a liaison and bring discussion points back to the
team as well as contribute code to OTel components.

You will also collaborate closely with the APM Server team and with the UI
team to ensure that we deliver the best possible experience for our users.

The team is diverse and distributed across the world, and collaborates on a
daily basis over Github, Zoom, and Slack.

##### **What you will be working on**

* Join the APM agents team
* Own the APM data model (Go) and adapt it as necessary
* Introduce changes as we evolve the storage and intake models
* Maintain the Python agent for Elastic APM
* The agent is [open-source](https://github.com/elastic/apm-agent-python), so the job includes handling community pull requests, issues and discussion forums requests
* Respond to support cases and work with our support team and customers to resolve issues with the Python agent
* Build new integrations with Python frameworks and libraries
* Ensure high quality and good agent performance
* Contribute to and participate in Open Telemetry (OTel) projects
* Work on and help drive Elastic APM's integration with OTel
* Join relevant Special Interest Group meetings (SIGs)
* Contribute new features, instrumentations, specification implementations, etc. to OTel components (collector, agents, etc)
* Bring discussion points from the OTel groups back to the Elastic APM team
* Work with the broader APM Agents team on new cross-agent features, specs and alignment

##### **What you will bring along**

* Professional experience in Go and Python, with at least 3+ years in one of them
* Knowledge of Python web frameworks and ecosystem
* Experience with developing libraries (packages) for Python and Go
* Experience working on an open source project with a large community
* Experience or knowledge in OpenTelemetry
* Ability to write specifications and lead discussions around them
* Ability to work independently in a globally distributed team

##### **Bonus Skills**

* Previous experience developing APM products