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 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 on a daily basis 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 and updating existing code and dependencies. 
  • Work together with the Elastic Cloud team to ensure a seamless user experience for our hosted APM offering. 
  • 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: 

  • 2-3 years of professional software development and/or a degree in a relevant field with some hands-on experience. 
  • Proficiency in at least one programming language. A basic understanding and knowledge of Go is required.  
  • Some experience in debugging, and troubleshooting issues.
  • Knowledge of working with databases, and ideally with distributed systems such as Elasticsearch.
  • A basic understanding of Observability. Ideally you have already used APM products for monitoring and troubleshooting problems.
  • A positive attitude and a curious mindset.

Bonus points:

  • Experience with APM products.
  • Experience with working with metrics and logs.
  • Experience working with high throughput, low latency services.
  • Experience with the Elastic Stack
  • Experience delivering on-premise software

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 donations 1:1 up to $1500 USD (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 an equal opportunity/affirmative action employer committed to diversity, equity, and inclusion. Qualified applicants will receive consideration for employment without regard to race, ethnicity, color, religion, sex, pregnancy, sexual orientation, gender perception or identity, national origin, age, marital status, protected veteran status, disability status, or any other basis protected by federal, state or local law, ordinance or regulation.

We welcome individuals with disabilities and strive to create an accessible and inclusive experience for all individuals. To request an accommodation during the application or the recruiting process, please email candidate_accessibility@elastic.co We will reply to your request within 24 business hours of submission.

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 More 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