I've Never finished a "Learn to Code" Program
Tags: beginners, codenewbie
Published: 2020-02-21 22:30:10

Recently, it really hit me:
{% twitter 1230520137029242883 %}

There wasn't a problem with any one of the resources I used. They all did their thing and taught it well. I learned a lot from them, they just weren't always the right fit.

*[is there a TL;DR? Yes! click me](#tldr)*
    
---

## Not the Right Fit

I realized that's not really a problem or even a bad thing. There are tons of completely valid reasons it might actually be a good thing. 

There'd be no point in trying to move forward with something if it wasn't something I could understand yet. Equally, if something was too simple, there was no reason to stay there. There were also times when I realized I needed a different type of material or a totally different subject. Last but not least, I would paint a false picture if I didn't mention the highs and lows of life that put a damper on learning.
{% twitter 1230520138304282624 %}

##What I Did
From the start, I really didn't have a plan. I played with FreeCodeCamp (FCC) after learning about it and suggesting it to a former coworker. It wasn't my plan to keep doing it.

### FreeCodeCamp (FCC)
I started with FCC's HTML & CSS and picked basic things up rather quickly. I moved on to JavaScript, did 80ish of the lessons. Why did I stop? I was frustrated with the math and I was frustrated with the interface. HTML and CSS had given visual feedback. FCC JavaScript wasn't doing this the way, as a newbie, I thought it should. I also knew just enough to play around with HTML and CSS to make a landing page for the business I was building.

As I decided I didn't like JavaScript, I did some research and found Django would better suit my needs. So, I started with Django Girls blog tutorial.

### Django Girls
Django Girls was the first time I had touched the terminal, played with pip, and did things I worried were going to break my computer. Once I had Python and Django installed, I followed their rather simple tutorial. I was a total newbie, but it was going smoothly. Pretty soon, I had a really basic looking blog and had set up whatever a virtual environment was. Okay, maybe I lied, I think I did finish this, but it was a small thing. Then I wanted to make my blog into something that resembled the business I was trying to build. That required me to learn more Django.

### YouTube Series
I was having a hell of a time understanding Django. I was reading the docs, but NOTHING made sense. I went to YouTube and watched a couple series. It would take me an hour to watch a 15-minute video. I'd pause it every few seconds to make sure I didn't miss anything. I loved how [Sentdex](https://twitter.com/Sentdex) and [Coding for Entrepreneurs](http://twitter.com/joincfe) took the time to explain how and why certain things were happening. Though, it was still hard to comprehend.

All the while, I was asking questions and probably sounding like I knew nothing. I sounded like I knew nothing because I really didn't. Eventually, one of the many questions @matteing answered made me realize I was doing it wrong. I was learning how to structure a Django project and template with Jinja2, but I still hadn't learned Python.

### A Book
Now I needed to learn Python. I was finally figuring out why I had so many issues. I perused amazon for a beginner's book with pictures, to make it easy. I found, purchased, and received the [_Illustrated Guide to Python 3_](https://www.amazon.com/gp/product/1977921752/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1). To my dismay, NO illustrations, or at least not like I expected. There are some diagrams of stepping through the code. Anyway, this book is awesome. I would get out my highlighters, draw all over, underline, highlight, and I was really learning things. There were practice things at the end of each chapter and they were actually helpful and mostly not math. Shortly after I got the book, I was feeling good. A month or so later, a local college had sent out some classes that were open to the public. At this point, I was about 3/4 of the way through the book.

### A Local Night Class
After receiving a listing of night classes, I decided it couldn't hurt to look. I managed to find an 'Intro to Python" course. So, I signed up and I went. It was perfect! It was reiterating the things I had just learned in the book I was reading. I knew some things. I was able to help out other people in the class. I also learn *a lot* of things. I learned more intricate details of the things I already knew. It was awesome. During this class, the professor told us to check out [How to Think Like a Computer Scientist](https://runestone.academy/runestone/books/published/thinkcspy/index.html). So, I started going through the interactive book while going to the class. I was about halfway through the book and it jumped further/faster than I was learning. I got frustrated, pinned the tab, and told myself I'd get back to it. (by the way, it's still pinned and I still haven't gone back to it)

### 30 Days of Python
At this time, I felt like I knew things, but I didn't know them *that* well. So, I started following along 30 Days of Python and started writing notes (that made sense to me) about allllll the basics. I needed to be able to reference something that didn't have all the awful `foo`, `bar`, and math examples. I'm not considering this one "never finished". I'm calling it "a work in progress". I'm still writing my notes and I still reference them. If you also hate the math examples, check out my [basic Python series](https://dev.to/vickilanger/charming-python-day-1-of-30-4coo). I would work on this series more, but I paused some to build [Vets Who Code Retweet bot](https://dev.to/vickilanger/vetswhocode-retweet-bot-3j97) and [Code Questions bot](https://dev.to/vickilanger/code-questions-bot-42io)

---

## Still, There's Progress

I haven't finished many "learn to code" programs or tutorials or books, but that doesn't make me a failure. I've learned a ton. I've made and shipped projects. I have an open source project that I maintain and improve. I contribute to other open source projects. 

Would you call that a failure? So, why do some people claim the unfinished course rate as a bad thing? If it's your course, I know it might feel personal. I'm here to tell you it probably isn't. There was a reason someone didn't finish. It might be your course, but there's a better chance it was a personal reason like most of mine.
{% twitter 1230520139403210753 %}

### You made a course and some people don't finish!

You made a course. It's awesome. It's the best and everyone should take it! I believe you. I know the whole thing is amazing. Here's what you do when someone doesn't finish:
1. Know that you helped them
2. Ask what you could do better
3. Remember it's not personal
4. Watch for trends and change material, as needed
5. Recognize that you didn't fail yourself or them

If someone doesn't finish a course, it doesn't mean they didn't learn from it or keep learning

---

## TL;DR <a name="tldr"></a>
So, here's a (probably incomplete) list of places and people I learned from. I totally recommend allllll of these, if they apply to you.

| Resource | Learning | Why I didn't Finish |
|--|--|--|
| [FreeCodeCamp](http://freecodecamp.org/) | HTML, CSS, then JS | confusing interface, for me, to learn JS as a newbie |
| [Django Girls](https://tutorial.djangogirls.org/en/) | Django and Python | I finished this :D |
| [Tango with Django](https://www.tangowithdjango.com) | django stuff | great intentions, but I never actually built anyhing with this |
| [Try Django Tutorial Series](https://www.youtube.com/watch?v=uu98pqiUJU8&list=PLEsfXFp6DpzTD1BD1aWNxS2Ep06vIkaeW) by [Coding for Entrepreneurs](http://twitter.com/joincfe) | Django web dev | still didn't know wtf I was doing w/ python |
| [Django Web Development with Python](https://www.youtube.com/watch?v=yD0_1DPmfKM&list=PLQVvvaa0QuDe9nqlirjacLkBYdgc2inh3) by [Sentdex](https://twitter.com/Sentdex) | Django web dev and jinga2 | still didn't know wtf I was doing w/ python |
| [HackerRank](http://hackerrank.com/) | Python Algorithms/Logic | Felt disjointed and it wasn't helping me figure out how to put things together |
| [Illustrated Guide to Python 3](https://www.amazon.com/gp/product/1977921752/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1) | basics of python | Had learned enough to do some things and then the class started |
| Forsyth Tech Community College: Intro to Python | basics of python | I finished this too! :D |
| [Python Game Programming Tutorial: Pong](https://www.youtube.com/watch?v=DplYMapxi3Y) by [Christian Thompson](twitter.com/tokyoedtech) | Python Turtle Library | I made a pretty intense Pong game |
| [How to Think Like a Computer Scientist](https://runestone.academy/runestone/books/published/thinkcspy/index.html) | not as basic, basics of python | I got distracted by making projects |