Software Architect, Python, Software Engineer
Listed on 2026-10-19
-
Software Development
Python, Software Engineer, C++ Developer
Simulation and Desktop Applications
Location:
Kelowna, BC (preferred) or remote within North America
Type:
Full-time, permanent
Reports to and works with:
Software architecture lead
Boyd Thermal by Eaton builds commercial thermal and fluid simulation software (CFD) used by engineers at major electronics, power, and industrial companies to design cooling systems. The product is mature Windows desktop software with a long history, an active solver development program, and a small team of very experienced developers, which means the work is unusually broad: GUI, solver physics, geometry and meshing, native extension modules, build and release engineering, and internal tooling, often in the same month.
We are looking for one experienced generalist developer to work alongside our software architect. Not a specialist in one framework, and not someone who needs a defined ticket queue: someone who can be handed a hard, loosely specified problem, work out what the right solution actually is, and build it.
What you will work on firstYour first project is a standalone desktop application for our network flow solver
, built on prototype work that already exists. It is a node and edge network editor for fluid flow and thermal networks, driving a native C++ solver core, with results visualization and reporting. The current direction is C# on Windows
, so you would own the application layer, the interop boundary to the native solver, the UX, and the packaging and installer.
It is a good first project deliberately: real scope, real users, clear boundaries, and it teaches you the physics and the domain vocabulary before you are dropped into the larger legacy codebase.
What you will work on after that- Solver and numerics work in Python and C++ (finite volume CFD, conjugate heat transfer, two-phase boiling, porous media, iterative linear solvers)
- The main desktop application:
Python 3.x, wx Python, VTK 3D visualization - Native extension modules: C and C++ bound to Python (Cython today, nanobind for new work)
- Geometry and meshing, including CAD kernel integration
- Occasional web work: internal dashboards, customer facing portals, and tooling
- Build, packaging, licensing, and release engineering on Windows
- Porting the product to Linux. Windows is and remains the primary target, but a Linux port is on the roadmap and is a significant piece of work: native extension builds, toolkit and driver differences, packaging, and licensing all have to be solved a second time
- 7+ years professional software development, with a track record of owning non trivial systems end to end (design, build, ship, support)
- Strong in at least two of Python, C#, C, C++, and able to become productive in the others quickly. Multi-language fluency is a hard requirement, not a bonus
- Desktop application development on Windows: real UI work, application architecture, state management, threading, installers and deployment. Comfort on Linux as well, since a Linux port of the product is on the roadmap
- Comfort working in large, old, imperfect codebases
: reading code you did not write, making surgical changes, and understanding blast radius before you touch anything - Solid engineering fundamentals: data structures, performance analysis and profiling, memory, and debugging hard failures (crashes, races, corruption, numerical drift)
- Practical, current use of AI and agentic development tooling
. We use coding agents heavily and expect you to as well: writing good prompts and specs, building agent workflows and custom tooling, reviewing generated code critically, and knowing where these tools mislead you. Being interested in AI is not enough, we want someone already working this way - Fluent written and verbal English, and the judgment to raise a concern early rather than deliver the wrong thing on time
- Numerical or scientific computing background: linear algebra, ODE and PDE discretization, convergence behaviour, floating point pitfalls
- Any engineering simulation exposure: CFD, FEA, thermal, electrical or fluid network solvers
- Native and managed interop: P/Invoke, pybind
11 or nanobind, Cython, ctypes - Cross-platform porting experience
, particularly Windows to Linux: native tool chains and build systems, path and file system assumptions, GUI toolkit and graphics driver differences, packaging and distribution - 3D graphics or visualization (VTK, OpenGL, or similar)
- Web development. We favour Vue 3 with a Python FastAPI backend
- CAD…
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).