A New Research Challenge
Beginning my PhD studies at the University of Toronto (U of T) marked another major transition in my academic journey. Building on my background in mathematics, engineering, and fluid dynamics, I moved into computational fluid dynamics, where mathematical models and numerical methods are transformed into large-scale computer simulations.
This new research environment brought together several areas that had shaped my education: mathematics provided the theoretical foundation, engineering connected the problems to physical systems, and scientific computing provided the tools to investigate them computationally.
For me, the PhD represented an opportunity to take these interests to a deeper level while developing a much stronger connection between mathematical research and computer programming.
Computational Fluid Dynamics
Computational Fluid Dynamics (CFD) uses numerical methods and computer simulations to study how fluids behave. It sits at the intersection of three fields that had already played important roles in my education: mathematics provides the governing equations, engineering provides the physical problems, and computer programming turns the mathematical models into simulations that can be studied computationally.
One aspect of CFD that particularly interested me was how heavily these areas overlap. Although the underlying problems come from fluid mechanics and are described mathematically through equations such as the Navier–Stokes equations, much of research-level CFD involves translating those mathematical and numerical ideas into efficient computer code.
For me, this made CFD a natural bridge between my background in mathematics and mechanical engineering and my growing interest in programming and scientific computing.
Doctoral Research
As a Research Assistant in a Computational Fluid Dynamics laboratory, my doctoral research focused on developing computational methods for solving complex fluid-flow problems. I used C++ and high-performance computing systemsto work with numerical solutions of the Navier–Stokes equations.
A major part of my research involved the Volume of Fluid (VOF) method, a numerical technique used to track interfaces between different fluids. My work explored extending a VOF approach from two-dimensional to three-dimensional simulations, where the additional dimension introduces significantly greater computational and numerical complexity.
This research required bringing together mathematical modeling, numerical methods, fluid mechanics, and programming. Rather than simply using existing CFD software, I worked directly with the computational methods and code behind the simulations—an experience that substantially strengthened my scientific computing and programming skills.
Beyond Mathematics
My doctoral research showed me that solving complex scientific problems often requires much more than mathematics alone. Mathematical equations provided the foundation, but turning those equations into computational models required numerical algorithms, efficient programming, and the ability to work with large-scale computing systems.
Working extensively with C++ and high-performance computing changed the role that programming played in my work. It was no longer simply a supporting tool; it became an essential part of translating mathematical ideas into working computational solutions.
This experience expanded my interests beyond mathematics and scientific research and gave me a much deeper appreciation for software development—an interest that would later become an important part of my professional journey.
A Different Direction
Although I ultimately decided not to complete the PhD program, the experience became an important part of my professional journey. It gave me the opportunity to work on challenging computational problems while developing deeper skills in numerical methods, scientific computing, and C++ programming.
As my interests evolved, I became increasingly drawn to the computational and programming side of my work. I decided to take my professional journey in a different direction, building on the technical foundation I had developed through mathematics, engineering, and computational research.
Rather than marking the end of that journey, the transition opened the door to new opportunities and eventually led me toward software engineering and, later, building my own educational business.
What I Learned from Doctoral Research
Doctoral research strengthened my ability to approach complex problems independently and systematically. Working on computational problems required breaking large questions into smaller components, testing different approaches, identifying problems in both mathematical models and computer code, and continuously refining the solution.
It also taught me how closely modern scientific research can be connected to computation. Mathematics and physical understanding remained essential, but implementing numerical methods efficiently required a different kind of problem solving through programming and scientific computing.
Perhaps most importantly, the experience reinforced the value of being willing to change direction while carrying forward what I had learned. The research skills, mathematical background, and computational experience I developed during this period became valuable foundations for the professional paths that followed.
From PhD to Software Engineering
My doctoral research strengthened an interest that had been developing throughout my academic journey: using programming to solve complex problems. Working extensively with C++, numerical algorithms, and high-performance computing showed me how powerful software could be as a problem-solving tool.
As I moved in a different professional direction, software engineering became a natural area to explore further. The transition allowed me to build on skills I had already developed through scientific computing while expanding into broader areas of programming and software development.
This marked the beginning of a new chapter in my professional journey—one that took the problem-solving mindset I had developed through mathematics and research into the world of software engineering.