Join our team and experience Workday!
It's fun to work in a company where people truly believe in what they're doing. At Workday, we're committed to bringing passion and customer focus to the business of enterprise applications. We work hard, and we're serious about what we do. But we like to have a good time, too. In fact, we run our company with that principle in mind every day: One of our core values is fun.
The Object Management Service (OMS) has immediate openings for an experienced and strong Java engineer on the Instance Management team to work at the very heart of Workday’s cloud-based software platform.
Workday is the leading Enterprise Cloud Applications provider developing and deploying a wide range of business applications. The Instance Management team owns one of the few key components at the very heart of Workday stack. If after learning about the 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 to provide an efficient data access and caching tier for tenanted data to the Workday transactional system. You will tackle the unique challenge as Workday onboards 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.
- Define and manage caching strategies for instance access, provide performant and scalable caching tiers.
- 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 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.