At Zendesk, we strongly believe that to build a great product you have to have great people and a great technical platform. We enjoy working with other smart focused people who care about both the product and the code they write.

We value collaboration and test driven development and release frequently. We own the entire deployment system - from Github to Cloud - and we believe in building systems that are simple to understand and operate, yet are flexible, scalable and modern.

Reliability and security are system traits we constantly strive to improve. We like and use agile processes and believe that pragmatism always triumphs over dogmatism. We all own the product and enjoy the impact we have improving it.

Were looking for a talented software engineer to help build out the Zendesk product and platform to the next level of reliability, robustness and scalability. Youll be joining a team that works on our Voice product. Voice is a complex real-time platform that needs to be robust, scalable and maintainable. Youll have the skills, experience, wisdom, patience and determination to work with the team to deliver high quality software to meet our customers needs and your own high standards.

What you get to do every day:

Desired Skills and Experience

  • Work collaboratively with a small focused team on set of complex real-time applications - written in Ruby, Go and Javascript - that need to be robust, scalable and maintainable.
  • Work to maintain and contribute to a set of Service Level Indicators to ensure that we are always moving the needle in terms of reliability and scalability when we address customer issues.
  • Work on the product and platform that powers Zendesk Voice.
  • Address issues week to week that directly affect the experience our customers have with regard to call reliability and quality.
  • Work with the greater Voice team to design and fully implement larger infrastructural changes to improve reliability and scalability that affect thousands of customers.
  • Strive to ensure our systems - both in terms of application logic and supporting systems - are simple to understand, well instrumented, and conform to the the principle of least surprise.
  • When working on debugging a tricky intermittant issue you wont 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.
  • Even better if you write a wiki article or do a session with the team to share how you tracked the issue down, how we can avoid similar issues in the future and show people the metrics you added to track and confirm the issue was resolved in production.
  • Ideally you will have plenty of experience maintaining real time distributed systems taking a lot of traffic (Zendesk is an Alexa top 300 site).
  • Youll have a solid programming background, and be most happy shipping code daily. You have one or two languages you consider yourself extremely comfortable with.
  • Youre most happy with a polyglot pragmatic approach to technology, recognising that every language, tool and technology has strengths and weaknesses.
  • Youll be just as happy diagnosing network latency, or maintaining a Chef cookbook, as refactoring Ruby code to be more readable or writing customer-facing features.
  • Youll have experience with capacity planning and scaling a platform with customer growth.
  • Youll recognise working within a team is more challenging but also more valuable and in the end, more rewarding.
  • Youll have the critical eye to identify failure modes in our distributed architecture along with the experience to apply pragmatic mitigations and fixes.
  • Youll try to automate solutions as a first resort.
  • Youll enjoy working with other diverse engineers in a busy and ever-evolving SOA environment with offices around the world.
  • Youll want to whiteboard complex real time issues with your peers and apply the scientific method to finding a pragmatic solution that is the best fit for the identified problem space.
  • Excellent communication skills, you can explain your views well to others and just as important, actively listen to others ensuring a good discussion. Youll also want to bash out a wiki page with a summary of the discussion and any decisions for the benefit of others.