What if coding doesn’t come naturally?
There are always going to be people in the tech industry who just get it. They don’t need explanations or time, they can just cruise in and understand a concept as soon as it is introduced. That isn’t me — and it never will be — but that is okay because I believe that I (like most people in the industry) have something that I like to call the grit factor.
Previous to my transition into development, I was an arts student through and through. I could crush a 5000 word essay in a day, I could devour books at an alarming rate, and I found university for the most part to be a very predictable format. When I decided to start learning to code back in 2017, I thought that I would be able to apply my learning system and coast on that.
I was wrong.
Coding was hard in a different way. I was always wrong. No matter what I did, it was just error after error telling me that I was stupid. Learning to code was demoralising and every day that I was in bootcamp I questioned if I was making the biggest mistake of my life. Spoiler: I wasn’t. As it turns out, the tech industry is filled with people who used grit to get where they are today.
What is grit?
Not to be confused with git, grit is a certain quality that people posses that drives them to solve problems at any cost. It helps them focus and work hard and get to the solution needed. The best part about grit? It can be learned through habit building. I’m still early in my career as a developer, but what I can say is that this year feels easier than the last, and the last year feels easier than the one previous to that. The time that I have spent applying myself through sheer force of will has compounded and makes each new task not only easier but more enjoyable to tackle as time goes on.
Tips for persevering when it feels impossible
I cannot count the times that I nearly quit when I started to code. Looking back on my experience, and now on the hundreds of students that I have mentored on the topic, I’ve identified a few key changes I made to turn my coding dream into a dream career:
1- Upgrade your mindset
It is easy to see errors as failure. But the fact is: errors are as much a part of coding as paperwork to someone in HR — annoying but unavoidable. Don’t beat yourself up about getting errors in your terminal, get excited that you wrote code that is doing something! Languages and frameworks are constantly changing so even the most adept developers make mistakes and typos. The sooner you let yourself appreciate a good error, the better you will feel about the day to day of your work.
2- Break everything down into small bite-sized pieces
I always talk about the ‘oh fuck’ moment that you experience when live-coding during a tech interview. No matter how easy a question might be, I feel the ‘oh fuck’ take over and my mind just goes blank because I don’t instantly see a solution. But one thing that I still tell myself every day is this:
Every problem is solvable when you break it down to its smallest components.
Figure out your input/output, what your data looks like, create passing and failing examples of your work. Help your brain understand what is being asked by breaking down the question and slowly you will guide yourself to some kind of solution.
3- Be kind to yourself
It is so easy so feel stuck when learning something new. Remember that coding is difficult and your brain needs breaks. We’ve all had nights where we stare endlessly at a screen without being able to type anything — that is a good sign to turn your brain off and take a walk or something (if you need another argument to convince you to break, try this one).
Another tactic I used to do to keep my motivation up was to keep a list of all of the new concepts that I had learned that day. No matter how small, if I learned something, I wrote it down in a list. When I felt like I wasn’t making progress, all I had to do was go back to that list and see how much I had learned in the last day or week or month and see how far I had actually come.
4- Read the damn documentation
Just do it. Do it before you look on Stack Overflow or MDN or W3. Do it when it doesn’t make sense and then try to make sense of it. When ever I need to reference docs, I have a bonus rule where I then have to read the rest of the page and learn about related topics. Slowly but surely, things just started to make more sense and I felt a lot fewer ‘oh fuck’ moments by employing this.
What now?
Learning to code has taught me patience and persistence and attention to detail on a whole new level. I feel that I have learned to relax in work (and life) and take things one step at a time because for me there is no other way to do it anymore. Just because coding appears to come so easily to some people doesn’t mean that you can’t be a great developer. It took me a long time to realise that, but now that I have I am excited for every day that I get to work in this industry.