Elastic is hiring an

Observability - Senior Go Engineer, APM

Omaha, United States

Elastic is a free and open search company that powers enterprise search, observability, and security solutions built on one technology stack that can be deployed anywhere. From finding documents to monitoring infrastructure to hunting for threats, Elastic makes data usable in real-time and at scale. Thousands of organizations worldwide, including Barclays, Cisco, eBay, Fairfax, ING, Goldman Sachs, Microsoft, The Mayo Clinic, NASA, The New York Times, Wikipedia, and Verizon, use Elastic to power mission-critical systems. Founded in 2012, Elastic is a distributed company with Elasticians around the globe. Learn more at elastic.co.

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 working on the APM Server and the APM Go agent. The APM Server is a stateless component that receives data from APM agents and validates and transforms 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. The APM Go agent enables users to trace the execution of operations in Go applications, sending performance metrics and errors to the Elastic APM Server. As part of the Go APM team, you’ll be deeply involved with the entire APM Server and Go agent codebase and take on responsibilities for new features. You will also be engaging with the open source community.

You will work closely with the rest of the team, collaborate with the APM agent team when adding new features to the server API and the Go agent and work with the UI team to ensure that we deliver the best possible experience for developers using our APM product. There are many other teams you will collaborate with, such as the Integrations and the Cloud team.

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


What you will be doing:

  • Build new features for the Elastic APM Server and the APM Go agent.
  • Improve the current code base. 
  • Design data formats for optimal data storage in Elasticsearch, working with the Elasticsearch team to identify new features and enhancements. 
  • Collaborate with APM agent developers and UI teams to ensure the best experience possible for developers using the APM product.
  • Work together with the Cloud team to provide the best user experience for running APM Server on Elastic Cloud.
  • Work with the support team to help customers. 
  • 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 with and interest in going deep on advanced topics such as memory management, benchmarking and profiling.
  • Experience developing high throughput, low latency services.
  • Experience developing or working with monitoring products.
  • Ability to work independently in a globally distributed team, while ensuring to collaborate and share knowledge and important information with your colleagues.


Bonus points:

  • Experience creating or monitoring system level software on Unix. 
  • Knowledge of Elasticsearch.
  • Experience participating in technical decision-making across different engineering teams.
  • Hands-on experience with Docker and Kubernetes.

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 [email protected].

Please see here for our Privacy Statement.