Observability - Senior Go Developer - Managed Intake Services

Full Time
9 months ago

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.

About the role 

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, application traces and profiling data. The Observability team builds and maintains solutions that make getting insights from this data turnkey and efficient, such as our APM, Infrastructure Monitoring, Logs and Universal Profiling 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, Observability Intake Services, you will be part of a team developing high quality observability products that are essential to the ingest flow of the Elastic Observability solution. You will be mainly focusing on the intake service components, for on-prem deployments and hosted on Elastic Cloud. This includes building components and services that receive and validate signals from Elastic APM or OpenTelemetry SDKs, as well as profiling agents, and transform them into Elasticsearch documents. The intake service components control the amount of data flowing into Elasticsearch and can buffer data temporarily without adding overhead to the applications on the edge. As part of the Intake Services team, you’ll be building and maintaining existing features in Go, with a focus on quality, performance, reliability, security and testability. The team has a strong focus on automation and continuous improvements. You’ll be collaborating with team colleagues and across team boundaries. We appreciate community contributions, and as such, engaging with the open source community is also an important part of this role.

You will closely collaborate with the rest of the Intake Services team, interact with the rest of the Observability team and the Elasticsearch team when optimizing data models for storage and query performance, and with many more, such as the platform and the Cloud team for ensuring our services perform well in the Elastic Cloud.

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:
  • Design and implement new features for the intake services in Go
  • Create and improve the development infrastructure using modern tooling such as Tilt and Terraform  
  • Build a strong backend solution for the OpenTelemetry data flow
  • Maintain, update and improve existing code and dependencies while ensuring automated test coverage
  • Collaborate with other parts of the company on cross team features.
  • Design data formats for optimized data storage and query performance in Elasticsearch.
  • Collaborate with the support team on customer requests, and engage with the community via pull requests, issues and discuss forums. 
  • Build SLIs and SLOs and participate in an on-call rotation for the services in the team’s ownership.
What you bring along: 
  • Professional and in-depth experience with Go, with strong analytical, debugging, and troubleshooting skills.Strong experience working with stream processing platforms such as Apache Kafka or cloud provider managed queues.
  • Experience with and interest in going deep on advanced topics such as memory management, benchmarking or profiling.
  • Experience and knowledge in the observability space (developing monitoring products, working with metrics and sampling strategies, etc).
  • 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
  • Understanding how to design and implement SLOs
  • Experience working with various cloud service providers  
  • Knowledge of Elasticsearch and/or Kibana.
  • 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 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; Pay Transparency Nondiscrimination Provision Poster; Employee Polygraph Protection Act (EPPA) Poster and Know Your Rights (Poster)

Please see here for our Privacy Statement.