Learning a new skill, especially one as complex as programming, can be frustrating at times. Keeping the following in mind allows me to stay motivated and reduce anxiety while learning to code.
1) Know the fundamentals first. For me, the most frustrating part of coding is there are so many awesome things I want to be able to instantly DO. But I can’t, as I’m just not there yet. When I get really frustrated working on a project, it’s usually because there’s something I need to go back and more thoroughly learn first. For instance, I kept hitting roadblocks trying to create my own WordPress theme from scratch. I realized it was easier to first learn how to modify an existing theme through the use of a child theme. I plan to finish the Treehouse “How to Build a WordPress Theme” before I attempt to revamp this website. You could probably google everything to build a project, but that doesn’t mean you should! Better to learn the fundamentals of whatever tool you’re working with first.
2) Practice every day. Nothing you learn in web development is going to be retained without practice. There’s just too many things to remember. Taking too much time away from coding is another recipe for frustration for me. Breaks are important, but so is consistency. Even a daily warm-up exercise is enough to at least keep you in practice.
3) It takes more than one try to learn a concept. Programming is hard. You’re not going to understand everything at first. Sometimes you will have to reread articles or put what you’ve learned into practice before it really sticks. Nothing has been more fulfilling for me, though, than when a concept finally clicks into place! What was difficult for me before can become simple and manageable on the second (or third or fourth) try.
4) Set deadlines. Unsurprisingly, it turns out the same study techniques I learned in school can still be applied now. Not everything has to be done on the computer; I’ve found it helpful to take notes and plan projects out on paper. Most importantly, I started setting deadlines for myself. Every week I have a project I want to finish by Friday evening, and this information is set in my calendar. Having a mentor through Thinkful really helps. We meet on Saturdays at noon, so I want to make sure I have something to show him by that time. Even if my project isn’t finished by the deadlines I set, I always get a good start on them this way.
5) Breathe. My first month of graduate school, a professor talked to my cohort about career advice. One thing he said still sticks with me: “If graduate school was easy, it wouldn’t be worth doing. Anything in life worth doing is probably going to be hard.” I think it’s true that most worthwhile things in life are going to come with challenges. I try to remember that this is supposed to hard. It makes it easier to know that others have overcome similar roadblocks to myself and no one learns any of this overnight. Sometimes you just need to take a second and breathe. Everything you need to learn, you’ll learn with time.