I first started learning to program about a year ago. I went the traditional route and took an intro class at my local community college. At first, things seemed simple and easy to grasp. It didn't take long for the "what on Earth is this nonsense?!" feeling to set in. I always fancied myself to be decent at math in general, but coming up with concise logic to solve a problem proved to be insanely daunting in those early stages. My first true stumbling block was when I was asked to write a program that could determine whether or not a number passed to it was prime or not. Sounds simple, right? I won't lie. I angry cried after spending about 12 hours on it and getting nowhere. I was given tips to try: walk away for a bit and come back to it, google prime number algorithms and try to implement them using the syntax for the language you're using, etc. For some idiotic reason, I thought those tips were silly and didn't apply to me. Why? I have no idea. I eventually gave in and followed the tips, but to no avail. I decided that I was going to simply not finish the assignment and turn in what I attempted to do. I thought it wouldn't matter. I was wrong.
I got the grade back on it (50% for effort), and my instructor gave me source code to look at that actually solved the problem. I read it, and didn't understand it. That made me angry and I lost almost all confidence that I could do this little thing called programming. I moved on, still did well in the class despite that assignment, but I would noticeably twitch every time I heard "prime number."
Fast forward to a couple months ago when I started a web development program at a bootcamp. What's that? I literally can't blow off assignments if I don't get something? I have to figure things out before moving on?! Say it isn't so! I wanted to tear my hair out doing a few programming reinforcement exercises. I knew then that I should have pushed harder back at the beginning to figure out what I was doing. I remembered the prime number program, and I wondered if I could solve it now that I had some more training under my belt.
Success!! It may seem minor to some, but it meant the world to finally be able to do it and understand what I was doing. I'm a stickler for actually knowing what's going on, not just being able to do it. That's when I made a vow to myself--not just because I was effectively being held to it by the bootcamp, but because I owed it to myself: don't skip things that you don't get. Keep trying, and utilize every freaking resource you can get your hands on until it makes sense. You'll thank yourself later. Now if I could find a way to divine the things I'm learning right now...