Hey all. Terry here — the OP. Too bad I never got to chime in at all over the weekend. A 3 month old really takes up a lot of your free time!

I've definitely got enough to justify a followup post, but in the meantime, I'll address a few quick things here:

1. You need a mentor. Couldn't agree more, and I've not been able to find one. I've tried and tried locally, but really haven't found anyone interested in this stuff (and that I've also clicked with). But I agree completely. A mentor definitely would have gotten me farther than I've gotten on my own.

2. You need a project. Also agreed. Truth is, I've never had that one thing that I was burning to get built. I don't have a cool app or startup idea in mind, and so I never set to work building something specific. The other issue was that I'm not a full-time developer. I do client work (with WordPress) in my spare time, and I'd always try to fit in some programming stuff in the middle of that. So I only ever devoted 1/2 of my free time to learning to program. This definitely isn't enough, but I can't see a way around it. There's only so many hours in the day, and I needed the client work to help pay the bills.

3. The brick wall I'm talking about is probably that one. After spending a solid month or two or three working on Ruby or Javascript projects, a client project would come along and I'd need to spend a month at that. By the time I got back to Ruby or JS, I was always starting from almost-scratch every time.

4. Learn to crawl before you walk. I definitely did this. In every language, I went through all the basics quite well. I knew all the primitives, I could write functions, I could do things with arrays, etc. ESP with Ruby and JS — by the end of my month or two, I'd actually be pretty handy with the basics. I just always felt like the next step was always waaaaaay beyond where I was. I still feel this way. Every "front-end developer" job ad now will mention Ember or Backbone or similar, and these still feel like absolute gibberish to me, despite having a good handle on the basics of JS.

5. You should work on stuff that's not for web development. I'm sure that's good, solid advice, but I don't see it fitting where I want to go. If I want to get that "front-end developer" position, it seems like I need to know Javascript inside out, but the issue I'm having is that I really am getting the "basics" but the advanced stuff (MVC stuff) feels completely bizarre to me. A few months ago, I was feeling pretty good about my JS basics, and started to go through a Backbone course. I was lost in the first 10 minutes. I went through the whole thing, but by the end I still didn't really even know _why you would want to use Backbone in the first place_.

6. Why not just learn to program for the fun of it? That's where I am now actually. I still find it fun, but really, I'm going to devote much less time to it knowing that I'll likely be unemployable as a programmer. The motivation given to you by thinking "Hey, I can get a job at this, if I get really good at it" is strong. Take that hopeful feeling away, and the motivation definitely subsides a bit. Before everyone starts saying, "You don't LOVE it then" or "You're not willing to put in the hard work", that's not true. I've put in all kinds of time and hard work already. I did it without a personal project or a mentor, so I'm not going about it the right way, but I absolutely have put in the hard work over the years.

Perhaps I'm simply not cut out for it!