Posted in

Computational Physics Software Engineer

Computational Physics Software Engineer

CompanyPassive Logic
LocationMurray, UT, USA
Salary$Not Provided – $Not Provided
TypeFull-Time
DegreesBachelor’s, Master’s, PhD
Experience LevelMid Level, Senior

Requirements

  • Strong proficiency in systems programming languages such as Swift, Rust, C++, or Java, as well as appreciable software engineering skills in working with large codebases with non-trivial architecture, beyond just coding small (1000’s of lines) programs and scripts
  • Extraordinary teammate with excellent interpersonal skills.
  • Experience with software design, design patterns, and software architecture
  • Strong self-motivation towards PassiveLogic’s mission to “empower people through generative autonomy to solve the world’s largest climate challenges.”
  • Comfortable in a fast-paced startup environment, eager to learn, iterate, and innovate.
  • You own this role. When issues arise, be the empowered force that solves them, rolling-up.

Responsibilities

  • Develop and maintain infrastructure for a differentiable multi-physics simulation engine.
  • Develop an interface with the object model through Object Relational Mapping.
  • Provide an infrastructure to support PassiveLogic’s control path predictor and front-end simulation environments.
  • Develop robust autonomous software that must run with no human supervision for decades.
  • Use thoughtful architecture design, documentation, unit testing, integration testing, profiling, and collaboration with the Formal Methods team to ensure this robustness.
  • Collaborate with the Digital Twins team for physics optimization and collaborate with the Compiler team for accelerator approaches.

Preferred Qualifications

  • Experience with Concurrency, threads, processes, Lib-dispatch/GCD
  • GPU programming, high-performance computing, and scientific computing
  • Vector, SIMD, and tensor computational methods
  • Strong math, numerical methods, and analysis skills
  • A BS, MS, or PhD in software engineering, computer science, applied mathematics, physics or other engineering degrees.
  • Experience with the Swift programming language, auto-differentiation, systems modeling and algorithm development, fundamentals of building energy or electromechanical systems, and/or autonomous systems.
  • Experience working and collaborating in a startup.