If I Were Starting Today How'd I Learn Programming And Get a Job
Tags: beginners, programming, learning
Published: 2022-10-15 17:06:34

<!-- wp:heading {"level":5} -->
<h5>A little about myself so you can decide if this post would be helpful to you...</h5>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Circa 2011 or so, <a href="https://onrampdev.com/?page_id=13">I was dead broke</a> and figured out this programming thing might be a good fit for me. I had no mentors and no connections to the industry. It looked like it paid well so I wanted in. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>I bought some books and dug in. Then I started watching some videos and following tutorials. Honestly, not much of it stuck. But little by little I started to pick things up. Eventually I applied to an apprenticeship program in Chicago where I was paid to learn. It was incredible. Fast forward 11 years and I do this for a living. I'm not bad at it either. I was not particularly good at math, had only some community college exposure to programming, and lived in a city not known for being a tech hub but I managed to bootstrap enough knowledge to get an entry-level job. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>This post is a reflection on my journey and how I may have shortcut my way to my current position had I known better. It's not a <em>guaranteed</em> way to land a job, just some pointers I wish I had 10 years ago.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>Most Important Moments</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>With the benefit of hindsight, these are the highest leverage moments before I had a job:</p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol><li>Working through most of <a href="https://greenteapress.com/wp/think-python-2e/">Think Python</a></li><li>Building a trivial airline reservation system in Java</li><li>Discovering that apprenticeship programs existed</li><li>Writing Tic Tac Toe for my job application</li></ol>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>I would basically work backwards from this list.</p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol><li>Find entry-level jobs in your area or remote. <strong>Better</strong>, find jobs that pay you to learn. There are programs from companies like Microsoft and Twilio that operate similar to the apprenticeship I went through. Find as many of these as you can.</li><li>This is related to point 1, but join Slack groups, Discord servers, Facebook groups, and hang out on Twitter. I often see tweets in my network like "Looking for motivated junior developers". This is one way to hear about new opportunities early.<ul><li>I'll admit this step is a little more difficult when starting out because there's a lot of spam and BS floating around but it's worth fishing for the good ones. Try to follow experienced developers or people writing about programming, rather than company accounts.</li></ul></li><li>Try to deeply understand what the companies from step 1 are looking for in candidates and what the application timelines are. You likely won't be ready for a while but setting some target dates will give you motivation.</li><li>Build challenging projects in whatever technologies are required by those companies. If no specific technologies are required then just <a href="https://onrampdev.com/?p=43">learn Python</a> and start building stuff.</li></ol>
<!-- /wp:list -->

<!-- wp:heading {"level":4} -->
<h4>Summary</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>In a nutshell that's it. But it's easy to talk about and hard to do. The other big piece of advice I wish I could give my former self is to try to sit down and focus on one thing at a time. It's so tempting to zig-zag between tutorials and projects, hoping that there's a magic one that will be 10x better and land you a dream job tomorrow. As much as I wish it were true it doesn't happen that way. Pick a path then hunker down and do the hard work.</p>
<!-- /wp:paragraph -->

Hope this helps. By the way, don't forget to join my [mailing list](https://artisanal-knitter-4166.ck.page/7a08f37f37
) for more tips and advice like this.

P.S. This is reposted from my main site at https://onrampdev.com/ - check it out for insights.