Senior Software Engineer

Workday Workday · Enterprise · Dublin, Ireland

Workday is seeking a Senior Software Engineer to join their data analytics infrastructure team. This role involves building and operating distributed systems for large-scale data processing on public and private clouds, focusing on performance, reliability, and cost-efficiency. Responsibilities include designing and debugging distributed software, developing tools for resource management, and working with technologies like Apache Spark, Kubernetes, and YARN. The role requires strong foundational knowledge of distributed computing principles and experience with large-scale distributed systems.

What you'd actually do

  1. Design, build, and debug distributed software systems that run across multiple platforms and environments
  2. Develop tools and services that support efficient resource management, scheduling, and concurrency
  3. Work with technologies like Apache Spark, Kubernetes, and container-native infrastructure
  4. Balance system design trade-offs and collaborate across teams to deliver infrastructure that’s resilient, observable, and easy to operate.
  5. Support large-scale data workloads with strong focus on performance, cost, and customer experience.

Skills

Required

  • 8+ years of professional software engineering experience
  • 4+ years of hands-on experience designing, building, and operating large-scale distributed systems across public or private clouds
  • Deep foundational knowledge of distributed computing principles, including consistency models, concurrency, high availability, and fault tolerance
  • Bachelor’s degree in Computer Science, Engineering, or a related technical discipline, or equivalent practical experience

Nice to have

  • Strong experience working with large-scale data processing frameworks (specifically Apache Spark) and container-native infrastructure or resource schedulers (e.g., Kubernetes, YARN)
  • Demonstrated ability to apply advanced algorithmic thinking and data structures to solve complex scalability, scheduling, and resource management problems
  • Solid experience designing and implementing robust, scalable APIs (e.g., REST, gRPC) and microservices that support multi-tenant architectures
  • Deep understanding of Object-Oriented or Functional design principles, with proficiency in languages commonly used in data infrastructure (e.g., Java, Scala, Go, or C++)
  • Practical knowledge of building highly available systems, including implementing load balancing, redundancy, observability, and cost-efficient scaling strategies
  • Strong testing discipline, including unit, integration, and contract testing within a distributed environment to ensure system reliability under heavy workloads
  • Solid understanding of system security principles relevant to cloud and distributed environments, including authentication, authorization, and secure data access
  • Proven ability to own problems end-to-end, collaborate cross-functionally (with SRE, Product, and other engineering teams), and mentor peers
  • Excellent technical writing skills, with the ability to author clear, comprehensive architecture designs, system documentation, and runbooks

What the JD emphasized

  • 8+ years of professional software engineering experience
  • 4+ years of hands-on experience designing, building, and operating large-scale distributed systems
  • Deep foundational knowledge of distributed computing principles