Everyone has a different trajectory for how they become a professional programmer. Because it's always different for different people (and because it mostly happened in a different world many years ago), I don't think my path is particularly useful guidance for people who want to become programmers, but since I get asked, and just to provide a single data point about one way it can happen (and how privilege matters), here's mine.
|17||Modifying my high school's library program, which tracked checkouts||BASIC||unpaid part time||Got the job by recommendation of comp science teacher to librarian|
|20-21||Fixing & improving a custom job/billing program for a print shop||Pascal||hourly, part time||Print shop my father used, he was "friends" with owner|
|23||Automatic analysis of complexity for programs||C++||hourly, part time||One of my computer science professors presumably couldn't get a grad student to do it for "free"|
|25-27||Implementing parts of PostScript||C++||salaried||Ran an online MUD with some guys who got hired there then recommended me. Remote trial was implementing strokepath (turn lines & curves into wide line by generating needed polygons)|
|27-33||Computer game graphics technology for respected game developer. Many varied tasks, peaking with this||C++||salaried||Previously participated in a Usenet weird-writing group w/ an employee of same company, contacted him for info about game industry, was invited to apply|
|35||Computer game graphics technology for a different respected game developer. Precomputed-PVS for engine that didn't have one already. (Unused?)||C++||hourly, part time||Contacted by producer, who knew me from previous company|
|38-39||Computer game graphics technology. Rewrite of Genesis3D engine for Japanese pachinko market||C||hourly, full time||Friend of a friend recommended me|
|40||Audio decompressor. stb_vorbis||C||fixed fee||Acquaintance who I'd had technical conversations with for a decade|
|41-present||Game UI middleware. Reimplemented most of Flash Player.||C||salaried||Hired by same as previous.|
Some of the things stated above as facts are my best guesses as I don't always remember the exact details, and it's just less readable with uncertainty-disclaimers embedded.