In the classic movie Breakfast at Tiffany’s, Holly Golightly famously discusses the concept of the “mean reds.”
Holly Golightly: You know those days when you get the mean reds?
Paul Varjak: The mean reds, you mean like the blues?
Holly Golightly: No. The blues are because you’re getting fat and maybe it’s been raining too long, you’re just sad that’s all. The mean reds are horrible. Suddenly you’re afraid and you don’t know what you’re afraid of. Do you ever get that feeling?
Now, Holly and Paul may not have been specifically discussing coding but we’ve all had the mean reds when we first started learning to code. And we continue to get the coding mean reds pretty regularly as we learn new languages, build our skills or implement solutions to different problems in different projects. Not only is this TOTALLY OKAY, it’s to be expected!
While Holly Golightly’s cure to her mean reds may be to go to Tiffany’s to calm herself down, we wanted to suggest a few different (err… more productive!) strategies to unstick yourself when you get stuck in that coding rut.
1. Lean on a coding community IRL (in real life)
Get yourself away from your computer screen, and find a local group like Rails Girls or Girl Develop It that host events like meetups, bootcamps, conferences and workshops on coding. This is a great way to expose yourself to different approaches to learning the same skills, and meet some pretty rad people that instantaneously have something in common with you: you’re all on the same learning journey! Sometimes, attending these events can make concepts click. When you hear another person describing something a slightly different way, it might all of a sudden eradicate your mental block. Participating in your community is also a great way to find out if you can volunteer with others nearby on a community project that may help you practice and stretch your skills. You’ll also make invaluable friendships with people who may be able to help you with your problem. And you’ll be able to help others with issues you understand but that they may be stuck on!
2. Lean on a coding community online
It’s not always easy to fit socializing into our busy schedules, and we don’t all have time for a half day workshop. That’s why, along with a local community, finding an online community that you can go to for quick answers is a godsend when you’re learning to code. And, let’s face it: sometimes it helps to have the cloak of anonymity so you can ask “stupid” questions (although really, there is NO such thing!). Our Blueprints revolve around learning communities of students and mentors who can find answers to their most difficult questions within minutes. Or, try places like the Mozilla Developer Network and Stack Overflow, which are open communities for all and archive all their Q&As. More often than not, you’ll realize that many have come before you and faced the exact same challenge! Most often, your problem or challenge isn’t unique and you can find an answer just by asking the right question.
3. Create and maintain an inspiration “file”
Like having a good motivational coach in your ear, sometimes all you need are a few bookmarked articles and favorite words of wisdom to reinvigorate you to get back into problem-solving mode. Don’t let that pesky unknown EVER get you down! Show it who is boss. One of our all time favorite pieces of advice we go to when we get stuck with issues is this piece of brilliance by Ira Glass (it’s an inspiring 2-minute video that is sure to put a smile on your face). Familiarizing yourself with Github repositories is another great source of comfort. Follow the friends you make online and offline on GitHub and take a peek at their code. Are they doing something you want to be able to do? Talk to them about their work or just watch and let it inspire you.
4. Find a coding mentor
Finding someone who has more practice or experience than you is a great goal. Remember, mentors come from all walks of life….inspiration is not ageist! I’ve had mentors with more and less education than me, more and less years of experience than me and their age has never mattered. The important thing is that they have guided me and helped shaped my career and progress. Believe me: forget the stereotype of the “old, wise, grey-haired” mentor. To exclude mentors younger than you will be to deny yourself the skills that you’ll need to progress in your careers. I hate to break it you, but some of those “young kids” really know what they are doing. And remember, mentorship isn’t a top-down relationship. As your mentor helps you through your challenges, find out what you can do to help them in return.
5. Suspend disbelief
Skillcrush CEO Adda Birnir wrote a great post for our Blueprint students recently when someone got stuck: she introduce the idea of “suspending disbelief” when learning to code. I’ll paraphrase her here:
‘Suspended disbelief’ is a phrase coined by philosopher Samuel Taylor Coleridge to describe the phenomenon where we humans have to suspend our disbelief of something in order to enjoy it. For example, when you attend a magic show and see that magician cut his assistant in half there is a part of you that knows he’s not REALLY cutting her in half. But if you harped on the fact that you know it’s not real, you won’t enjoy the magic show very much.
This same idea comes into play in all kinds of other places including programming.
When you are learning a new technology, whether you are learning to write your first programming language, or just the latest framework, you go through this uncomfortable phase where you know that the code you are looking at is doing this THING but you don’t understand HOW exactly it’s happening. This is OK. Part of the learning process includes learning to train your eye. The way to train your eye is to read a good deal of code even when you don’t totally understand what it’s doing. Remind yourself that you can’t possibly understand it all right away and that believe it or not, reading code you don’t totally understand is a productive part of the learning process.
TLDR; version: It will come, we PROMISE. Remember, good code is far from perfect. And struggle is part of success. Don’t give up! You can totally do this.
What are your strategies for getting through roadblocks and frustration? Share them with us in the comments below!
Click To Tweet: