Software Engineer, Frontend

About the role

As a frontend software engineer at Determined AI, you will design and build beautiful, intuitive web interfaces for our products. More broadly, you will play a key role in defining how our customers interact with our products. You will build software to help ML developers launch new deep learning workloads, monitor cluster utilization via a dashboard interface, and plot metrics to understand the statistical behavior of their models. You will help design a collaborative development environment for machine learning teams that spans the ML lifecycle from data management and model development through deployment and monitoring.

Requirements

  • You are a highly skilled web frontend engineer
  • You care deeply about creating great user interfaces, particularly for complex enterprise products and sophisticated user workflows
  • You take pride in writing elegant, testable, and well-structured frontend code
  • You are comfortable being the first full-time frontend engineer at the company and would relish the opportunity to help build out our frontend engineering team
  • You are a great communicator, collaborator, and colleague

Preferred

  • Experience as a visual or UX designer; the interest and ability to help define the design culture and visual aesthetic of the company
  • Experience with data visualization, particularly of large data sets
  • Experience building intuitive interfaces to enterprise software
  • Knowledge of or interest in machine learning / deep learning, analytics, and/or statistics
  • Experience with Elm, WebSockets, and JavaScript plotting libraries (e.g., Vega)
  • Experience working with Docker, Kubernetes, or DC/OS

Teams & Process

We are building a team of world class engineers — join us! We have one product and one team, where everyone is a worker-leader. We combine input from customers, engineers and company leadership to prioritize our work, and work hard to make decisions transparent. We believe in tight feedback with customers, and in minimum valuable products.

We believe in just enough (but not too much) process; currently we run scrum with two week sprints. We use Github to manage our work; we require code review, lint, and tests to pass for all our PRs. We run an extensive continuous integration pipeline to test our GPU features. We use Slack, GSuite and have provisioned a video conferencing system for our remote workers.

Technical Challenges

We have implemented, from scratch, a distributed, fault tolerant GPU cluster manager and scheduler, purpose-built for DL and ML workloads. We have invented, published and implemented state-of-the-art hyperparameter optimization algorithms in our platform. We have numerous other research ideas ready to turn into product features that will differentiate us from our competitors.

Technical Stack

    Go

    Python

    Docker

    TensorFlow

    PyTorch

    Keras

    Elm

    Kubernetes

    Mesos

    PostgreSQL