APM - Java Agent Engineer Distributed, Global
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 Java 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 Java developers instrument, debug, and monitor Java 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.
Specifically you will be responsible for developing code that integrates with several Java frameworks and application servers.
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 Java developers.
The team is diverse and distributed across the world, and collaborates on daily basis over Github, Zoom, and Slack.
What you will be doing
- Join the Java APM Agent team alongside one other person on the team.
- Improve the Java agent for Elastic APM
- Build new integrations with Java frameworks
- 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 Java developers
What you will bring along
- 5+ years of professional and in-depth experience with Java, possessing broad knowledge of Java web frameworks
- 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 Java library or tooling
- Experience with a bytecode manipulation framework like Byte Buddy
- You know and care about writing performant Java and have traced performance issues yourself.
- Experience working with Java agents, class loading mechanism, multithreading, zero allocation memory handling, microbenchmarks, profilers, etc.
- Ability to work independently in a globally distributed team
- 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.
Target Locations: Toronto, Canada; Vancouver, Canada; Calgary, Canada; Atlanta, GA; Austin, TX; Dallas, TX; Baltimore, MD; Boston, MA; Boulder, CO; Chicago, IL; Dallas, TX; Denver, CO; Detroit, MI; Houston, TX; Los Angeles, CA; Miami, FL; Minneapolis, MN; Nashville, TN; New York City, NY; Philadelphia, PA; Phoenix, AZ; Portland, OR; Raleigh, NC; Richmond, VA; Sacramento, CA; San Diego, CA; Seattle, WA; Copenhagen, Denmark; Nice, France; Paris, France; Lisbon, Portugal; Dublin, Ireland; Berlin, Germany; Dusseldorf, Germany; Frankfurt, Germany; Hamburg, Germany; Warsaw, Poland; Krakow, Poland; Munich, Germany; Vienna, Austria; Tel Aviv, Israel; Amsterdam, The Netherlands; Oslo, Norway; Barcelona, Spain; Madrid, Spain; Stockholm, Sweden; Zurich, Switzerland; Edinburgh, United Kingdom; Glasgow, United Kingdom; London, United Kingdom; Manchester, United Kingdom; Washington, DC; Belfast, United Kingdom; Detroit, MI; Pittsburgh, PA; Louisville, KY; Indianapolis, IN; Cleveland, OH; Eindhoven, NL;
Please note that we are happy to consider applications from other locations too.
Vacancy page : https://boards.greenhouse.io/elastic/jobs/1539131