A New Beginning, Part 6

Kalen Hammann
4 min readJul 17, 2017

HELP IS ON THE WAY

Well, I learned quickly to push my offending code up to GitHub and call for help using the message box right on the screen under the lesson I was working on. Then I would get up, stretch, walk around the house, get a glass of water and come back to my computer and there in my email inbox would be a link to the answer to my question. These guys were FAST!

Embarrassingly often, the problem was just a simple typo. So I got better and better at checking that my code was set up the way it was supposed to be. Usually I was simply copying code from the lesson I was learning, getting the logic of the code into my fingertips and mind. So I developed a method for checking my work.

Before I called for help, I would check through my code character by character. Usually I saw the probolem, and then the light would dawn and I would often learn something I hadn’t previously known or really taken in about how the code needed to be laid out. Like the fact that every entry in CSS telling the computer that a certain class of text has to be centered or white or 20 point type or whatever does have to end with a semicolon.

If I didn’t see anything wrong with my code, I would copy the code directly from the lesson and paste it over my code. Often I would notice something as I did: the other code was longer or shorter, for instance. Looking closer I’d see what I had left out or added. If not, I would allow the code from the lesson to run. Usually that code, which I was CONVINCED was identical to mine, would run fine. Oops. Not identical.

So then I would copy the code from the lesson onto a separate “slush” page and copy my code right under it. Going carefully through the two that way, maybe two or three times, for some reason the difference usually appeared.

Fewer calls for help!

MEETING MY MENTOR: WHEN IS A CLASS NOT A CLASS?

Still, I very much appreciated the help I still needed when something bewilderingly didn’t work the way I expected. But I knew that soon I would be facing coding challenges where there was no code to copy, and the guys manning the forums wouldn’t be able to help with those. I’d need more high-powered help tailored to my unique situation and my unique blind spots.

One of the parts of the Firehose program I had liked best is that each student gets his or her own personal mentor to work with. I would hardly wait to meet mine. And during week two I met Kevin. We met, of course, online — over a Google Hangout.

Kevin was a non-nonsense “Let’s get started” kind of guy. Very little small talk. “Have you started on the blur1 challenge?” “Un, no. Was I supposed to?” “Well, open it now. What do you know about classes?”

I was proud to show off: “Classes are a way for HTML to get instructions from CSS about how a given element of code should be rendered — like how big the type should be, or the font or the color — attributes like that. Or, in bootstrap (a magical way of adding more complex formatting), how many colunms a block of text should extend.”

Kevin wasn’t impressed. “This is a different kind of class. The blur1 challenge uses arrays — two-dimensional arrays — and your challenge is to create a class that will make this code work.” (He showed me a block of code that made no sense to me at all. My confidence and pride in my accomplishment evaporated.)

“It’s not hard. You’ll start by watching these videos on object oriented programming.” (He showed me a link in the text that set up the problem.) Then read about arrays here.” (He showed me another link.)

“In the meantime, let’s get you started. Open a new file in your text editor and create a new class. Let’s call it image. How would you do that?”

Since this was a new kind of class I had almost no idea. But I did remember that the app I was working on had included some code that began with the word class and seemed to be doing something different from what CSS classes did. So I typed, “class Image” and stopped. “What’s missing?” Kevin asked. “I don’t know,” I replied. “Well, we’re defining a class.” What’s the last part whenever we define something?”

This I thought I could answer. I typed “end” on the next line. “Right. So let’s run that code and see what happens.”

I typed “ruby image.rb” in my terminal window to run the code in the file and WHAM, we got an error message. “How do we solve that?” asked Kevin. I had no idea. He showed me.

We ran that code and got another error message. He showed me how to fix that error message. Rinse and repeat. Finally we got to where there were no more error messages. “OK, after you watch the videos and read about arrays you’ll be ready to solve the challenge. Between now and next week, I also want you to search the job boards in Tampa and see who is hiring developers and what they are looking for. You’ll want to identify as soon as you can how you want to focus your learning. Anything else?”

No, there was nothing else. I was exhausted. Now I knew firsthand why the program was called The Firehose Project.

I felt like the firehose had just washed me into the deep end of the pool. My only remaining question was, would I drown, or would I learn to swim?

(More to come … click here!)

--

--