There is an initial phase when learning any new skill or talent. In that stage everything you learn is new and overwhelmingly exciting. It is easy for you to focus and allow the brain to absorb all new knowledge. This is how it was for me as I was/ am learning to code. The fact my brain was a fresh blank slate made it fertile ground to plant any seeds of wisdom I could find along the way.
My journey to teach myself code can be paralleled to many others who have driven to learn about a topic. I was picking up and understanding what was once a complete mystery to me. All I had to do was read about the topic, “Variables, cycles, functions! Wow, I never realized it was so easy.” I felt like Neo jacked into the matrix saying “I know kung fu, now”. Starting off, you are motivated. You are on a roll and there is no way anything will take this away from you. During my excitement I might get confused on some concepts, but not wanting to “slow down”, I would be tempted to ignore and look over them. “How do I deal with receiving an output that is a floating number? Eh, I’ll just make sure I only use whole numbers. I don’t really NEED to know that kind of stuff “. There is so much to learn you can probably get away by building around what you don’t know, right? Yes, there are definitely many things you don’t NEED to learn, and could work around. But the question of can and should are different.
Can I make practical and fully functional code without grasping all programming concepts? Yes, Of course I can. If my goal is the result, then who cares how long it takes to get the output? Well, all my future employers but more importantly my future self. My laziness to not grasp something that is on the more difficult side will hold me back throughout the future. You can build a house with a hammer, hand saw, and wrench. But why not read the instructions on how to properly use a nail gun, circular saw, and drill. Once you are confident using better tools you can move faster and easier. My mom always says the lazy man works twice. I have found that to be true many times for many things.
Now the truth is you will eventually start to slow down. All topics and information on coding where new to me and my brain had a buffet to select from and now only the boring stuff is left…. Or worse only the difficult stuff. It doesn’t click right away. It takes more diligence, it takes more focus. You thought you would have enough knowledge in your arsenal to simply avoid learning “those topics”…. With doubt creeping into your mind you start to ponder that maybe this isn’t the place for you; maybe this field is more for “those other kinds of people”. We have all been there. It doesn’t matter if you’re learning code, philosophy, or cooking.
While learning code I would feel that I might not have the right mind set for the field. “I’m reading the same example over and over but it’s just not clicking”. Why is this not working the way I want… Did I lose my motivation?
The truth is motivation by itself will not last. Motivation is cheap and temporary. We all root for the underdog with the motivation to strive for their goals over long periods of time. We watch movies about the “The Pursuit of Happiness” and we think that if we ourselves are no longer feeling the motivation we simply don’t want it bad enough. We will see our lack of current motivation is evidence to justify a reality that we should cut our losses while we are ahead.
That is simply a lie that many of us will except at some point. It is the crucible that is difficult to survive. Many will come to this point. Of course they will, up to this point it was fun and easy. Up to this point we knew that this is what we wanted to do, what we wanted to learn, this is how we wanted to change our lives.
But here at this point we face the wall and this wall is the first of an infinite many. It is not an uphill battle. It is not a difficult incline. It is solid stop-you-dead in your tracks wall. You look at the top and it is intimidating. You have no rope, no easier route to scale this tall wall. There are but tiny grooves in the wall you can try to grasp to understand how to scale it. And you will fall. You will misstep. But don’t give up. Because what you don’t know as you start to climb the grooves to grasp get bigger the higher you get. Your grasp gets stronger. You will even find the occasional rope assistance that helps speed up you climb for a bit. You can always look back down, you can always stop but if you stay with it at a certain point you know you can go the rest for the way. You know it isn’t going to be easy but you realize you can definitely accomplish it.
Just because it is no longer easy doesn’t mean you should be any more unlikely to pursue it tomorrow as you were to pursue it yesterday. We are human and despite what we are told from movies you can’t always be motivated. There are hard times; days you simply don’t feel motivated. So what is the solution? Why are you going to climb the wall if you aren’t motivated the whole way up? You can’t force yourself into anything without that daily motivation right? Not necessarily…
Many people have a “Before Bed Routine”. You probably have a ritual. Maybe it isn’t the same order every night but there is a checklist you run through. It could be as simple as shower, brush teeth, and check that alarm is set. You could omit anyone of these. But if you do it daily, you have built a little tiny OCD voice that just won’t let you sleep comfortably without checking I off the list. You do this almost every day, yet you are not constricted by this structure by anything other than your own will. But why is it that it is not easy to just decide to NOT do it today? Well, you have built it into a routine, into a habit.
We have all said the wrong pronunciation for a word after learning how to say it properly and apologies with “sorry force of habit”. Habits can fight against and often win against our immediate will powers desire to do something that we don’t necessarily want to do. Don’t believe me, ask any smoker trying to quit.
Fitting your new motivated pursuit into some kind of structure will help with that. Do you set aside a certain time? Is it triggered by a certain event? By taking the time you’re motivated to create a structure you can build a habit out of it. This will allow you to set up a scenario where if you do not accomplish your part of the routine it will feel like you missed something for the day. You won’t be drudging through the tough stuff because you want to, but because you have made a habit to.
I initially made it a habit to practice on something related to code every day. Then it became whenever I drive to listen to things code related versus music. Then it became read at least a chapter or watch a video tutorial. Being motivated it was easy to surpass the “daily goal” but there is now a mental minimum that has been established in my mind. If I don’t accomplish it in the morning I want to do so before bed. No matter how tired what little bit of “that annoying little voice” I hear will make me not sleep well. I need to do that “something” just to know it has been accomplished for the day. Otherwise it just feels weird…like not brushing your teeth before bed.
The smoker needs a cigarette every so often and it is very difficult for them to just ignore it. That is the goal here. Not the negative habit of smoking of course but the positive one of learning a new skill.
We should build positive habits throughout our personal and professional lives. In the beginning we grind because we are motivated. We see the future, we know our mission, and we are a sponge for new information. If you are at The Wall it isn’t too late to set up habits. Don’t forget this is what you want; it’s just harder then you want. If you have just started learning to code or anything for that matter start forming it into a habit, use your motivation to your advantage. Your future self will thank you.