I’m nearing the end of my studies at Flatiron School, and thought I would write a post on my time spent learning to code. Going to a coding bootcamp is just one of a myriad of ways to learn programming, so I’ll try to keep this as widely applicable as possible.
Don’t Need Special Talents
In short, it takes persistence more so than any kind of special talents. While I was in junior high, the messaging from the major tech firms was “are you that special programmer?” This instilled in me the idea that this is such a difficult feat that only certain people imbued with special abilities can learn how to program.
Boy, was I wrong!
Now…that’s not to say that learning to program isn’t difficult, it very much is, and a roller-coaster ride at that. If I actually hit my head against the keyboard every time I felt like doing so, I would’ve had to replace my laptop at least six times over. For me, the most common frustration was reducing processes down to steps that a computer could understand; computers are really stupid, in that they only do exactly what you tell them to, and don’t have what we classify as “general intelligence” to parse instructions the way that we do.
Of course, we all have different challenges in life, so your mileage may vary.
A Step Forward (no Matter How Small) is Still Progress
This is something I always reminded myself of throughout the entire process, to varying success. One occasional frustration was taking 3 days to complete 1 lab. In my mind, making any kind of forward progress is more important than how much progress was made in a day, but sometimes I couldn’t avoid the thought of “I should be farther along than I am now.” Only paying attention to maybe the next 3~5 labs/lessons helped mitigate those thoughts, and this segues into my next point…
Listen to Your Brain/Body
Sometimes, you just need to step away. Many days, I had to stop early due to mental overload, and I was able to keep moving forward the next day after a good night’s sleep. On a few occasions, my body gave me a card saying “today’s a no-go, you don’t have the spoons to work on this.”
I have to pause here and mention Spoon Theory (https://www.webmd.com/multiple-sclerosis/features/spoon-theory#1). While it’s often used to help describe the daily challenges of people with a chronic illness, it’s certainly applicable to anyone. The TL;DR is we all have a limited amount of energy (aka spoons) for each day, and each task requires x-number of spoons. Everyone starts with a different number of spoons, and the number of spoons that each task requires is different for everyone.
Learning to code is a draining experience, and “powering through” can lead to any number of issues, not the least of which being burnout & increased risk of cold and/or flu.
Willingness to Ask for Help
Many times over, I felt like a complete idiot because I couldn’t figure out an error or odd behavior. I found that many times, it was due to lack of contextual experience, and not an actual lack of intellect. Every experienced developer has felt the same way at some point in their journey; I’ve never been shamed by any developer for not knowing everything about x, y, or z when they’re helping me. I have to point out that it’s best to talk about what possible solutions you’ve tried and how you’ve gone about debugging the problem; at the very least, it shows that you’re not just asking them for the answer, and helps them offer solutions that you may not have thought of yet.
These are the big lessons I’ve learned as I’ve gone through this process, hopefully you find something that resonates or is useful for you.