Stephanie - I'm curious about your education/employment timeline. Things like what type of jobs you had after secondary school, internships, first job after university, jobs you wouldn't put on your CV, etc. For example, did you go straight from secondary school into college, or was there work in between?
It's easy to look at you and see someone who's successful, but it's much harder to not assume all kinds of things about the path to that success. I thought sharing some of the actual path might make it harder for myself and other to write off your success as 'I could never do that.' If any of that is too personal, feel free to disregard.
Rich - IIRC you were involved with (responsible for?) getting Steam running on Linux. Just curious as to how long that took, what the process was like, what kind of problems you ran into, tools you used, new things you had to learn, etc. Of course I can't remember where I heard that so, if that's not the case hit me with your best math joke. Here's mine.
What did the Zero say to the Eight?
Thank you both.
Hi Tim - Yes, I was one of the earliest members of the Steam Linux project. I was involved in the project for about 2+ years. I worked with all the major driver vendors to get OpenGL performance up to where it needed to be to have a hope of being a viable alternative to Direct3D.
I helped port and spent a lot of time optimizing many of Valve's Source1 engine games (such as L4D2, DotA2, CS:GO) to Linux, and I took the "togl" D3D9->GL layer and basically rewrote it to eventually outperform Direct3D. Getting the GL drivers in shape while also trying to navigate and survive the sometimes vicious backroom politics and yearly-firing cycles at Valve was very trick business.
While working on this project, I had one driver vendor snipe at me personally (with a patent attack on one of my open source libs), because I basically treated all driver vendors equally. This driver vendor basically infected Valve's Linux team with a couple of their hand-picked "embedded" engineers, which gave them certain advantages vs. the other vendors.
Tool wise, I used AMD's GPU PerfStudio, RAD's Telemetry, and a few in-engine ad-hoc custom profiling tools I created specifically to compare GL's batch performance vs. D3D9's. At the time, the available GL tools were almost useless for real-world work.
I had to learn a lot about Linux, OpenGL, and how the Source1 engine worked. I spent a ton of time debugging Source1 engine bugs.
I also spent some time porting Source2 to OpenGL, by wiring up the rendersystem D3D9 backend to togl, then optimizing it as a unit. I wrote the first working GL backend for Source2 and handed it off to another external engineer.
All in all, I had a lot of fun working on the project. Next time, I'll drink less caffeine and do it in a more supportive atmosphere.
So after high school, I worked lots of jobs throughout college. For my last couple years I needed to totally support myself and my partner who didn't work, so it was necessary to work a whole lot while also going to school. In college I worked as a tour guide, in the admissions office, as the business manager of the school newspaper, in the grants office, as a telemarketer. Then I dropped out of school. I worked at a coffee shop and as a sales associate at a clothing store. Then I went back to school in computer science, and kept supporting myself as a sales lead at that clothing store. Lots of jobs, often multiple held at the same time or overlapping each other.
In terms of programming jobs, after I graduated college I worked at a small advertising/design shop right out of college, then at Unity, then as a contractor at Oculus, then started Binomial with Rich!
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.