It was sometime in 1985 or 86, I’m not sure which, when I found myself in a Radio Shack store looking at a Tandy computer. I was a computer science (EMACS – Engineering Math and Computer Science) major at the University of Louisville, and I was jonesing for a “real computer” as an upgrade for my “toy” (as I had been told countless times) Commodore 64. I had no money of course, and this was back in the days where Wendy’s mornings + UPS at night = school tuition, but a boy can dream. A salesman wanted to know if I had any questions and if I had any experience with computers. Part of my response, was something to the effect that I was also looking at a Commodore Amiga, as I was intrigued by it’s graphics capabilities. What the salesman said next may have stole ten years of my career.
“Look, if you are looking to get a job working with computers, you need a computer REAL businesses use for REAL work. An Amiga is pretty, but no one is ever going to pay you to make pretty pictures with a computer.
I felt the sting of that, I truly did. I found work in computer programming before graduating, and it paid quite well. And so it was that I was successful as a database programmer for many years in my early career, and made a good living at it optimizing reports and database indexes and queries. Computer graphics, astronomy, simulation… well, as I heard a coal minor in a movie once tell his son interested in rocketry, “well that’s okay, everybody needs a hobby”.
It was an interesting road to where I ended up writing a book on OpenGL (a popular computer technology for making computer generated graphics) in the mid 1990’s. I was intrigued by my “hobbies” or night time programming projects, and I was already working for a publisher on the weekend and evenings reviewing books on Windows programming topics, when the topic came up. They had a number of books on graphics programming, and I mentioned to the editor I worked with that I was interested in OpenGL, and if they had a book on that topic coming out, I’d love to do the technical review (technical reviewers read a book as it’s being written, try all the samples, etc. to make sure it all works). I’d learned as much as I contributed every time I worked on a book with them. “That’s funny, we were just talking about OpenGL today in the editorial meeting. We are looking for an author. Why don’t you write an outline and sample chapter for us”. I had written a chapter on C++ for another book by then, as well as some journal articles on Windows programming, so I had some experience by then writing. Still, I was intimidated but I had already been teaching myself OpenGL, so I gave it a try. A month later, I had a contract, a co-author, and the first edition of the “OpenGL SuperBible” was underway to be published by Waite Group Press. I will shamelessly confess right here, as I have in other places, that I learned OpenGL by writing a book about it. I still give advice today to people… experts don’t write books as much as people who write books become experts. Nothing teaches you a subject better than by teaching it. I have developed a lot of expertise over the years on many topics, but often I reach a point, where I then have to write about it and that helps formalize my knowledge and organize it in ways that nothing else does.
I’m not sure anything does more for your career than writing a book, well in the “old” days anyway. Royalties are pretty modest, but the opportunities and doors it opens are priceless. I left the world of healthcare databases, and went to Lockheed Martin. They built space ships you know! I represented them on the OpenGL standards committee, and went on to do multi-dimensional database visualization, games, astronomy software, I taught even “making pretty pictures with OpenGL” at the college level for 15 years, and continued to work on the OpenGL SuperBible as the lead author (went through a few co-authors in that time) up until the 5th edition, and my work survived until the 7th and final edition. Currently, I work at LunarG, Inc. and am on the SDK (Software Development Kit) team for the Vulkan API (the successor really to OpenGL).
I’m not the greatest computer graphics programmer in the world, not by a very very very long shot… but I do work at the very top of that industry, and I work with some of the very top people in that field. That’s exciting. It turns out there’s literally billions (if not a trillions – all industries combined that use 3D graphics technologies) of dollars in business every year in making pretty pictures on a computer, and some people get paid to do it! Who knew? I wonder what that Radio Shack guy is doing these days?