@Mohamed Sayed well I started in computer science at Iowa state as an undergrad for no reason other than I was "good with computers" but that didn't really work out. Found aerospace engineering and loved how diverse the curriculum was. I had never heard of CFD at the time. Eventually was taking an aerodynamics course with Ganesh rajagopalan and he found out I could do some c++, and he asked me to work for his small rotorcraft company doing development. Decided to stay for an MS with him starting 2008, he let me pick any topic I wanted, so I developed GPU CFD code in the early days. Enjoyed the field and wanted more, so I found myself starting a PhD at Princeton. Initially worked on structured multi block FV solvers with some wind energy applications. Eventually wrote a fairly advanced high order DG code for the bulk of my thesis. A job opportunity came up at Siemens / former CD adapco, as a physics developer for STAR-CCM+ where I developed some key stuff and also started the GPU port. Was there for 5 years, then got an opportunity at Cadence during their acquisitions of CFD companies. Worked on solvers there for 2 years til an opportunity came up in the computational aerosciences branch at NASA Langley and I've been there for 6 months now working on their cfd codes. Tldr wrote a ridiculous amount of CFD code for 15+ years and got decent at it :)