As life would have it I ended up going to Cal-Arts for college (I was/am a very capable musician).
It is worth noting that before there were C.S. degrees, IBM did a study to determine which
prior background was the best predictor for success programming computers. You’d think STEM of some sort. To their surprise it was a musical background — specifically composer/arranger (as opposed to performer). That’s me.
So here I am at Cal-Arts lo those many years ago, and in the synthesizer lab there was a computer available to which one could connect the analog Buchla synthesizer (if one had the moxy to do so). Mind you this computer had 8 KILOBYTES of memory, and no CRT — everything was done via a TTY with a big paper roll, and you saved your programs on convenient paper tape (5 BYTES of data per INCH!). To boot the machine you had to set the instruction pointer on the front panel, and manually enter a couple dozen lines of hexadecimal via the front panel (don’t make any mistakes!), reset the Instruction Pointer to the beginning, and press the Run button to load the simple debugger/monitor from tape. Programming was in assembler only, but one could single step through the program via the Step button on the front panel and read off the contents of the CPU registers via the LEDs on the front panel (silk-screened brackets on the front panel grouped the binary LEDs into hexadecimal digits for your convenience!). While I was at Cal-Arts, Stanford offered for the first time a degree in Computer Science. That’s how new it all was. This was about 1975.
Since then I have been honored to be a developer on the C++ team at Microsoft (1997-2000) where I learned how a seriously professional software development team gets the job done. And there have been tours at IBM, Weyerhauser, Boeing, etc.
Meanwhile, when I was in high school I fell in love with the music of Bach. So of course I had to have a harpsichord. Something completely beyond my financial reach — unless I built a kit. Which I did. And of course I also had to learn to play Bach’s music on the pipe organ.
Cal-Arts is a private college. I had a scholarship from the State of California for my academic performance in high school, but that didn’t cover all of my tuition. So I had a ‘church organist’ job, which earned me enough to cover my rent, and the parishioners were a ready supply of piano tuning gigs and piano lessons. Between that, and a harpsichord I build in my shop timed to coincide with a tuition payment, I was able to pay my own way through Cal-Arts (with a scholarship from the State of California covering about 1/3 of my tuition).
Meanwhile, musical instrument technology was interesting to me. So I learned the math behind vibrating strings, and structural analysis interested me also (there is about 20 tons of tension across the framework of a modern concert grand piano). Calculus was definitely required. So it occurred to me that it might be useful to get some college credit for what I had taught myself. So I approached the staff at Monterey Peninsula College about taking their calculus classes by examination. “You realize that if you don’t do well your bad grade will be on your permanent record.” Fair enough, I say. So for the first three out of four semesters of the two-year calculus series I signed up for the course and showed up only for the final exam. My lowest grade on the final exam was 99%. (I decided it might be worthwhile to ‘experience college’ and attended the fourth semester of calculus — differential equations. For which I also received an ‘A’).
So in summary I think it has been both my greatest curse and strength to be a polymath. I am terribly interested in solving useful problems — games are uninteresting to me, but solving problems that benefit someone — me, my employer — I find those gripping. And although I appreciate (and apply) the usefulness of high level software abstractions like NodeJs, when things go wrong one ultimately has to return to the basics of how these machines work, and that is something for which I have a peculiar knack.
I run TOWARDS problems when everyone else is running away from them. I don’t care about impressing anyone, and I know how to deal with people. Mostly I like solving useful/hard problems. I don’t particularly care about the technology involved.