The Firehose Project - Week 12

Wow, it’s coming very close to an end. Now that week 12 is all wrapped up I’ve started to get this weird reverse senioritis. I have one more mentor session left and roughly 2 to 3 more group sessions left and I’m officially all done with the Firehose Project. Historically whenever I got close to finishing up my time at a specific school I would get infected with severe senioritis and would just do the absolute bare minimum, however, with the Firehose Project I am frantically working to get the absolute most left out of the final weeks. With that said it is a bit saddening to see my days come near an end. It’s an odd bittersweet feeling. Regardless I must carrier on and keep on working.

This last week started out with helping other students and teaching them how to use and configure Jekyll. Jekyll is the static page generator that I gave a lightning talk on (can be found here) a couple weeks ago. Anyways a couple students showed an interest and ran into some issues with it, being the resident “expert” in Jekyll, I was the go to guy to help everyone out. Which I love! It’s always a pleasure helping someone through a problem that I myself previously struggled through. It also reminds me to not take for granted the beginning stages of my development and maybe that is more relevant to me now because I’m still in a beginning stage but regardless it really does help solidify my knowledge of a subject when I can share that knowledge with someone else. It’s highly enjoyable to be part of someone else’s “ah-ha” moment, it keeps me coming back.

Continuing on practicing my raw Ruby coding abilities I continued on with some more coding challenges. This time I worked on the Luhn algorithm and the Collatz Conjecture which were more mathematical challenges which I really enjoy. The Luhn algorithm I struggled slightly with it but my mentor was able to shed light on the area in which I was struggled once that was ironed out I was cruising along. Once I got to the Collatz Conjecture I basically breezed through it, relative to my experience, and got it figured out without running into anymore issues. These coding challenges are getting me more and more comfortable working through raw Ruby code and it’s starting to feel real good when I accomplish a challenge. The Collatz Conjecture was the final Firehose Project coding challenge and now I ran out but not giving up on coding challenges. Now begins the search to scrape through the internet to find more. I just want more, it feels good to hone my skills.

I did run into a snag this week when working with building out specific Chess logic. The logic is getting a bit more complicated and this week’s Chess assignment was to build out the logic to determine whether or not the game was currently in check. While pretty simple to think about not exactly the most difficult to code but maybe because I kept hitting a wall and so started the battle of attrition. I spent an hour or so banging my head trying to figure out why the hell I was running into the problem that I was but I wasn’t getting an error it just wasn’t working. It was starting to get late and it was a long day, my mind was sizzling so not only was I running into excessive road blocks but my tolerance for them was dropping. I decided this was a good time to go to step away, get some rest, and come back at it the following day. BEST DECISION EVER! I slept, got my rest, recharged, and attacked it the following morning. I found my issue, fleshed out the code, and wrote my tests (which passed) all within an hour of attacking it. Take away from this exercise in attrition, step away and take a break! Fresh eyes are good eyes. To finish up this week isn’t necessarily something that I learned but something that I have started to research. Obviously with a 3 month bootcamp you can only learn so much programming based computer science information. Since my computer science degree that I have wasn’t focused on programming but on Systems Administration topics like Big O notation weren’t really covered in depth and if they were I don’t remember them. Since my mentor has been interviewing for a bunch of new jobs he has given me a ton of feedback and info on what the interview process is like and the sorts of questions that they are asking him. He told me in almost every single interview they have either referenced, specifically stated, or implied Big O notation so he suggested it would be a good idea for me to get at least a foundational understanding of it and how it applies. Basically Big O notation is the language for articulating how long an algorithm takes to run. Knowing how your application, that is a combination of multiple algorithms, will perform is an incredibly valuable thing to know. With that suggestion and emphasis on how important it is to understand I have set forth to start researching and building a good foundation of knowledge.

Very few weeks left of theFirehoseProject and I’m trying to absorb as much as physically and mentally possible, no senioritis here. I’m in the I need more mode and trying to set in place my plans for after the Firehose Project completes. It’s been a beautiful experience and each day working with the crew and peers at the Firehose Project the happier I am. It’s a good place to be in.