(long)
Thanks for the interest. It is quite an odd career trajectory.
I was torn about physics vs engineering when I went into undergrad - and the advice I got was one led to more certain income - so engineering it was. However, I always felt I had missed out on "cool stuff". After working for two years, my wife decided to go back to grad school in Kingston (2 hours away) - after a year of long-distance marriage and frugal living, I quit and took a year of random physics courses (basically third year physics). I managed to get a summer job with a GR prof, who wanted me to write some Maple code - this became an an early version of grtensor.
At this point I had finagled a spot in the Master's program at Queen's, but my wife was accepted into a Phd at McGill/Montreal - so we went there. I took another term of undergrad courses (4th year phys) and found a prof who needed a student who could code - and I was accepted in the Master's program at McGill doing experimental particle physics linked to an experiment at Fermilab.
After a year at McGill, spouse decided her supervisor was not doing the work she thought and she wanted to head back to Queen's. I scrambled to finish my MSc and then went to Queen's to start a PhD in general relativity.
In a weird "Forest Gump" moment - the time at McGill attached to the CDF experiment at Fermilab means that my name is one of the 500+ names on the paper announcing the discovery of the top quark.
At Queen's I studied GR and astrophysics, leveraging my coding ability into making tools GR researchers use to this day. After the PhD, we had a young family and didn't like the look of the post-doc grind and the constant moving/low-pay that it entailed, so went off into the high-tech world.
I've spent 20+ years in hi-tech s/w. Joined yet another startup two years ago. It's still really fun. Thinking about physics is also really fun - so I try and keep a stream of physics-y side projects on the go.
Maple has since evolved and GRTensorII has gotten stale. One prof has been staying on an old version of Maple since he relies on GRTensor - worrying that when his computer dies he would have to stop using it. I figured it was time for a fix up. This is what I am doing now. I recently took a "sabbatical week" to jump start the exercise. Hopefully it will be public by the end of the year.
There is some background on how I have approached the math in a blog post I wrote last year: http://nbodyphysics.com/blog/2015/02/28/learn-physics-with-t...
For me the take away is something Scott Adams once wrote about. Either
1. Become the best at one specific thing.
2. Become very good (top 25%) at two or more things.
(http://dilbertblog.typepad.com/the_dilbert_blog/2007/07/care...)
I chose (2) and it allows me to wander through both engineering and physics.