Principal Software Engineer, Machine Learning (C++)

Principal Software Engineer, Machine Learning (C++)

The Team

Upstart’s Machine Learning team has a direct impact on our company's success. The team consists of full-stack applied science generalists as well as specialists in research, data science, statistical modeling and machine learning. The fundamental goal of the Machine Learning team is to explore new models and new data sets that can improve the accuracy of our models. With this goal comes near-limitless challenges to tackle, and that is one of the reasons why Upstart is such a unique opportunity.

As Principal Software Engineer at Upstart, you will be at the forefront of a team of top-notch specialists, using your C++ skills to optimize cutting-edge machine learning frameworks, employing GPU-accelerated computing, and mastering cloud and Linux infrastructure.

Position location This role is available in the following locations: Remote

Time zone requirements The team operates on the East/West coast time zones.

Travel requirements As a digital first company, the majority of your work can be accomplished remotely. The majority of our employees can live and work anywhere in the U.S but are encouraged to to still spend high quality time in-person collaborating via regular onsites. The in-person sessions’ cadence varies depending on the team and role; most teams meet once or twice per quarter for 2-4 consecutive days at a time.

How you’ll make an impact:

  • Deep Optimization: Dive into the C++ code which powers these ML models. You will use your expertise to push the boundaries of these models and extract their maximum potential.
  • GPU and CUDA: Harness the raw power of GPUs using CUDA to supercharge your machine learning models, creating solutions that are not just efficient, but also blazing fast.
  • Cloud and Linux: Leverage your solid understanding of cloud infrastructures and Linux to build robust, scalable, and highly available machine learning solutions
  • Data Formats: Look into the finer details of data formats. Your work will ensure the accuracy, efficiency, and quality of the data that feeds into our machine learning models.

Minimum Qualifications 

  • Strong software skills in C++, and multiple languages such as Java, Kotlin, Python. 
  • Profound knowledge of the entire tech stack, inclusive of computer science fundamentals and in-depth understanding of various operating systems and hardware configurations.
  • High degree of cross-functional expertise, with the ability to navigate between various roles within the tech stack.
  • Bachelor's or Master's degree in Computer Science or a related field, or equivalent practical experience.

Preferred Qualifications

  • Deep systems C++ expertise. 
  • Experience with machine learning frameworks such as TensorFlow, PyTorch, etc.
  • Deep knowledge in using GPUs for computation, including a strong understanding of CUDA.
  • Extensive experience with cloud and Linux infrastructures

What you'll love: 

  • Competitive Compensation (base + bonus & equity)
  • Comprehensive medical, dental, and vision coverage with Health Savings Account contributions from Upstart 
  • 401(k) with 100% company match up to $4,500 and immediate vesting and after-tax savings
  • Employee Stock Purchase Plan (ESPP)
  • Life and disability insurance
  • Generous holiday, vacation, sick and safety leave  
  • Supportive parental, family care, and military leave programs
  • Annual wellness, technology & ergonomic reimbursement programs
  • Social activities including team events and onsites, all-company updates, employee resource groups (ERGs), and other interest groups such as book clubs, fitness, investing, and volunteering
  • Catered lunches + snacks & drinks when working in offices



Logos/outerjoin logo full

Outer Join is the premier job board for remote jobs in data science, analytics, and engineering.