Elastic Observability - Senior Software Engineer, Browser Agent in New York City, New York
Elastic is a search company built on a free and open heritage. Anyone can use Elastic products and solutions to get started quickly and frictionlessly. Elastic offers three solutions for enterprise search, observability, and security, 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 Cisco, eBay, 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 and is publicly traded on the NYSE under the symbol ESTC. 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 (https://www.elastic.co/solutions/apm) , Infrastructure Monitoring (https://www.elastic.co/solutions/metrics) , Logs (https://www.elastic.co/solutions/logging) and Uptime (https://www.elastic.co/uptime-monitoring) 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.
We are growing the Synthetic/RUM team and you will be working on our client-side monitoring products with most of your time focused on the Synthetic (real browser) Agent and associated services, as well as some work on our RUM Agent.
We are in the process of improving our beta real browser agent, capable of capturing rich performance metrics across multi-step user journeys, including a multi-region service for offering geographically diverse testing locations, as well as the introduction of a GUI script recorder to simplify user onboarding and ongoing script maintenance.
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. You don’t always need to be the person with the answer or the person making the decisions, but instead should be able to guide discussions to help the team make decisions together.
What you will be working on
Work on Heartbeat and the Synthetic (real browser) Agent (written in TypeScript and Go).
Develop the Synthetic hosted service (written in TypeScript).
Help develop the product by leveraging the capabilities of the browser with a focus on website performance analysis and optimization.
Handle pull requests and issues from the open-source community.
Work with our support team to help customers, interact with the community and help them use our products.
What you will bring along
Proficiency in TypeScript with the willingness to learn Go.
Familiarity with how tools and solutions like DevTools and Lighthouse work.
Familiarity with how browsers work at the event and networking level.
Flexibility to work on what is needed in a new and rapidly evolving product.
Excellent verbal and written communication skills, a great teammate that can work in a globally distributed team as well as independently.
Strong analytical, debugging, and troubleshooting skills.
Experience participating in technical decision-making across different engineering teams.
Domain knowledge around web performance and optimization
Development of software to drive/interface with browsers, or any kind of browser or test automation frameworks.
Working with tools or raw large data sets and the challenge of identifying insights from it and how best to visualize it.
Experience operating or developing monitoring products and/or other Observability solutions.
Experience contributing to open-source projects.
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 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 complete our Candidate Accessibility Request Form (https://docs.google.com/forms/d/e/1FAIpQLSfiV7br5dGLslC__KPuDNBii1x6cQnlm59L8b4293O2eFxbMA/viewform) .