I first learned to code by being a guinea pig at a Stanford University educational research lab and a volunteer at a Silicon Valley community computer center, then self-taught on "luggable" computers and programmable pocket calculators lent to me on weekends by a generous Hewlett Packard employee, and ultimately on my high school's PDP-8. I learned about computer science, again self-taught, while working as a "research specialist" (read: peon) at the MIT AI Lab.
Notice I didn't talk about my undergraduate education, which mostly involved placing out of CS classes, so not exactly a formal education. I learned more from independent projects than anything else. Professional programming I learned on the job--you almost have to, where else are you going to collaborate with other programmers and make things bulletproof? Absolutely, there's GitHub and open source projects. For me, that came about well after I earned my "sea legs."
But enough about us old farts (and there seem to be a lot of us on Slashdot). How did you millennials learn to program? Where did you find and figure out how to use programming tools/environments? What were your first projects about: The Web, Robotics, Games, something else?