elastic APM - Node.js Agent Engineer

Posted on April 16th, 2019

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

  • Join the Node.js APM Agent team alongside two other persons on the team.
  • 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

  • In-depth experience with Node.js, possessing broad knowledge of JavaScript in general and Node.js internals.
  • 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
  • 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.

 

Additional Information

  • Competitive pay and benefits
  • Option to work 100% remote or from any office
  • Stock options
  • Catered lunches, snacks, and beverages in most offices
  • An environment in which you can balance great work with a great life
  • Passionate people building great products
  • Employees with a wide variety of interests
  • 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.
  • Distributed-first company with employees in over 30 countries, spread across 18 time zones, and speaking over 30 languages! Some even fly south for the winter :)

 

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.

#LI-WN1

Apply for this Position