A New Beginning, Part 9

Kalen Hammann
Jul 24, 2017 · 4 min read

WEEK FOUR: IT NEVER GETS OLD

I continued to love the experience of making a small change in my code, then refreshing the page of my app and watching a change in what I saw there appear as if by magic.

Creating a map for a new page on my app that at first was a map of Australia and then — Abracadabra! — it morphed to show where the place actually belonged!

ERROR MESSAGES ARE MY FRIEND

Something else that was helping had come out of my first session with my mentor.

When I got an error message, I no longer had an automatic “Oh Sh*t” reaction. Instead I looked to see what the message said, and learned that not only did it tell me which line of my code was probably causing the problem, but even gave a hint about what the problem was. “NoMethodError” meant it couldn’t FIND any method defined for what I was asking it to do. “Undefined variable” meant it couldn’t find any place I had told it what that variable meant. And so on.

MELTDOWN!

The lessons leading me through creating my Nomster app were humming along. Watching each new change appear on my screen continued to give me a little zot of pleasure each time. But then came lesson 39, where I was given the challenge of adding a whole new functionality — the ability for users to upload photos — with only a few hints about how to go about it.

At first everything went smoothly as I adaped the steps I had used to enable users to add comments to their description of places. But then I got to a point where something flat out didn’t work, and I couldn’t figure out why.

In parallel, I had begun working on the second big challenge, Blur2. To prepare to solve Blur2, I was instructed to solve a bunch of simpler coding challenges at a site called codewars. When I began looking at those challenges — at the end of a long day of working on Nomster — I couldn’t solve ANY of them! I scarcely understood what they were even asking for. This was not good, because I only had two days before my next meeting with my mentor, and I wanted to be able to show some real progress on Blur2 by then.

I realized I had probably “used up” my creative ability for one day and decided to do something simpler: to read the documentation for Google Chrome’s developer tools so I could figure out why my navbar code was being over-ridden. At least I’d be able to go to my mentor with SOMETHING I had accomplished.

It turned out that was a mistake. The documentation for the developer tools was enormously complicated. The more I read about what the tools enable web developers to do, the more hopeless I became that I would ever get to the point where I would even UNDERSTAND all that stuff much less be looking for tools that would help me DO it.

And I couldn’t solve the simplest problems at codewars. Maybe this whole idea of becoming a software engineer was a mistake. Maybe this was simply something I couldn’t do. Maybe I just wasn’t cut out for this!

I was used to being able to learn to do anything I set my mind to. But this felt different. Looking at those codewars challenges, I had NO IDEA what to do. I started to panic — a new experience for me.

What if I coldn’t get through this? What if all the time and money I was puttting into this ended up with no job as a software engineer? What if I had to give up? What would my wife think? How would I feel about myself?

I had just enough perspective left to realize I was simply feeling overwhelmed at the end of a long day, so my feelings were NOT a good guide to action. Not even a good indiction of the real situation. I shouldn’t quit, or even go on thinking about whether to quit.

All my feelings of hopelessness and dismay meant was that it was time to take a break!

So I stopped for the evening and watched an old VHS of Lawrence of Arabia. :-)

WELL, WHAT HAVE I LEARNED?

The next day I went back to codewars and solved one challenge right away. Whew! Maybe I COULD do this.

With the second, I saw what I would need to know to solve it and I recalled that I had learned it during the Firehose pre-work. But I couldn’t remember how it worked at all. I could see that while I had gone through the steps the Firehose folks led me through, I hadn’t really LEARNED the things I would need in such a way that I could call on them when I needed them.

So I went back and began reviewing what I had learned, creating my own “cheat sheets” of code I’d be likely to need later. This felt really good — like now I was building a solid foundation.

(More to come… click here!)

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade