In 1960, as a freshman at Carnegie Institute of Technology, I was given the opportunity to enroll in the first undergraduate programming class offered there. I thought it would be interesting and something that other people were not doing. The class was taught by Alan Perlis, a well-known thinker about programming and languages. (He later was the first winner of the Turing Award.) We learned to program the school's IBM 650 in SOAP (Symbolic Optimizing Assembly Program), which optimized the layout of the program instructions on the magnetic drum memory so that the next operation was ready to pass under the read/write heads just when the previous instruction had finished (a mind-blowing concept that later was useful when programming CDC machines with multiple functional units and independent execution). Later came an early form of FORTRAN. By the time I graduated, the school had changed machines and was mainly using a form of Algol. I only took the one course as a freshman, but I fell in love with computers and software, and found a way to incorporate programming into my chemistry degree, working with the resident theoretical chemist.
My graduate work was in computational quantum chemistry, and I had a part-time job in the university computing center. Gave me the opportunity to dabble in lots of different things. We got one of the earliest CDC 6600 supercomputers and learning how to get the most out of that beast was a challenge.
By the time I was done with my chemistry PhD, it was pretty clear to me that computing was where I should spend my career. The university was starting a Computer Science department in 1968, and I was invited to be one of the first faculty. I taught mainly in programming languages and programming techniques. I was mainly self-taught. I had long-since left academia before I got my first home computer, a C64. In 1984 I had a chance to buy a FatMac at the Apple employee store, and the rest is history.