Just Bang Your Head Against the Keyboard

Solid state keyboard (keyboard)

One of my goals for 2023 is become more proficient with code. I spend a lot of time building client sites in WordPress. I’m comfortable updating HTML and tweaking CSS here and there, but at the time of writing, I don’t know JavaScript, and I can’t parse the syntax of PHP.

The great thing about WordPress is that you don’t need to know how all of those things work to build a great looking (and well-functioning) website. Plus, I’m a fast reader and very skilled in writing search engine queries that will get me answers (here’s looking at you Stack Overflow).

However, I’m interested in getting under the hood now and again so I can control the machine instead of vice versa. My strength is in narrative development, information architecture, and strategy, and I’d like some more developer chops to support those strengths.

To that end, I’ve recently listened to a lot of episodes from Press This WordPress Community Podcast and egghead.io developer chats, and the notion that learning coding requires a lot of “banging your head against the keyboard” has surfaced as a common theme. For example:

If you asked me what I’d tell somebody to learn for their first HTML project, I’d say to open a text editor or go to Codepen and just bang on the keyboard—like smash your face into the keyboard. It doesn’t really matter. The nice thing about browsers is that you can write horribly malformatted HTML, and it’ll still show up.1“Chris Biscardi on Showing Up, Learning, and Doing the Work,” egghead.io developer chats, November, 20, 2020, audio, https://open.spotify.com/episode/1SOOkf8rkYWPw2XeDNAmok?si=3cdc8880fe494cf8 [29:15]

Chris Biscardi

Of course, the sentiment here is that you have to try, fail, rinse, repeat until you figure out what works. “Smash your face into the keyboard” really means “get ready to hit a wall, and then another, and then yet another, and be ready to keep going.”

With coding, things get complicated quickly because each language has different a different purpose, syntax, structure, and list of gotchas. Doing automotive work has taught me that I have a very high tolerance for repeatedly making mistakes in service of fixing things and learning. Error messages are an invitation to simply try again and make things right. My dad tells reminds me that when I make mistakes and fix them that I’ll never make that same mistake twice. I think that’s true in a lot of cases, especially when I have to repeat previously done work to fix the mistake.

When I enter a troubleshooting frame of mind, I love the process of identifying all the variables at play and systematically converging on the root cause of the issue.

Loving the Circuitous Journey

I recently shared this personal fact with my family, and they looked at me as if Marvin the Martian was among them. Whereas many people are motivated by fun, adventure, or comfort, I am often motivated by the satisfaction of solving problems. When I think about goals, I tend to think about what I’ll learn along the way to accomplishing the goal, and if I was pressed, I’d probably say that I’m more excited by the process than the destination.

Several years ago, I took the Clifton StrengthsFinder test as part of an internship. After writing the preceding paragraph, I decided to log in to my account and check out my top five strengths, which I believe have remained consistent since 2018. To my surprise, this is what they have to say about my #2 strength, which is Learner:

People with strong Learner talents constantly strive to learn and improve. The process of learning is just as important to them as the knowledge they gain. The steady and deliberate journey from ignorance to competence energizes Learners. The thrill of learning new facts, beginning a new subject and mastering an important skill excites people with dominant Learner talents. Learning builds these people’s confidence. Having Learner as a dominant theme does not necessarily motivate someone to become a subject-matter expert or strive for the respect that accompanies earning a professional or academic credential. The outcome of learning is less significant than the “getting there.”2“Learner (Individual),” Gallup Access, https://my.gallup.com, (accessed January 3, 2022).

Change is Constant—That’s Why It’s Fun

The thing that I find exciting about coding and web technologies that that there’s always more to learn. I’ve heard some people say that the constant flux of web technology bothered them because it meant that all their hard work might get swallowed up by the next big thing. My take is different. I believe (many) current web technologies and languages have enough staying power that any changes are likely to be incremental innovations. I mean, we’re still using HTML from the ye olde days of Tim Berners-Lee.

Sure, someone is probably going to come up with a new language or framework that changes some specific aspect of web dev, but the idea of the entire internet shifting to a new paradigm altogether seems very unlikely, especially when one considers the amount of technical debt, user habits, and existing infrastructure that would need to be addressed to accomplish a shift of that magnitude. I think the web is here to stay—sort of.

Personally, I feel there’s enough stability in web technologies that they’re worth learning and things are changing and growing quickly enough that it won’t get boring. My StrengthFinder report warns against hitting learning plateaus, but I doubt that’s really possible given the breadth and depth of languages, frameworks, and tools available. If I hit such a plateau, I’m probably not banging my head against the keyboard enough.

  • 1
    “Chris Biscardi on Showing Up, Learning, and Doing the Work,” egghead.io developer chats, November, 20, 2020, audio, https://open.spotify.com/episode/1SOOkf8rkYWPw2XeDNAmok?si=3cdc8880fe494cf8
  • 2
    “Learner (Individual),” Gallup Access, https://my.gallup.com, (accessed January 3, 2022).
Scroll to Top