Chartbeat's software helps the world’s leading media companies understand, measure, and optimize the attention earned by their content. Our products are used by over 80% of the world’s top publishers, and we measure tens of billions of page views each month and nearly 100 million articles per year. This makes for a deeply rich dataset to collect, transform, and analyze in order to realize our mission of helping quality content thrive.
The data we process each day is massive in scale: Chartbeat’s products are used by over 80% of the world’s top publishers, and we measure nearly 100 billion pageviews each month; over 1 million messages pass through our data systems each second and support measuring tens of millions of concurrent visitors across our customers’ sites. This makes for a deeply rich dataset to collect, transform, and analyze in order to realize our mission of helping quality content thrive. We are seeking curious Data Engineers to join us on this adventure by helping build the components, systems, and dashboards that newsrooms use to learn about and grow their audiences.
Our data systems use an exciting array of technologies. Most of our data systems use Python, but key parts of our systems are written in Clojure, Java, C, and Lua where the requirements demand it. We use a variety of database technologies, including PostgreSQL, HBase, MongoDB, Redshift, and Redis. Everything is connected by message buses powered by Apache Kafka and RabbitMQ.
As a senior data engineer at Chartbeat, you will be designing, building, scaling, and maintaining our data pipelines, data stores, analysis engines, and APIs. You will be on a small cross-functional project team (typically, a few engineers, a designer, a data scientist, and a product manager) that will define your day-to-day activity — your team will collaborate to plan sprint goals and execute on those goals. Within the larger engineering organization, you’ll contribute to architecture reviews, perform individual code reviews, and be involved in overall technical decision-making. As a senior engineer, you will help mentor others on the team and strive to make us better by fostering a commitment to writing high-quality code, including advocating best practices like automated testing.
- Strong programming abilities in Python (and the underlying CPython) and/or Java or Clojure (and the JVM)
- Familiarity with architectural patterns used by different databases in large, high-scale applications (particular experience with Redshift, HBase, or PostgreSQL is a plus)
- A history of working with and building distributed systems (e.g. technologies like Zookeeper, Kafka)
- Excellent verbal and written communication skills and a commitment to building an inclusive and collaborative working environment
- An interest in designing technical solutions to open-ended product problems
- An interest in mentoring and coaching junior members of the team
- Passion and enthusiasm about learning and teaching new technologies