Learn Code
the Hard Way


The Only Programming Courses for Pre-Beginners

Most "beginner" courses claim to be aimed at "total beginners" but transition too quickly from print("Hello Word") to "a monad is a monoid in the monoidal category of endofunctors" with nothing between. I've aimed my courses at pre-beginners, the kind of person who actually knows nothing about programming. I take my time and build your skills up slowly in small logical steps. That's why my courses work.

What people are saying.

"I just wanted to let you know that this course is awesome. I'm following all of the instructions and everything makes sense, so I don't actually need help. I just wanted to thank you. This is a really well constructed course and well worth the very affordable expense. Cheers.

"Can I just say how grateful I am to you for writing this book. It is the first thing I have found that has made me feel like, I can get it together and learn to code."
-- Alexander

"I recently finished LPTHW and greatly enjoyed it. Python’s readability and your teaching approach really helped me to finally overcome some mental obstacles to developing programming abilities that have frustrated me for a long time. I appreciate you making your knowledge available to the world for free. I found your 'what to tell know-it-all programmers' and general life observations just as interesting as the code."
-- Drew

"I would like to say that I find your material absolutely terrific. Very pedagogical and methodical, taking it nice and slow. Perfect for a beginner and someone who thinks that technology can be a little intimidating like me. I've been running my own businesses for some years and have come to the realization how important it is to know at least some coding. Most importantly in order to be able to talk to and understand programmers (and balance up the information asymmetry), as well as making your own prototypes without the need to resort to external expertise."

Available Classes

Courses are currently being loaded into the new system.

Learn Python the Hard Way

The best introduction to Python for pre-beginners.


Learn JavaScript the Hard Way

Learn the most capable language in the world.


Learn a Personal Process

If you're just starting out it's hard to know how to get started and what to do next. Learn Code the Hard Way teaches a personal development process that takes you from an initial idea to a working application in logical steps. The process is the result of watching thousands of beginners struggle with getting started, and has worked to help them start and finish their projects. Don't just learn a specific technology. Learn a process that works with all technology.

Videos Included

Almost every lesson in the course features video(s). The videos are a mixture of lecture and demonstration that review the written lesson and solidify the concepts for you.

Try Before You Buy

You can read the JavaScript Level 1 module for FREE to see if you like this course style.

Real Depth

I wrote an entire custom webframework by myself just to teach people web development. I used that framework to create this website which handles everything. No wordpress. No Gumroad. I even host the videos myself. Everything here was written by me and this is why my courses are so practical and to the point. I'm a working programmer actively using what I know and I teach you what I know.

Simple No Tricks Pricing

Courses are always one low price, with no fake "sales", no fake timers threatening to go away if you don't buy now, and no other shady sales tactics. Just a basic price, you pay it, you get the course and my help. You have 30 days to request a refund or change to a different course. Easy, honest, and fair.