About the Role
As part of Workday’s Prism Analytics team, you will be responsible for the integration of our Big Data Analytics stack with Workday's cloud infrastructure. You will work on building, improving and extending large-scale distributed data processing frameworks like Spark, Hadoop, and YARN in a multi-tenanted cloud environment. You will also be responsible for developing techniques for cluster management, high availability and disaster recovery of the Analytics Platform, Hadoop and Spark services. You will also engineer smart tools and frameworks that provide easy monitoring, troubleshooting, and manageability of our cloud-based analytic services.
About You
You are an engineer who is passionate about developing distributed applications in a multi-tenanted cloud environment. You take pride in developing distributed systems techniques to coordinate application services, ensuring the application remains highly available and can autoscale on demand for the applications running in various cloud architectures. You think not only about what is valuable for the development of right abstractions and modules but also about programmatic interfaces to enable customer success. You also excel in the ability to balance priorities and make the right tradeoffs in feature content and timely delivery of features while ensuring customer success and technology leadership for the company. You can make all of this happen using Java, Spark, and related Hadoop technologies.
Basic Qualifications
9+ years of software engineering experience
7+ years of distributed systems engineering experience (using Java, Scala or other languages) with deep Linux / Unix expertise.
Other Qualifications
Experience in building Highly Available, Scalable, Reliable multi-tenanted big data applications on Cloud (AWS, GCP) and / or Data Center architectures.
Working knowledge of distributed system principles.
Experience with managing big data frameworks like Spark and / or Hadoop.
Understanding of resource management using YARN, Kubernetes, etc.
Collaborate with others on the SRE team to help set technical direction while ensuring requirements are met.
Capable of designing and implementing software able to manage the tradeoffs between data consistency, availability, partition tolerance.
Experienced in developing, designing and deploying software and tools in support of a data processing systems, including highly concurrent transaction processing, distributed memory management, communication protocols, and efficient distributed data algorithms.
Principal Software Engineer • chennai, India