A career in IBM Software means you'll be part of a team that transforms our customer's challenges into industry-leading solutions. We are an infinitely curious team, always seeking new possibilities, and dedicated to creating the world's leading AI-powered, cloud-native software solutions. Our renowned legacy creates endless global opportunities for our network of IBMers. We are a team of deep product experts, ensuring exceptional client experiences, with a focus on delivery, excellence, and obsession over customer outcomes. This position involves contributing to HashiCorp's offerings, now part of IBM, which empower organizations to automate and secure multi-cloud and hybrid environments. You will join a team managing the lifecycle of infrastructure and security, enhancing IBM's cloud solutions to ensure enterprises achieve efficiency, security, and scalability in their cloud journey.
Our team builds and maintains Nomad, a performant, distributed cluster orchestrator that supports heterogeneous workloads including containerized applications, VMs, batch processing, and machine learning frameworks. Our customers run Nomad on tens of thousands of nodes, and rely on our tools to operate their own infrastructure and software. The Nomad Engineering team cares deeply about reliability, performance, and the usability for our users.
Some of the future challenges for our team include:
Building an extensible orchestration platform for a variety of runtime drivers, devices and logging.
Advanced scheduling use cases such as managing dependencies between tasks, oversubscription and rebalancing.
Service segmentation and enabling shared network namespaces among tasks.
Deployments across a large fleet of nodes spanning multiple regions.
Debugging and inspection capabilities for tasks.
Monitoring and predicting resource utilization.
Development of the our Nomad Ecosystem of tools to enable the extensibility of running and operating Nomad.
Much of our work and libraries are available to the community or are community available. Nomad and its supporting libraries are written in Go.
In this role you can expect to…
Work on next-generation distributed systems for orchestration
Develop novel algorithms within the context of our tools
Build and architect systems for managing extremely large-scale global fleets of resources
Interface directly with internal teams, users and HashiCorp customers, as well as the Nomad community
Own the full lifecycle of feature development from design through testing and release
Program in Go, learning from and contributing to a team committed to continually improving their skills
Be available for an on-call rotation as third tier support of the product
You have 8+ years of professional experience in software development
You have a basic understanding of cluster orchestrators and schedulers (Borg, Kubernetes, Mesos etc).
You enjoy designing systems for managing highly reliable infrastructure
You have experience with container technologies: Linux, CGroups, Docker, Podman, etc.
You are comfortable with low-level programming, or are excited to learn.
You have prior experience working in high performance or distributed systems; while we strive to hire at a variety of experience levels, this particular opening is not well-suited for recent graduates
You are able to knowledgeably discuss design and performance tradeoffs in complex systems
You exhibit ownership in your work, including research and understanding of the problem space, collaborating with the team to come up with solutions, proactively communicating your progress to the team, and shipping the feature over the finish line
You are familiar with HashiCorp/IBM products & services