I am not sure that I am good at programming. I am certainly not as good as the HN-type second generation SV kids who started programming at four.<p>Given that, I do work at a lucrative position doing cutting-edge work.<p>What made me <i>get</i> programming was- _getting hired_. I was so-so before.<p>When I got hired, the work was so challenging and the situation was so unforogiving, I <i>had to</i> grow. I had no other way. I learned new stuff, wrote code that inspired me, and was really "impossible" by me a few months ago. Sometimes, a few weeks ago.<p>What made me and and keep making me better than before is Hacker News and peers.<p>I want to get as good (from the first paragraph); grow as a programmer, grow as an overall problem-solver and thinker.<p>I keep learning new paradigms, new applications, gaining new knowledge, and growing as a person.<p>So the most important thing would be community. Before HN, Reddit. Now, Twitter and Discord, too.<p>I get to know so many new perspective, so many new resources to follow, books to read, stuff to generally know. I barely have time to breathe.<p>I also made some genuine, long-term friends through this process.<p>So, community would be the utmost important things.<p>I was born in a middle-of-nowhere small town, and community and internet are the ones that made me who I am today.<p>I am not much, but definitely levels above what I was a decade ago.<p>Edit: It would be incomplete if I did not mention high-quality teachers teaching for free through MOOCs, YT playlists, etc. And internet pirates, too. Having quick access to any book you might want is very important. (I do spend a lot on books, but piracy is what makes me spend that money so that authors get what they deserve).