APM - Node.js Engineer at Elastic
At Elastic, we have a simple goal: to solve the world's data problems with products that delight and inspire. As the company behind the popular open source projects — Elasticsearch, Kibana, Logstash, and Beats — we help people around the world do great things with their data. From stock quotes to Twitter streams, Apache logs to WordPress blogs, our products are extending what's possible with data, delivering on the promise that good things come from connecting the dots. The Elastic family unites employees across 30+ countries into one coherent team, while the broader community spans across over 100 countries.
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 Node.js 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 Node.js developers instrument, debug, and monitor Node.js applications. As part of the agent team, you’ll be deeply involved with the entire codebase and take on responsibilities for new features, improving the resource footprint and roadmap planning. You will also be engaging with the open source community.
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 Node.js developers.
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
- Improve the Node.js agent for Elastic APM
- Add new features
- Build new integrations with popular Node.js modules
- Improve the current code base
- The agent is open-source, so the job includes handling community pull requests, issues, etc
- Collaborate with APM Server and UI teams to ensure the best experience possible for Node.js developers
What you will bring along
- You know and care about writing performant Node.js code and have traced performance issues yourself.
- Experience and interest in going deep on advanced topics such as async context propagation, libuv, V8 (garbage collection, memory structure, microtask queue etc), CPU profiling and the like.
- Experience with Node.js apis such as async_hooks, stream, http2, and worker_threads, as well as popular job queuing libraries etc. is a big plus.
- Ability to work independently in a globally distributed team.
Nice to have:
- Previous experience developing APM products or optimization related code. ie.
- You have worked developing an APM product
- You have developed or contributed to a performance improvement oriented Node.js library or tooling
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 1% of your salary
- Up to 40 hours each year to use toward volunteer projects you love
- Embracing parenthood with minimum of 16 weeks of parental leave
Elastic is an Equal Employment employer committed to the principles of equal employment opportunity and affirmative action for all applicants and employees. 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. Elastic also makes reasonable accommodations for disabled employees consistent with applicable law.