Nerd For Tech
Published in

Nerd For Tech

Learning to Code: Tackling Roadblocks and Hitting “The Wall”

This week has been one of the most challenging in my learning journey so far. I am still working through remembering JavaScript syntax, I have hit and re-hit the same code walls and am feeling behind when I let myself compare myself to my fellow students.

But, there are some lessons to take away from a tough coding week. Although I am behind where I personally want to be, and some bugs are taking days to work through… I am still coding every day, and even if it’s editing and working through the same 4–5 lines of code, I am slowly learning. Hopefully this is a journey that resembles the race between the rabbit and turtle… In this case I’m the turtle but plan to keep plodding along, one bug or error at a time, one project at a time.

computer screen with lines of code

Learning to code in a Bootcamp has shifted my perspective on learning.

It’s back to basics and sometimes it is difficult to check my ego at the door, or in this case the console. By checking my ego, I mean I am really back to kindergarten level understanding, sometimes it feels like preschool, and as an adult the stakes are high. So balancing the pressure to “keep up” and balance the hours it takes every day away from other responsibilities is a challenge. I knew it would be tough when I researched and enrolled, but the reality check I am getting now that I am onto learning JavaScript rather than sticking only to HTML and CSS is an emotional challenge I was not expecting.

For the last decade I have spent countless hours learning and mastering and then learning more and teaching. So at least a PhD program taught me how to balance life-work-school responsibilities and to be hyper-organized to get thing done… Even if the answer these days is more caffeine, less sleep and a more than a few times reaching out to my support system.

The hardest part is feeling falling back into the mindset of comparing my journey and progress to what I perceive as a heightened and faster knowledge accumulation from my cohort. Although, let’s be honest, I’m in a cohort of driven people, so they’re also grinding away.

The biggest difference from my younger self to now is how I deal with these very human feelings (check out my last post on imposter syndrome).

Also, unlike my 18 year old self, I am unafraid to be very wrong and am very willing to show my code, filled with error messages and bugs and walk through what I thought I was writing and then go through step by step, console.log () by console.log() to check every part of the code syntax.

I spend hours most days searching for answers on Google, StackOverflow and various go-to websites. Yes, really I’ll spend hours trying to read StackOverflow (clock starts around 4-5am).

This YouTube Video of a talk by Brieanna O’Brein also has helped me to understand how this mindset will continue throughout my future career, since even the “real developers” sometimes still use the hashtag #juniordevforlife.

(https://www.youtube.com/watch?v=Xt5qpbiqw2g)

How am I really dealing with the frustration?

Phase 1:

I try to take a deep breath and continue to search for the answers and read other people’s code to hopefully help me to answer my question or find a solution to a bug.

However, I am human and a very junior dev, so this process takes longer than someone with even a year of experience.

Phase 2: If the frustration is growing, I end up having to step away from the computer screen and do something else.

Then, I try to revisit the bug or problem. If I still cannot find success with this fresher outlook, then I will ask for help from one of the many resources available in my bootcamp network or my brother (who is a “real” developer).

Phase 3: If it is on a project that is not yet due for class, then I will bring it up in class, show my code and have everyone who wishes watch the entire de-bugging process step-by-step on my code.

Phase 3b: If it is due for class, I will reach out and request to have some time to go through the code during our “free code” time and deep-dive into my bugs.

At first this was intimidating, but after seeing how patient and collaborative everyone was, it is now something that I look forward to. Not the having a problem I cannot figure out on my own, but the collaborative and supportive environment. At the end of the day, I am still early enough in my learning that no one should expect me to have a mastery of JavaScript. And the end result is my code works, I learn more about de-bugging going between Visual Studio Code and the browser console. Which helps me in turn to be more likely to at least find where the issues are, and that way I can ask better questions and solve more bugs on my own.

woman working from home on laptop

Learning as person vs. focusing on a skillset

The benefit to learning to code is that anyone who has enough discipline could become a developer through self-learning. The amount of free coding tutorials and resources is amazing.

BUT if you teach the whole person, I believe, based on a career in anthropology, you can tap into that person’s whole potential. To engage with a person and teach skills that may be not as linearly related to the actual code itself, you are more likely to connect to that person’s learning style. Also, just because someone can pass an algorithm challenge does not mean they can work well on a team or know how to problem solve in a real-world scenario.

I believe that the only way I can learn to code is by bridging the gaps between what is typed into the text editor and console the human behind the code.

And by making that connection, it is easier for me to code, since I am the person behind the code, but everything I code, no matter how simple the project for class, I am thinking about who would this appeal to? Could this be accessible? What different variations of this project do I see already? I am thinking about the programmer (me) the code itself / app and the potential user. And the connection between me, the code and potential other humans makes finishing a project more satisfying.

The final project for our Web 101 class… Given the struggles, what do I anticipate?

In our class, we are so tiny that we are doing our projects solo. These projects are a personal portfolio website where once we pass every class and complete Bootcamp, we can use it to showcase our work.

Even though we are doing this project solo, I am writing out the Trello boards in a workflow as though I was designing the project and task for a team. In this case the team is just me.

What would have benefits will there be to working with someone else?

The benefits to working with someone else would be feeling a little less overwhelmed. It also can be nice to just have another person to be accountable for. That way I am more likely to push myself even harder to “not let the team down” — now that mindset does not mean I do not already hold myself to a high standard and can obviously be very problematic if “the team” is a toxic environment or demands crazy hours, etc. But it is nice to have someone else there.

What are some challenges could come with a future project partnership?

The challenges would be if we do not agree with design aesthetics, our schedules do not match or if something in the other teammate’s life comes up and they cannot fulfill their part of the project.

The age-old conundrum that everyone feels from elementary school into adulthood. Group work… It can be great and result in better learning and a much better end-result, or it can be draining and result in burn out and less satisfaction from all parties.

Honestly, coding with another person would be nice. It is something that even during the “frustration phase” of my coding journey, I look forward to the most in class. Maybe it is just learning during a pandemic, but even having others silent on zoom in a browser tab makes it a little less lonely. And so even if I do not finish a project in the allotted 60–80 minutes and am only finding errors and making myself some new bugs, it is still a positive experience.

So, for anyone else in various staging of learning to code, especially feeling the steep learning curve and/or is hitting a wall, you’re not alone and reach out to someone, anyone. There is nothing worse than hitting that wall and banging your head against it alone.

Your friend in code,

Rachel

--

--

NFT is an Educational Media House. Our mission is to bring the invaluable knowledge and experiences of experts from all over the world to the novice. To know more about us, visit https://www.nerdfortech.org/.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Rachel McTavish

I am an avid adventurer taking readers on my latest journey in learning to code. Let’s get started from 0 experience to programmer!