Senior Go Engineer, APM (R4772)


At Elastic, we see endless possibility in a world of endless data. And we use the power of search to help people and organizations turn that possibility into results. Elastic is the leading platform for search-powered solutions. With solutions in Enterprise Search, Observability, and Security, we help improve customer and employee search experiences, keep critical applications running smoothly, and protect against cyber threats. Elastic enables organizations worldwide to use the power of Elastic, including Netflix, Uber, BBC, Microsoft, and thousands of others.

Elastic was built on a foundation of being free and open, which trickles down to how we work. We’re a distributed organization and have been from the beginning. Being distributed isn’t just a way of doing business—it’s a mentality that is at the core of our culture.

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, Infrastructure Monitoring, and Logs 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 a Senior Go Engineer, APM, you will be part of a team developing high quality, open and free APM products that are part of the ingest flow of the Elastic APM solution. You will be mainly focusing on the APM Server, but also contribute to other components, such as the APM Go agent and the Elastic APM AWS Lambda Extension. 

The APM Server is a stateless component, receiving and validating data from APM agents and transforming them into Elasticsearch documents. It controls the amount of data flowing into Elasticsearch and can buffer data temporarily without adding overhead to the APM agents. The APM Server also acts as middleware for several use cases, such as applying source mapping for JavaScript in the browser. As part of the Go APM team, you’ll be creating and maintaining performant golang code, collaborating with others when developing new features and ensuring  automated test coverage. You will be defining performant data structures in Elasticsearch and ensure constant benchmarking of the product. We appreciate community contributions, and as such, engaging with the open source community is also an important part of this role.

You will collaborate closely with the rest of the Go APM team, interact with the APM agents team when adding new features to the server API, with the Elasticsearch and the APM UI team when optimizing data models for storage and query performance, and with many more, such as the Integrations and the Cloud team.

The team is diverse and distributed across the world, and collaborates daily over GitHub, Zoom, and Slack. 

What you will be doing:

  • Implement new features in the APM Server, the APM Go agent and the APM AWS lambda extension. 
  • Ensure automated test coverage when adding new code. 
  • Maintaining, updating and improving existing code and dependencies. 
  • Work together with the Elastic Cloud team to ensure a seamless user experience for our hosted APM offering. 
  • Collaborate with APM agent developers and UI teams to ensure the best experience possible for developers using the APM product.
  • Collaborate with other parts of the Observability team on cross team features.
  • Design data formats for optimized data storage and query performance in Elasticsearch, working closely with the Elasticsearch and the APM UI team.
  • Collaborate with the support team on customer requests, and engage with the community via pull requests, issues and discuss forums. 
  • The code is public, so the job includes handling community pull requests, issues, etc.

What you bring along: 

  • Professional and in-depth experience with Go with strong analytical, debugging, and troubleshooting skills.
  • Experience and knowledge in the observability space (developing monitoring products, working with metrics and sampling strategies, etc).
  • Experience with and interest in going deep on advanced topics such as memory management, benchmarking and profiling.
  • Hands-on experience with Docker and Kubernetes.
  • Experience developing high throughput, low latency services.
  • Ability to work independently in a globally distributed team, while ensuring to collaborate and share knowledge and important information with your colleagues.
  • A positive attitude and a curious mindset.

Bonus points:

  • Experience creating or monitoring system level software on Unix.
  • Deep knowledge of Elasticsearch.
  • Experience participating in technical decision-making across different engineering teams.

Additional Information - We Take Care of Our People

As a distributed company, diversity drives our identity. Whether you’re looking to launch a new career or grow an existing one, Elastic is the type of company where you can balance great work with great life. Your age is only a number. It doesn’t matter if you’re just out of college or your children are; we need you for what you can do.

We strive to have parity of benefits across regions and while regulations differ from place to place, we believe taking care of our people is the right thing to do.

  • Competitive pay based on the work you do here and not your previous salary
  • Health coverage for you and your family in many locations
  • Ability to craft your calendar with flexible locations and schedules for many roles
  • Generous number of vacation days each year
  • Double your charitable giving - We match up to $1500 (or local currency equivalent)
  • Up to 40 hours each year to use toward volunteer projects you love
  • Embracing parenthood with minimum of 16 weeks of parental leave

Different people approach problems differently. We need that. Elastic is committed to diversity as well as inclusion. We are an equal opportunity employer and committed to the principles of affirmative action. Qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender perception or identity, national origin, age, marital status, protected veteran status, or disability status or any other basis protected by federal, state or local law, ordinance or regulation. If you require any reasonable accessibility support, please email

Applicants have rights under Federal Employment Laws, view posters linked below:
Family and Medical Leave Act (FMLA) Poster; Equal Employment Opportunity (EEO) Poster; and Employee Polygraph Protection Act (EPPA) Poster.

Please see here for our Privacy Statement.

Learn about Elastic's Culture

Notify Me of Open Positions

Sign in with your social account to receive emails when Elastic posts open positions you might be interested in:

Powered By Ongig