Software Developer/ Engineer/ Architect

Big Data Staff Software Engineer (Explore)

Job Description

At Zendesk, we get passionate about building software that delivers the ultimate customer experience. Your favourite brands use our products to engage you as a customer, and we lead the industry with breathtakingly simple software. And we’re constantly innovating - no really, we can’t wait to outdo ourselves in the near future.

Zendesk Explore is our analytics product. It is a complex business intelligence application, serving 100,000 customers, utilising data from over 500 million Zendesk users and 40+ external data source connectors. Explore is responsible for ingesting millions of records from the Zendesk product family and then allowing them to be queried and visualised at low latency - and all that at scale!

What you will do as a Staff Engineer:

Be a hands-on developer — you’ll actively contribute to the codebase on a daily basis. You understand that you will be asked to review and work on your peers’ code and the other way around.

Create and maintain data pipeline architecture and data stores.

Identify, design, and implement internal process improvements: automating manual processes, optimising data delivery, re-designing infrastructure for greater scalability, etc.

Work with data and analytics experts to strive for greater functionality in our data systems.

Lead and participate in technical decisions and communicate them with our product lead and tech lead. You thrive in a challenging environment, open to debates and brainstormings.

Collaborate with product managers, engineering managers, and support advocates to estimate and prioritize units of work. You are aware of the processes that come with working in a company with the scale of Zendesk.

Mentor less experienced engineers.

Own the full release cycle from the development to deployment.

Debug tricky intermittent issues - you won’t give up until the feature behaves as expected, the root cause has been identified and an automated test has been put in place to avoid the issue reoccurring.

Put the customer first and have quality in mind.

Have opportunities to grow and learn new things by working collaboratively with support advocates, product managers and senior engineers.

Enjoy what you do every day!

What our tech stack looks like

Our code is written in Ruby, Scala, Typescript and Go.

Our data is stored in RDS MySQL, Redis, Redshift and Aurora.

Our services are deployed to ECS using Docker on AWS.

Our data pipeline is using Spark (AWS EMR).

What we offer

Full ownership of the projects you work on.

What you will be doing will have a huge impact.

Team of passionate people who love what they do.

Exciting projects, ability to implement your own ideas and improvements.

Opportunity to learn and grow.

 

...and everything you need to be effective and maintain work-life balance:

Flexible working hours.

Professional development funds.

Comfortable office and a remote setup.

Choice of your laptop and other equipment.

Premium Medical Insurance as well as Private Life Assurance.

Lunch Vouchers and Travel Tickets reimbursement.

At least six years of proven experience in developing data pipelines or big data environments.

You have advanced working SQL skills and experience working with relational databases, query authoring (SQL) as well as working familiarity with a variety of databases.

You have a significant experience with Spark (AWS EMR) or any equivalent framework.

You feel comfortable coding in Java and/or Scala.

You have an extensive knowledge and experience with distributed systems.

You are data driven and take decisions based on the available data.

You can works on complex issues where analysis of situations or data requires an in-depth evaluation of variable factors.

You can lead a group of engineers on any technical aspect if needed.

You enjoy whiteboarding problems with your peers and applying the scientific method to find a pragmatic solution that is the best fit (on balance) for the identified problem space.

You can explain your views well to others and just as meaningful, actively listen to others ensuring a good discussion.

You have faced several challenges when working on a global scale and releasing important features to production.

You decompose projects into smaller units that can be delivered iteratively.

You enjoy learning new technologies and growing your knowledge and capabilities.

 

Nice to have

Experience supporting and working with cross-functional teams in a dynamic environment.

Familiarity with other programming languages.

Any knowledge in the frontend world - preferable with React or Angular.

DevOps experience (Docker, CoreOS, CI / CD, AWS).