Programming is a difficult beast to deal with when one is first learning it. For one, understanding it conceptually is not something taught in schools. In learning Ruby on Rails with Bloc right now, I’m starting from what is literally ground zero: I didn’t understand classes and methods going in, or the model-view-controller system that websites use to interact with users and databases. That means that I’m not only trying to keep up with learning Ruby syntax (which, to be fair, is easy by programming language standards), but I’m also trying to learn rules about programming in general on the fly.

In other words, when I get stuck on a problem I’m often reminded that I’m not just learning a new language; I’m learning my first language.

For another, the sheer amount of content is frustrating. Just when I feel like I’m starting to get an idea of what I’m doing, Bloc starts teaching a brand new concept that I realize I could never have done on my own. What’s more, it’s not as though the new concepts I’m learning seven weeks into my software development course are random tips and tricks Bloc is throwing at me; they’re very applicable tools that I’m likely to need at some point when I get a job in software development, so I can’t just blow any of it off.

But, as Dory would say, “Just keep swimming!”

The good news is that the farther along I go, the clearer it becomes that this is all intentional. Bloc’s goal (and my goal) is for me to come out of the course understanding software development, and to accomplish that in a year, I have to accept being challenged constantly, pushed harder. Being taken out of my comfort zone has made me learn much faster than when I’ve attempted to go at my own pace through other online courses (the free ones that don’t have deadlines and a mentor pushing me along). It’s essential for me to be immersed in what I’m learning.

Right now, this is important for me to remember. I’m struggling with an assignment that will make it so when a user favorites a post on my project website, Bloccit (a Reddit clone), and another user comments on that post, they get an email. All the code seems to be working. No errors are thrown up when someone favorites a post or comments on that post. The problem is that I’m not receiving any emails.

But I will push on. As frustrating as it is to be learning the fundamentals of a concept and to be tripped up on what are clearly the simplest of tasks, I think it will be worth it in the end.