I am a little older than many of you, and got an early start with some older machines...
As a high school student, I was lucky enough to go to an NSF Summer Science program in the late 60's. There some computer science profs had a great program set out for us.
The start was learning to program a
Bendix G-15, an antique even then. It was a tube computer with drum memory. Because there was a significant latency in waiting for a rotation of the drum, to optimize conditional jumps, the destination address needed to be a track or so over, and a little bit of an arc later on the drum. Great fun!
The next "computer" was a programable calculator, but it had descrete transistors and core memory. That was the a Wang
Wang LOCI-2 with Nixie tubes for a readout.
By the end of the summer, we got to use a real computer,
an IBM 1401. We got to use punch cards to program in Fortran (Formula Translation).
From there, I went to a private high school in New England where I learned Basic on a teletype connected via a 110 bit per second modem to
the Dartmouth Time Sharing System, the world's first time share computer system.
That was a pretty good start for a 16-year-old in the 60's.
From there, probably the most notable computer that I got to program was an
Intel 8080 in an Intel development system. The system only had dynamic memory, so to get it started, you had to use toggle switches to load a program into RAM that would load a program from the paper tape reader; so the boot up started...