Principal Software Engineer - Engineering Applications
About us
The Role
The Principal Software Engineer role at PhysicsX is an individual contributor role with leadership and collaboration expectations. The Principal is expected to be an effective technical thought-partner to non-technical stakeholders, and is expected to contribute strongly to an environment of growth and development in the craft of software engineering across the organisation.
Engineering Applications make PhysicsX's AI platform usable by engineers in their daily work. The product group creates workflows and interfaces that span the engineering lifecycle, from design through manufacturing to operations, enabling engineers to harness AI capabilities. The suite ranges from ready-to-use applications that ship with the platform for engineers to use directly to a composable set of extensible components for teams who need to go further. Engineering Applications ensure that impactful AI capabilities are accessible to customers at scale.
What you will do
- Engage with product managers, designers, and users of Reference Applications to fully understand the what and why of the product’s functional requirements.
- Partner with the product leadership of Reference Applications to define the art of the possible with ambitious pragmatism, defining the how and when of product development.
- Take responsibility and accountability for the implementation of components and services by a team of software engineers, and actively participate in development by contributing to source-code, documentation, and CI/CD workflows.
- Design and maintain services that are fully interoperable with PhysicsX’s other platform services, while remaining independently versioned, tested, and deployed.
- Define, evolve, and advocate for a scalable, modular front-end architecture that enables reuse, rapid development, and long-term maintainability.
- Implement standardised instrumentation for metrics, logs, and traces and take responsibility for the teams’ prompt remediation of issues in production.
- Establish performance benchmarking to measure compliance with non-functional requirements, right-size infrastructure requests, and provide appropriate SLAs.
- Participate in establishing company-wide software engineering standards through engagement with the software engineering guild.
- Participate in the growth and development of software engineers.
- Participate in the recruitment and onboarding of software engineers.
What you bring to the table
- A passion for the evolving craft of software engineering and for sponsoring a culture of excellence in the craft.
- A proven ability to act as an effective technical thought-partner to non-technical stakeholders.
- A proven ability to lead teams of software engineers in a fast-paced and iterative environment, through active participation in problem solving, coaching, and architectural decision-making.
- A solid track-record of designing, building, and maintaining application services in distributed architectures.
- Strong experience deploying applications on Kubernetes, leading to a high level of independence in writing IaC (Helm, Terraform, Crossplane) and CI/CD workflows (GitHub Actions, ArgoCD), and a focus on designing applications that leverage native Kubernetes resources over CSP managed services.
- Experience with workflow orchestration, event-driven systems, and messaging (NATS, ArgoWorkflows)
- Proven track record building web-based user interfaces using a variety of architectural approaches - SPAs, server-rendered applications, hybrid architectures, micro-frontends - with a critical perspective on when each is the right choice.
- Proficiency in TypeScript, React, and state management (Zustang, Jotai, Redux, MobX). Experience with TypeScript and React is expected, but your identity is not defined by them.
- Proficiency in Python and Go, with experience in other languages a plus (Rust, C++).
- A strong understanding of the machine learning development lifecycle.
Ideally
- Experience building rich, interactive visualisations using libraries such as Plotly, ECharts, Three.js, VTK, or WebGL to expose complex simulation data to end-users.
- Experience in the design and development of cloud based platforms requiring secure and isolated environments for the execution of arbitrary code.
- Experience in the design and development of configuration-driven developer tooling, particularly involving the dynamic generation of web applications through composition.
- Experience with the Nx build system.
Apply for this job
*
indicates a required field
.jpg?1755091119)
