Workday is the leading Enterprise Cloud Applications provider developing and deploying a wide range of business applications. The Data Model team owns one of the few key components at the very heart of Workday stack. If after learning about the "Power of One", you appreciate the complexity behind the scenes in storing all the data, and start wondering about all the things needed to enable customization from the ever growing number of enterprise customers, especially based on your past working experience, give us a shout!
As a member of this team you'll work with exceptionally innovative and experienced engineers that have built highly robust and scalable representation of tenanted data and its changes in memory and at rest. You will tackle the unique challenge as Workday onboarding bigger customers, building more customizations, scaling with rapidly growing business needs and minimizing operational cost. Be truly agile and see your solutions in production use at the speed of cloud with rapid deployments and keep rolling the schema forward with zero downtime upgrade.
What you'll do:
- Contribute ideas for continually improving the team's productivity, job enjoyment, and code quality.
- Design, build and deploy instance schema that supports Workday growth with low memory and rest footprint as well as low latency in access and update.
- Collaborate with architects, principal engineers and technical product managers to analyze functional requirements, devise architecture designs that provide real scalability, low latency, and high availability.
- Be responsible for system performance and stability by proactively identifying and diagnosing issues and rapidly deploying code to address production issues.
- Be an evangelist of our technologies and products. Influence and collaborate across functional teams in coming together towards a common business goal and data architecture.
- Provide technical guidance and mentorship to junior developers.
What you have:
- 8+ years of object oriented programming experience in a JVM language. Proficient in applying common design patterns.
- 8+ years of relevant experience with operations, development, and testing of large scale distributed systems.
- Proven ability to take a leadership role in projects that span multiple teams with the ability to deliver in an agile environment.
- Superb written and verbal communication skills.
- Proficient in major development tools and processes, such as source control (e.g. SVN, Git), IDE (e.g., Eclipse, IntelliJ), JUnit test, debugging, profiling, Jira, Continuous Delivery.
- Expert knowledge of *nix systems.
The Extra Skills
- BS in Computer Science or related fields. Graduate degree preferred
- Experience in database implementation, especially graph databases.
- Experience using or building distributed systems with an understanding of scalability, lock free algorithms, high availability, CAP theorem, etc.
- Experience or interest in Gridgain, Oracle Coherence, Pivotal Gemfire, Titan, Cassandra or similar systems/frameworks.
- Experience with Java build tools such as Ant, Maven, Gerrit, Gradle, etc.
- DSL (Domain Specific Language) development knowledge or interest.
- Open source project contributions.
- Experience in Agile development methodologies: eXtreme Programming, Crystal Methods, Scrum.