Learning how to program is a daunting task for anyone who embarks upon it. TV shows like Mr. Robot in a darkly spellbinding way add some twisted glamour to the art of thinking like a computer.
At the end of the day, programming is like any other skill, plus some specialization.
The list of tools in your apparatus, at your ready that you’re going to need in order to succeed at becoming a programmer (or whatever title floats your boat), is simple (contingent on how hard the inner cynic inside of you rages):
- Some books, courses, tutorials, etc.
- The ability to struggle and persevere
- The ability to ask the right questions
- A laptop
- An text editor/IDE (to start off with)
- A group/partner for feedback and accountability (optional)
But most of all, above anything else mentioned before, you’re going to need…
a GROWTH MINDSET
Photo by Rod Long from Unsplash
I remember being assigned the book Mindset: The Psychology of Success by Carol S. Dweck for summer homework before freshman year of high school. It went over extensively in detail that very concept.
But the meaning behind it is obviously self-explanatory. You’re either growing, or you’re dying.
Now with that, I want to provide for any new people who are considering jumping into programming, or already on their journey learning the craft, five tips that’ll give them in a better frame of mind overall.
Even if you’re interested in learning how to code because of the financial prospects, you shouldn’t be or feel deterred from doing your best to get ahead of the learning curve and gain a valuable skillset.
According to CompTIA, there are 1.6 million+ software developers and web developers employed, and an estimated 307,000 new jobs added annually. Since 2010 to now, it ranks 4th out of 22 industries in terms of job creation.
The future is tech, and those who go to claim a slice of the pie will be rewarded in marvelous dividends.
So with that, here are my 5 tips —
Photo by Michael Dziedzic from Unsplash
1. DO NOT memorize EVERYTHING!
First major mistake I made (and am still making).
It’s an easy pitfall to fall into and never get out of. This is an instinctual pattern of behavior to get hooked on since it’s trained into you through the repetitive and tedious hours of studying you probably spent for a test or examination via public school indoctrination (oops, meant education.)
In order to move beyond this, you have to accept the reality of our brains handle information (esp. the cerebrum) and go about learning anything new.
Rather than banks or internal processors for raw memory storage, our brains are large interconnected, interdependent pattern recognition machines.
That’s why the system of sitting down, opening a textbook, grabbing your pre-selected all-star lineup of highlighters, markers, and other supplies, and dissecting every word and paragraph like the same gay frogs Alex Jones is so concerned for isn’t always effective.
The Pomodoro Technique and habit of spaced repetition work better more often because we were designed to learn new information and skills in manageable bite-sized chunks. That’s how you memorize the numbers of everyone that’s important to you on your phone. That’s how you memorize a script for your big acting gig or learned how to play a scale.
That’s where the foundational idea in resistance training (and fitness more broadly) of progressive overload comes from, gradually increasing your sets, your volume, and the weight you’re pushing. Rome isn’t built in a day, much the less 30 days or an hour.
2. If you’re working on a project with source code that you didn’t write, MAKE SURE to write comments all over it.
Coding is a unique form of writing. What is writing at the end of the day? Your thoughts speaking out loud.
What you read on the editor reflects what’s in your brain. So, in my opinion, any novice programmer will feel less frustrated and understand what they’re working on to a greater degree if they constantly add little comments, explaining the purpose of a specific variable, function, object, class, method, etc.
It’s a fantastic habit that you’ll definitely need as a developer, so the earlier you internalize, the better.
I apologize for all of the errors. Progress over perfection!
3. AVOID tutorial hell LIKE THE PLAGUE!
Like a somewhat promising script that never gets the green light for production and is thrown into the incinerator known as “development hell,” many people’s dreams of working in tech die because they got lost down the rabbit hole the Internet offers.
This is the downside and crutch of living in an age where limitless access to limitless information is the norm. Just like shopping at Macy’s, everything looks like a good option to try out.
Be frugal in the sense of where and what you invest your time into. Some tutorials or videos or programs are better than others and come with customization and specializations that you might need for your particular journey.
4. Finish an original project from an original idea.
This connects back to #3, arguably the golden kernel out of the bunch. Knowledge must be personalized to your unique way of learning, or nothing you read in a book, observe from a mentor or watch in a video will ever stick in your brain.
Copying and pasting code from basic-bitch beginner projects that are dime-a-dozen doesn’t teach you shit.
Here’s what you do by watching tutorial videos or taking this course in whatever area of programming, language, or framework you’re focusing on right now:
Analyze the logic that’s developed, the algorithmic problem solving, the thought process that is laid out, and how each part of the problem/task is solved. That matters infinitely more than remembering syntax.
Once you think like a computer, becoming fluent in coding feels no different, figuratively, from being fluent in Spanish, Greek or Russian.
5. Don’t be afraid to fail, and make mistakes.
Winners never quit is a lie. Winners quit strategically, at the right time when the efforts they’re putting into a particular project after a certain while are not leading towards any meaningful progression.
Failure is unavoidable. You’re learning a new language, like Spanish, Greek or Russian. Your mind takes a while to adjust to the nuances, intricacies, structural framework, flow and overall lexicon of it. Patience is truly key here.
Just make sure you fail forward, and enjoy some aspect of the process.
Photo by Safar Safarov from Unsplash