Principal Software Engineer - Distributed Systems



Software Engineering
Vancouver, BC, Canada
Posted on Saturday, September 2, 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 Spark Platform team is responsible for enabling various teams that use Apache Spark as an open source data processing engine. This team enables Workday's analytics products to leverage Apache Spark to process large volumes of data for mission critical processing, interactive analysis and reporting. The team is responsible for design and development of new features in Spark as well as performance, stability, scalability and operations in a multi-tenant cloud environment.

About the Role

​Designs, develops, troubleshoots and debugs distributed software programs for enhancements and new products across multiple disciplines and multiple platforms. Capable of designing and implementing software able to manage the tradeoffs between data consistency, availability, partition tolerance. Develop, design and deploy software and tools in support of a data processing system, including highly concurrent transaction processing, distributed memory management, communication protocols, and efficient distributed data algorithms.

As part of Workday’s Analytics team, you will be responsible for building, enhancing and extending our Spark-based large scale distributed data processing engine in the cloud.

You will work alongside a top-notch team to architect and build features in Spark representing our:

  • High-velocity hybrid transactional/analytical engine

  • Low-latency interactive engine

  • Large scale cube builder engine

Developing data processing algorithms and techniques that work on large datasets, and algorithms that facilitate interactive querying experience over large volumes of data will be among your primary responsibilities.

About You

Basic Qualifications - Principal Software Engineer

  • 10+ years using any of the following programming languages: Java, Scala, C++, Python

  • 8+ years of software development in domain-specific areas (e.g. SQL, database internals, distributed systems, JVM performance tuning, cloud computing architectures, etc.)

  • 3+ years of technical leadership experience (e.g. delivered multiple high complexity features leading a team of engineers in collaboration with multiple teams, being the technical lead or architect of development team, etc.)

Other Qualifications

  • You have a BS in Computer Science or related field with 5 years of experience, or MS/PhD in Computer Science, or relevant area, with 3 years of experience.

  • Good grasp of SQL and distributed data processing engines

  • Experience leading a team of engineers

  • Industry experience building and delivering high-performance data processing engines.

Do what you love. Love what you do.

At Workday, we help the world’s largest organizations adapt to what’s next by bringing finance, HR, and planning into a single enterprise cloud. We work hard, and we’re serious about what we do. But we like to have fun, too. We put people first, celebrate diversity, drive innovation, and do good in the communities where we live and work.

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!