Tag: ruby

This week the focus was on finishing the terminal-based address book app, address-bloc. Relatively speaking, it was a simple app, but it was a great example of the relationships between the specs, models and controllers. Having to make those elements and connect them to one another by hand (something Rails does automatically) helped drive home how each component worked contributed to the larger whole. This week’s checkpoints also dealt a lot with git and github, as every checkpoint and assignment needed its own respective branch. Its building good habits and muscle memory, constantly committing changes, pushing them up to github, and merging branches to master.

As much as the focus was on address-bloc, I spent nearly half the classroom hours on the Programming Reinforcement checkpoint, almost seven hours this last Saturday. Its pretty wild to think that it takes nearly seven hours to complete three challenges. When merely breaking down the numbers it’s a little crazy, but the time goes so fast when I’m actually working on the problems. Once again, the Programming Reinforcements are selected katas from the website Codewars, I see a pattern here and don’t expect that to chance any time soon. I appreciate the challenge, the first was titled Tube Strike with a math concentration and then a pretty standard if/then statement. The other two were Character Counter and Most Frequent Item Array, which definitely had me spending a lot of time on Google. After the Tube Strike kata, I believe I solved the frequency challenge first and was then able to apply a lot of that code to the character counting challenge. If anyone is interested, here are my solutions:

Since starting the program Bloc has changed the purpose of the Programming Challenges from purely extra credit to -what I gathered from the notification- mandatory, if I want to take advantage of their career placement assistance at the end of the program. Initially the change made me a bit nervous, but what it’s done is forced me to take the challenges seriously and push through any thought of giving up and moving on. Even as it is, it’s a little tough to spend hours on random challenges when theres curriculum to still be attempted as far down as the page will scroll. But I know that working through the Codewars challenges is actually more like the actual working scenario of a programmer than the classwork, so that keeps my drive up and the Google searches flowing.

The first thing I did last week was physically write down my goals for the upcoming week. And when I say physically I mean clipboard, paper, and a sharpie. It wasn’t elaborate, only two items:

Complete Bloc up to Checkpoint 16

Upload blog post by Sunday PM

By Wednesday the list had been updated to:

Complete Bloc up to Checkpoint 1617 20

Upload blog post by Sunday PM

The clipboard is on my desk, leaned against the wall, just above and to the left my eyeline to my laptop. Its always there, keeping me in check. I can’t remember the last time I’ve made and actual checklist for something, but I think it’s important for this program. I’m steadily keeping ahead of the course-designated timeline, so its good to have some kind of set parameters, otherwise it could seem like I’m just wandering around a dark cave of hashes and arrays with no flashlight.

I updated the goals as I progressed through the week because I realized that a majority of them were dealing with setting up a workspace, which I already had, so I knew I would cruise through them pretty quickly. At this point (Sunday AM) I’m just beginning Checkpoint 20, but I confident I will be able to complete it before end of day.

There were some solid programming challenges this week. I actually spent a fair amount of time on the ‘Extra Credit’ Checkpoint, which as of this week has been changed to Programming Reinforcement Checkpoint. In these checkpoints Bloc utilizes the website Codewars to reassess programming principles they covered in the previous checkpoints. They were relatively simple challenges, in that the ‘answers’ weren’t much more than 3-4 lines, but they kicked my ass a bit.

After spending 2 unsuccessful hours on one particular challenge I enlisted the help of the husband and wife super programmer team Corey and Emily Davis. Together we found a working solution and then I worked backwards to see where my attempts had failed. At some point -especially early on in the learning process- I feel that it is more efficient to be given the answer and then work through it to see where my attempts went wrong. Both Corey and Emily are great teachers who thoroughly explain every step of their thought process while helping me find the solution, they are an incredible resource to have.

I am starting to dive into the first project-based checkpoints where we build an address book. The foundation lessons are really coming into play, and writing the tests before the code to make the tests pass (TDD) forces me to fully consider what I want each block of code to do. I have done similar projects with another ruby education program, but it was a lot of just trying to mimic what they were doing into my own text editor and get the tests to pass. What I was actually having the code do was not sinking in. Both the pace of the Bloc curriculum, and having done something similar before, are big factors as to why I feel more confident in the application that I am building now.

I haven’t dug too hard into what will be happening next week, but by just looking at the roadmap it looks like I should be finishing up the address book app and complete another Programming Reinforcement Checkpoint. As the curriculum gets more difficult I doubt I’ll be able to keep my current pacing, but I’ve definitely given myself a solid start so I’m not too concerned about it.

This blog is meant to serve two purposes, first and foremost this is a way for me to digest everything I have learned and experienced in the previous week. The second purpose is to shed some light on a learning process that is relatively new. Before I get into the meat of the post, a little disclaimer that this is initially going to be a bare-bones blog site, and I will be slowly improving upon as I go.

Code bootcamps aren’t necessarily new, people have been landing successful careers out of boot camps for years. Online bootcamps are also not a new concept, but an online curriculum with a dedicated mentor to accompany you from beginning to end is a relatively new business model, and let’s be honest, bootcamps are businesses. To be completely honest, I didn’t think a mentor-based online program would work for me, primarily because of the costs. I was convinced that I would be taking the hard road and teaching myself. It wasn’t until my girlfriend emailed me a page of links and syllabi from multiple programs after a morning of digging around the internet that I realized it may be a feasible option.

I had a lot of options, but after researching more extensively, three really stood out: CareerFoundry, Thinkful, and Bloc. CareerFoundry has a price that can’t be beat, but after looking at their program it seemed unrealistic that I would be a full-fledged Web Developer after 6 months of 15 hours a week. Thinkful looked to have a solid curriculum, but the pricing structure didn’t seem optimal for my situation. They have a monthly payment plan, basically pay until you finish, which at their rate and my timing structure, would end up being a pricey venture. So, as I’m sure you can surmise, that left me with Bloc. I liked Bloc’s curriculum, they had an appropriate pacing schedule for me (I’m still working a 40+ hours/week job while taking the course), and they give you access to the curriculum for life. It seemed -and still seems- like a good fit.

Coursereport is by far the best one stop resource for everything bootcamp research related. The one caveat with the reviews, particularly with programs that have an ‘accept everyone’ policy like most online programs do, is that the reviews can be all over the board. You really have to look beyond the star ratings and read the comments to see what the reviewer is commenting about. That brings me back to the second reason I’m writing about my experiences weekly. I had a hard time finding any detailed, relatable experience regarding any of the online mentor-based programs. Even after all the research I did, I still feel like I’m ‘winging it’ pretty hard.

And, finally, in case anyone is wondering, I am not being compensated in any way -by any company or institution- for writing these posts. These are my thoughts and my thoughts alone. This could ultimately be a series of posts describing my successful push into the programming realm, or a documented downward spiral into the abyss of an unsuccessful online learning experience. Only time will tell.