MarTech

# Three challenges of learning to code

Web development is challenging; that’s part of what makes it fun. Here are three challenges of learning to code that I’ve discovered.

In the early days of my web development journey, before I had any type of formal instruction, I would find simple solutions to single problems on Stack Overflow or YouTube. I failed to learn concepts or the whys behind different code solutions. Other common mistakes could be not using popularized developer resources or omitting comments in web documents.

My web development bootcamp taught me many things, one of which is workflow. Web developers, like many professionals, I’ve learned, use similar workflows and systems to get the job done. Becoming familiar with Slack or Screenhero might help me associate more closely with web developers, for instance.

Even more critical to have in a developer’s arsenal are Git and command line skills, two things that can be easily overlooked when learning to develop for the web. Git is an essential skill for any aspiring web developer who ever wants to work on a team. It’s even helpful if you use more than one computer to write code. Learning Git was a challenge for me at first (and if I’m being honest, not too much fun), but it has become a vital component of my comprehensive web development training.

The other crucial back-end skill for any web developer is a solid command of the command line. The main reason is to be able to navigate a Linux-based server with no operating system. The command line is also typically faster than navigating folders with a mouse cursor, and you can perform more tasks simultaneously.

## Struggling to traverse the DOM

The Document Object Model (DOM) is a central component of web development. The DOM is a structured representation of an HTML or XML document. Traversing the DOM involves selecting from four different types of nodes: document nodes, element nodes, attribute nodes, and text nodes.

One of the reasons some people struggle with traversing the DOM is the similarity between innerText and textContent. Both of these properties access nodes on the DOM, but Internet Explorer’s innerText ignores content hidden with CSS, whereas textContent accesses all text content. (Read my blog post on Internet Explorer for more on these properties.)

## Avoiding a challenge

It can be easy to get comfortable, with anything. Web development is no different. Because HTML and CSS were relatively easy for me to learn, my first few attempts at JavaScript were frustrating and brief. I gave up quickly because I wanted it to come easily. JavaScript continues to be a challenge, but it’s very rewarding to work hard and find a solution that works.