Senior Software Engineer - Cloud Data Warehouse



Software Engineering
Vancouver, BC, Canada
Posted on Saturday, August 19, 2023

Your work days are brighter here.

At Workday, it all began with a conversation over breakfast. When our founders met at a sunny California diner, they came up with an idea to revolutionize the enterprise software market. And when we began to rise, one thing that really set us apart was our culture. A culture which was driven by our value of putting our people first. And ever since, the happiness, development, and contribution of every Workmate is central to who we are. Our Workmates believe a healthy employee-centric, collaborative culture is the essential mix of ingredients for success in business. That’s why we look after our people, communities and the planet while still being profitable. Feel encouraged to shine, however that manifests: you don’t need to hide who you are. You can feel the energy and the passion, it's what makes us unique. Inspired to make a brighter work day for all and transform with us to the next stage of our growth journey? Bring your brightest version of you and have a brighter work day here.

About the Team

The Data Warehouse Core team designs and develops the technology at the heart of Workday Analytics' Data Warehouse for large scale analytics applications. Our mission is to enable and support efficient storage, processing and querying over tens of billions of rows within a tenant. The team has expertise in distributed systems, data processing frameworks and database internals. More specifically, the areas we work on include:

- Storage and management of structured Tables
- Table DML (e.g. batch updates) and DDL operations
- Data types, query languages and operators for data transformation
- Materialization of complex query plans (Views/Materialized Views) over large base data
- Scheduling and orchestration of long running batch jobs

About the Role

You will be responsible for building, enhancing and extending our large scale distributed data processing engines in the cloud. You will help lead a top-notch team to design and extend our distributed ingestion, transaction and query processing engines. You will be responsible for developing algorithms and techniques for supporting fast, efficient transactions and queries over large scale data, in a multi-tenanted cloud environment.

About You

You are an engineer who is passionate about software development and takes pride in your work. You think and code in terms of well defined abstractions. You enjoy coming up with novel solutions and can clearly articulate the value to stakeholders. You are excited about working as part of a team of engineers. You understand the importance of doing what is right for the customer. You have a strong interest in learning about and developing data management and distributed data processing frameworks and algorithms. You are a fast learner and enjoy learning new technical areas such as languages and frameworks. You can make all of this happen using Scala, and Java while getting exposure to Spark and related Hadoop technologies.

Basic Qualifications

  • 7+ years using any of the following programming languages: Java, Scala, C++, Go, or Rust

  • 3+ years development experience in relevant domain areas (e.g. database internals, distributed system application, JVM performance tuning, Cloud/SaaS Services, etc.)

Other Qualifications

  • BS or MS in Computer Science or equivalent

  • Background in data warehousing, database system internals and/or distributed systems

  • Expertise in distributed data processing engines or data management systems

  • A strong understanding of SQL

  • Knowledge of Apache Spark and Spark SQL internals

  • Expertise in one or more of: Hadoop YARN, Kubernetes, MapReduce, or Mesos

Our Approach to Flexible Work

With Flex Work, we’re combining the best of both worlds: in-person time and remote. Our approach enables our teams to deepen connections, maintain a strong community, and do their best work. We know that flexibility can take shape in many ways, so rather than a number of required days in-office each week, we simply spend at least half (50%) of our time each quarter in the office or in the field with our customers, prospects, and partners (depending on role). This means you'll have the freedom to create a flexible schedule that caters to your business, team, and personal needs, while being intentional to make the most of time spent together. Those in our remote "home office" roles also have the opportunity to come together in our offices for important moments that matter.

Are you being referred to one of our roles? If so, ask your connection at Workday about our Employee Referral process!