Observability - Principal/Senior Engineer - APM - Ruby Agent
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, Logs, and Uptime 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 Ruby Agent Engineer on the APM team, you will be part of a team developing a high quality, open source APM product aimed to help fellow Ruby developers instrument, debug, and monitor Ruby applications. As part of the APM Agents team, you’ll be deeply involved with the entire codebase of the Ruby APM Agent and collaborate on a daily basis with other Agent engineers in the team. You will take on responsibilities for new features, alignment with other agents, improving the resource and performance footprint of the agent and contribute to roadmap planning for the Ruby APM Agent. As a core contributor and maintainer of an open-source project, you will also be engaging with the open source community.
Besides close collaboration within the APM Agents team, you will also collaborate closely with the APM Server team when adding new features to the server API and with the UI team to ensure that we deliver the best possible experience for Ruby developers.
The team is diverse and distributed across the world, and collaborates on a daily basis over GitHub, Zoom, and Slack. Thus, the ability to work within a distributed team is critical.What you will be working on
- You will be joining a team of Agent Engineers with many different skills and focuses on different runtimes and programming languages
- Work with broader APM Agents team on new cross-agent features, specs and alignment
- Improve the Ruby agent for Elastic APM
- Develop new features
- Explore, evaluate and implement new monitoring and profiling approaches
- Build new integrations with Ruby frameworks
- Improve the current code base
- Ensure high quality and agent performance
- Work on agent integrations with open standards (e.g. OpenTelemetry)
- The agent is open-source, so the job includes handling community pull requests, issues and handling community requests in discussion forums
- Collaborate with the APM Server and UI teams to ensure the best experience possible for Ruby developers
- 5+ years of professional and in-depth experience with Ruby, possessing broad knowledge of Rails, Sinatra or other Ruby web frameworks.
- Experience with developing libraries (gems) for Ruby
- Previous experience on developing APM products, performance troubleshooting and code optimization or other technically deep knowledge in APM and Observability
- You have worked developing an APM product
- You have developed or contributed to a performance improvement oriented Ruby library or tooling
- You know how to and care about writing performant Ruby code and have traced performance issues yourself.
- Experience and interest in going deep on advanced topics such as multithreading, memory handling, microbenchmarks, profilers and the like.
- Ability to work independently in a globally distributed team
- Experience with JRuby is a big plus.
- Previous experience with the Elastic Stack
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].
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.