Core Platform Software Engineer
Posted on Jan 22, 2020 by Nutanix
The Core Platform software team provides mission critical software which
enables Nutanix to scale the number of platform choices available to our
customers. As a member of the Core Platform Software team, you will develop and
maintain software that helps accelerate Nutanix operating system to run on any
platform. This would require development in the imaging software, Foundation to
add support for the platform and its components such as HBAs, NICs etc. You
will also work on the software modules which reduce the friction in adding
support for new platforms by abstracting the software as to update platform
related software asynchronously. Team is also responsible for extending the
platform and component support in hypervisors and infrastructure layers of
Nutanix operating system. Most of our tools implement RESTful servers, include
user-friendly UIs, and are independently versioned and released. The team has
high and increasing visibility as we target the ultimate goal of allowing
Nutanix operating system to run on any hardware. We are looking for strong
software engineers with good computer science fundamentals and systems
experience who are interested in solving problems, driving forward solutions,
and owning components.
> Design and Develop platform abstraction software for the Nutanix distributed
> Develop SDKs to provide for the external partners to develop platform
> Understand the whole stack of hardware and its interaction with software and
implement software that governs, monitors, and
takes action on anomalies in the system.
> Implement reliable software management infrastructure for clusters that scale
out to hundreds of hosts.
> Work on running the Nutanix stack on any hardware in the market.
> Work on making the Nutanix software stack highly reliable.
> Streamline the platform qualification workflows to make them efficient.
> Love of programming.
> Must be strong in Python, C, C++, or another language.
> Extensive knowledge of UNIX/Linux.
> Familiarity with OS internals, concepts of distributed data management, and
design/implementation tradeoffs in building clustered,
high- performance, fault-tolerant distributed systems software.
> Familiarity with x86 architecture, virtualization and/or storage management.
> Strong computer science fundamentals.
> Strong programming skills.
> Knowledge and experience with systems preferred.