Software Engineer (British Columbia)

Software Engineer (British Columbia)

30 Oct
|
Boyd-Corporation-2
|
British Columbia

30 Oct

Boyd-Corporation-2

British Columbia

Job DescriptionSenior Software DeveloperSimulation and Desktop ApplicationsLocation: Kelowna, BC (preferred) or remote within North AmericaType: Full-time, permanentReports to and works with: Software architecture leadAbout the roleBoyd 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, wxPython, 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 timeRequired experience· 7+ years qualified 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 timeStrongly desirable· 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, pybind11 or nanobind, Cython, ctypes· Cross-platform porting experience, particularly Windows to Linux: native toolchains and build systems, path and filesystem 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 geometry kernels (Parasolid, OpenCASCADE) and mesh generation· GPU or parallel compute (CUDA, OpenCL, OpenMP)· A physics, mechanical, or aerospace engineering background alongside the software experienceWho we are looking for· Self-motivated. You set your own direction from a goal, and you close things out without being chased· Curious, with a research mindset. You will hit problems where the answer is in a journal paper, a vendor's undocumented behaviour, or a numerical experiment you have to design yourself. You should find that appealing rather than annoying· Rigorous.



Our users make hardware decisions worth millions based on our results. “It runs” is not the bar. “It is correct, and I can show you why” is· Pragmatic. This is production software with paying customers and decades of history. We favour conservative, well understood changes over rewrites· A good colleague. Small team, direct communication, strong opinions held looselyLocation and work arrangementOur preference is a candidate who is in, or willing to relocate to, Kelowna, BC, since there is real value in overlapping in person with the architecture lead during the first year.To applySend a CV plus a short note covering:· Two or three systems you have built or substantially owned, and what was hard about them· The languages you would consider yourself strong in, and the last thing you shipped in each· How you currently use AI or agentic tooling in your day to day development workInterview Requirements and Candidate Privacy NoticeAll positions may require participation in video and in-person interviews as part of the hiring process. All candidates will be evaluated based on job-related competencies, and all candidates’ privacy rights and data security will be protected in accordance with applicable laws.Eaton’s Use of Artificial Intelligence in Recruitment and HiringAt Eaton we leverage artificial intelligence to recommend jobs to you that match the skills and experience required for the open role. Our Talent Acquisition teams also uses AI to identify applicants whose skills are a match for the job. Hiring decisions are made by Eaton leaders through a structured interview process and not AI.All Job Posting LocationsCanadaThis posting is for an existing vacancy.Remote TypeHybridBenefitsWe know that good benefit programs are important to employees and their families. Eaton provides various Health and Welfare benefits as well as Retirement benefits, and several programs that provide for paid and unpaid time away from work. Click Benefits at Eaton Canada / Avantages sociaux chez Eaton Canada for more detail. Please note that specific programs and options available to an employee may depend on eligibility factors such as geographic location, date of hire, and the applicability of collective bargaining agreements.EEO StatementWe are committed to ensuring equal employment opportunities for job applicants and employees. Our recruitment processes use balanced selection criteria and avoid unlawful discrimination against applicants on the basis of their age, color, disability, marital status, national origin, gender, gender identity, genetic information, race or racial origin, religion, sexual orientation or any other status protected or required by law.
#J-18808-Ljbffr

📌 Software Engineer (British Columbia)
🏢 Boyd-Corporation-2
📍 British Columbia

Reply to this offer

Impress this employer describing Your skills and abilities, fill out the form below and leave Your personal touch in the presentation letter.

Subscribe to this job alert:

Get the latest job offers by email for: software engineer (british columbia) / british columbia

Subscribe to this job alert:

Get the latest job offers by email for: software engineer (british columbia) / british columbia