This is technically my third attempt.
When I was a kid, I used to mess around with custom servers in Graal Online. Learned just enough scripting to spawn tanks or special weapons. Somewhere along the way, “if” and “then” logic kind of stuck in my brain. But sadly I never learned ‘to code.’

So as an adult I started basic. I watched about 4–6 videos from Network Chuck on Python. Pretty easy intro but it didn’t really stick.
2nd attempt, I downloaded a bunch of Ruby books on Kindle and I thought I’d absorb it that way because I’m more of a reader. Laughable in hindsight. That didn’t really work either. Turns out working through data types and functions completely without context is a pretty dry way to learn anything.
So what was different this time?
Well I’d had of let the whole thing go all over again – until a video popped up on YouTube called Animation vs Coding.
It showed a stick figure visually demonstrating Python code. I thought to myself, “What would I feel if I just copied everything line by line?”
So I did. And it took me like 2 hours.
Suddenly, I could just feel things… work? And it got me on a roll.
With that tiny bit of motivation I started trying to AI-code my way with and early version of Replit. Until I showed a developer friend at the office (thanks Jesse) who pointed out that because I’d leaned so hard on AI, I’d rammed everything into a single .py file 🤣. This made me realize I probably should learn more foundations before vibe coding my way into trouble.
Around that time, I got Ryan Kulp’s Ruby Foundations course on discount and started sneaking away in the mornings to learn or adding a few minutes of study time in the evenings.
At the same time, I began cementing my learning by planning hypothetical apps in ChatGPT and asking if I’m understanding how MVC and file/function and data processes work together.

Eventually, I pushed through 70% of Ryan’s course and created my first working app. Growl Copywriter!
Even if it’s a crappy product, I almost can’t believe it. I never considered myself to be the coding type – I prefer not to get into deep tedious details.
Things I noticed along the way
Overall, I noticed learning really is messy. It doesn’t happen linearly where you follow one resource from level 0 to 1. I bounced around a lot, which help kept me engaged. It felt similar to learning a language. Sometimes you just gotta throw everything at a general direction and pile up trash to build a mountain.
Apart from that – here’s some fun reading for actual programmers, I learned along the way too:
- Pseudo code is a real thing. When approaching problems, I instinctively wrote out what I wanted each piece of code to do in English, then tried to translate it into working Ruby. Apparently that’s normal.
- Coding is way more tactile than I expected. Physically typing out everything being demonstrated makes a huge difference versus just watching.
- You can’t really code without the internet. I somehow had this idea of coders writing things mostly from memory. The internet went out once while I was mid-build and I was pretty useless. My mate David said that’s normal.
- Libraries and shortcuts are cool – and apparently encouraged. I had no idea using pre-built solutions for things like authentication was so normal and even respected in dev circles. I thought programmers just wrote everything from memory. Lol.
- Test constantly in terminal, not just at the end. If you save testing for when you think you’ve finished a feature, the whole thing can be stuffed up and you won’t know where.
- Plan your file and folder architecture ahead of time. A few times I got halfway through writing something and realized I should have structured it differently. Painful to redo.
- And be careful about security flaws SQL injections, XSS attacks, authentication gaps. My mate Alex walked me through some of this. Apparently it’s a common blind spot for newbies and people leaning heavily on AI to write code.
Where to from here?
I have some hardware projects I’d like to do using MicroPy, so I’m planning to use the next build as a chance to try Python and see how it compares to Ruby.
Still promoting Growl in the meantime. Let’s see if it becomes its own thing.