I'm old (a few years shy of 50), and a second generation professional programmer. E.g.: when I was in kindergarten, my father's main job was maintaining the COBOL compiler on a particular series of Sperry-Univac mainframes. I grew up in a house where the scratch paper for grocery lists was punchcards because my dad brought home reams of unused ones when they were being thrown out in the early 80s. (Fun fact: with a sharp pencil, it's totally possible to fit a full D&D character sheet on the back of an unused punchcard)
So for "how did I get started", I was born into it; I was of the age when you'd get magazines in the mail with code to type in (later, the magazines came with audio cassettes with programs on them). So BASIC initially, then in high school my dad got us a copy of Turbo Pascal and set me loose on that. (Plus tiny TSRs in x86 assembly)
I had a few mid- and upper-level programming classes in undergrad., but was a pure math major, not CS. (so didn't get any CS theory classes, though I did have a job working for campus networking people) After grad school, I got a job writing code in java and perl for a company you've never heard of unless you were in a particular corner of the finance world in the late 90s/early 2000s. I'm now on my third or fourth employer, depending on whether you count a buyout that kept the team intact but moved offices as a change in employer.
My day-to-day coding these days is primarily in python and C++, but in the past six months it's also included work haskell and go, not to mention sh scripts and the weird groovy dialect used in Jenkins.
Oddly enough, my hobbyist stuff these days has all been HTML+javascript because it just makes simple GUI demos so easy. It's kind of wild coming from the mid-90s when I was heavily involved in early web stuff at my undergrad school to this new world where javascript mostly works and is a basically sensible language. Recent-ish projects have included a solver for the NYTimes "digits" game, a Mandlebrot set viewer and the "come back for more meeting" timer at breakmessage.com.