How to stop being scared: Learning to love code
Learning to code with no prior experience can be daunting.
“I’m not a technical person.”
“There’s so much jargon I don’t understand.”
“My brain doesn’t work that way.”
“Everything takes me longer to figure out.”
These concerns are normal among those first starting to write code and/or considering taking the leap, but why?
Contemporary digital society — where everything moves (or appears to move) at breakneck speed — has conditioned many of us to expect immediate results when allocating our time to varied pursuits. Additionally, we live in an “ease of use” culture in which we expect the tools and levers we use to “just plain work”.
Writing code is less about “just working”. Instead, it’s much more about creativity. It’s similar to creative writing in that the author architecting a story must use an assortment of tools and components (i.e., content) in such a way to satisfy a particular objective.
Whether it’s writing code or composing fiction, developers and authors both must creatively break down complex challenges into easily digestible and addressable subcomponents. These subcomponents work together in order to accomplish the ultimate objective.
Take pride in breaking something, and understanding why it broke
This approach where developers must modularize a complex problem into interconnected subcomponents is often foreign to those first starting. There’s a tendency to expect linear progress. That is, for investment X (i.e., time), they’ll see output Y (i.e., progress). This couldn’t be further from the truth.
Roadblocks and obstacles are fundamental and everlasting characteristics associated with writing code. One might find him or herself plugging away on something for hours without having made any tangible progress. Therein lies the beauty in learning to love code. The ongoing roadblocks and obstacles offer the most profound opportunities to learn.
Seasoned developers understand and embrace this notion. Conversely, newcomers have a tendency to question themselves and their abilities. They worry about how long it takes them to solve a problem instead of focusing upon all that they’ve learned en route to doing so.
Those who stick with it ultimately do come to recognize and value the inherent nature associated with learning to code. After all, there’s no better feeling than when a concept “clicks” after having successfully applied it through implementation.
Developing an affinity for asking good questions
Along with embracing roadblocks and obstacles, taking pleasure in asking good questions can help cultivate an appreciation for learning to code. Asking good questions certainly isn’t easy. It requires a fundamental understanding of a particular problem at hand. Additionally, it requires the ability to capably articulate the why, how and what associated with a problem. Those who place stock in asking good questions can not only rapidly expedite the rate at which they learn, but also help foster understanding in others who may encounter the same problem.
Freedom in building and creating
Asking good questions is valuable, but it doesn’t mean new developers should rely too heavily upon input from others. Instead, just as writers embrace freedom in creating, so too should those learning to love code.
New developers are susceptible to trying to understand too much at once. With vast amounts of information out there regarding so many different languages, platforms and paradigms, it can be overwhelming at times and lead to information paralysis.
Rather than trying to read and understand everything, the focus should be placed upon building and creating. It’s OK to not understand how everything works at first.
Valuing the developer community
Lastly, valuing the developer community will help establish a keen appreciation for writing code. Whether it’s other developers in the same city or those using the same languages and platforms on StackOverflow, learning from and contributing to the community at large will help alleviate anxiety and build confidence in those learning to write code.
Learning to love code is a process. Take it one step at a time. Embrace uncertainty and enjoy the journey.