As I go through this experience, one of the things that have been helpful for me is being able to push through the fatigue and frustration that comes from learning new languages in programming. The challenge is similar to any tough skill we try to pick up. Learning to play basketball when all we do is air ball, or fighting through an impossible workout.
These are the times where I've noticed how crucial it is to fight through and keep pushing myself.
To do this, I'm going to share with you some techniques I've learned overtime. These small but simple tricks will help you get through those last minutes of your workout, or the last couple lines of code.
1. Smile through the tough times.
When things get hard, it's easy to get down on us. We see this all the time in others. In basketball, someone misses an easy shot and they're upset the whole game. A quarterback throws an interception, and his attitude brings down the entire team. Or your startup goes through a hiccup and you just want to sit at your desk and cry.
Whenever you feel yourself about to experience something like this, show your teeth and smile. Our smiles tell our minds how to feel. When you show your teeth and pull the ends of your mouth up, you'll notice a huge difference in your attitude.
For instance, today I was stuck on this coding problem for over an hour. I was extremely frustrated I couldn't figure it out, and I could feel the energy draining from my body. Instead of getting upset, I started smiling and even started laughing about the situation. Believe it or not, the next few minutes I found the solution and I got pumped up!
2. Band with the people who are struggling with you
Knowing there is someone else going through your problem helps psychologically. This is one of the reasons things like Crossfit are taking off. Apart from the physical workout, people love pushing through exhaustion together. It creates amazing relationships, and gives everyone a little extra energy to keep fighting together.
One of the nice things about learning to code in groups is that you can work on problems together. In fact, pair programming is one of the best ways to learn. And when you're in the middle of nowhere all coding through impossible problems, you end up wanting to help each other out. The friend's I've made so have helped push me to keep moving even when I wanted to stop, and that's been a huge reason why I'm still going.
3. Make up an enemy
What I'm about to say is going to sound a bit nerdy, but just go with it. My first day at Big Nerd Ranch, I had a problem that I thought would take me the entire camp to solve. This giant obstacle that stood in my way, I felt way in over my head.
To get pumped up, I imagined that the problem I was solving was the enemy. It was my job to write this code to show the problem that was the boss, and I had to do it to save the day.
Now besides that being a bit extreme, I'm sure most of you have had that same feeling. Maybe it was a high school rival, or a major competitor in your industry who you were going up against. Regardless, having an enemy pumped you and got to ready to rock and roll.
When times get tough, create an enemy and make it your mission to defeat it. Competition is a great aid in helping you optimize your perserverance.