WDI Week Six

Drawing of concepts What we’ve “learned” in 6 weeks

We are now half way through the WDI program, which I have mixed feelings about. I definitely have been experiencing a slump and some depression after finishing Project 1.

Monday — Refactoring and Rspec refresher

We started out Monday with an instructor showing how she would refactor some of the code from one of our projects, and then we had to pair up and make notes for our partner of what we thought they could refactor in their project’s code. Then we were given time to actually go through our own projects and refactor our code. I was very excited about this because I have a lot that I want to clean up in my own project, and it’s definitely a work in progress.

We then had another Rspec refresher, which I was grateful for because it’s one of my weak areas, at least when trying to use it with Rails controllers, and then homework was that we had to write some tests for our projects, if we hadn’t already when we were building it. I had wanted to to test-driven development with my project, but I couldn’t get the tests to run, so I was really frustrated that I wasn’t going to be able to do the homework since that issue hadn’t been solved yet. Right as I was walking out the door a teacher was able to help me figure out that when I installed Rspec in my project, there were important things missing from the spec_helper.rb file that are supposed to be there automatically to tell it where to look for files.

So I finally could run tests in my project, but I spent hours trying to right a single successful test for things in my controller and couldn’t get anything to work.

Tuesday — AJAX in Rails, Unobtrusive JS, and JavaScript Testing

We had an AJAX refresher and how to use it in Rails to interact with the controller actions, and make a one-page To-Do List app. We also learned how to use unobtrusive JavaScript (a Rails convention), and put it all together with the AJAX to control everything. Then we went over Mocha for JavaScript testing. At the end of the day we were told to load Mocha into our projects and test any JavaScript we had, but I only had the one JavaScript function and couldn’t get Mocha to work.

I finally had a 1 on 1 with one of the teachers, after not having one in 3 weeks. It was really great to finally be able to address some of my questions, concerns, and subjects I was struggling with. It was the longest 1 on 1 that I’ve had and I felt really good afterwards. She helped with some of my Rspec issues, and I’m looking forward to actually getting to delve into it deeper when I have a chance.

For homework we had to do a one page Mad Libs site in Rails. It was basically the same thing we did in class with a To-Do list, but definitely hammered in what we learned by having to do it myself, even with having the previous code to refer to. Since I concentrated primarily on the back-end functionality and that took me a few hours, my madlibs were very uncreative. I was too tired to write out stories.

Wednesday — Underscore.js, Asset Pipeline, and JS Templates

After going over the homework we were introduced to a popular JavaScript library called Underscore.js that extends the functionality of JavaScript and makes it kind of more Ruby-like. We then went over the asset pipeline in Rails, and we very quickly watched one of our instructors talk about how to use Underscore.js’ JavaScript templates. Since we were just watching him go through it, and not actually coding it ourselves, a lot of people were confused and frustrated when we were told that we would have to use the JS templates in the homework.

The afternoon was spent taking a long assessment test so they could figure out how well everyone in the classes know subjects we’ve covered. Not all of the questions that were on the test were things we learned in class, which annoyed me slightly because while I do try to learn as much as I can outside of class, we’re left with very little time to do so. We also had to fill out the test in a Gist, and I really wish I would have used my text editor instead. We weren’t allowed to use any help though, no notes, or googling, or IRB, so I kind of felt like using a text editor would be cheating since sometimes they’ll fill in the syntax for you. The test covered Ruby, Rails, SQL, JavaScript, and jQuery.

Homework was creating a bucket list one-page app, using Underscore and JS templates. I had no idea what to do and wasn’t in a place that had internet, since I went to the Double Union Feminist Talks event that night. So I spent a couple hours just setting up my app the best I could, but didn’t actually finish. It was the first time in 6 weeks that I didn’t finish the homework. I was in such a great mood from the event that night though, being around like-minded people, that I didn’t feel too guilty about it.

Thursday — Halloween and Review

First thing we did was go over the long test we had taken the day prior, and we had to write our own scores down for each answer. Personally I don’t trust people to be honest, and to not change their answers, but I guess to be fair, this isn’t a normal kind of grading, it’s more for ourselves than anything. I certainly was glad to see where my weak areas might be. We also had some JavaScript review, which has become a pretty regular thing.

Since it was Halloween there were a lot of celebrations throughout the day, and I felt like we really didn’t do much that day in class, but I was okay with it, because it’s kind of hard to work on Halloween. We all ate a lot of candy, cupcakes, etc and there was a piñata. Not a lot of people dressed up, but we had a costume contest and I ended up winning Runner-Up. My classmate, Luke, won the contest with his Emperor Norton costume and I was okay with losing to that. Here’s some pictures of some of the costumes and festivities:

Homework was another “book” report but this time we had two options which made me so much happier because I figured it wouldn’t take me as long as it usually does. However when I tried to go to the website for the javascript library I was going to write about, it was completely down, giving a 403 error. I then spent about 2 hours trying to find something else to write about but starting falling asleep at my computer. So I gave up and watched The Thing with my husband to celebrate Halloween.

Friday — Ruby & JS Terms, jQuery review

The first half of the morning was taken up by reviewing Ruby and JavaScript terms, which felt painfully-long. The instructor was trying to get the class to shout out the definitions for one of the terms, and most people didn’t want to participate. I could have quickly done most of them, but I figured they didn’t want just one person to give all the definitions, so instead we sat there is mostly silence as they tried to drag the definitions out of people who didn’t want to participate. It seemed so wasteful of time. I really wish they would have just used our randomized people picker system to quickly get through it all.

During lunch I talked to one of the students from the last cohort, who just recently started an Apprenticeship program position through General Assembly. I started getting pretty nervous when she said that for their cohort there were only 3 apprenticeship positions available, and that other classmates were really struggling to find development jobs. I guess it only reinforces that I need to continue to work extra hard to make sure that I do not fail in my goals once the program ends.

We did a lab all afternoon and had to pair program. It was the first time in 6 weeks that we were instructed to genuinely pair program and I was glad for the mandate since I need practice doing so. I was very glad for the experience and while my partner and I experienced a few frustrations with the code, we kept progressing and got to a decent stopping point. I think I need to get better with self-control and etiquette while pair programming, because we were building the program on his laptop, and sometimes when I’d get really excited about what I thought would be a possible solution I’d practically steal the keyboard so I could type it out. I am also not as good at explaining my thoughts as I’d like to be.

Homework for the weekend was to finish working on the project that we pair programmed on.

Thoughts and Reflections

On Monday I had my first thoughts about dropping out of the course, but when I looked into doing so I realized it was too late to get any refunds, even a partial one. My reasons for wanting to drop out are opposite of the reasons a lot of people drop out. I won’t go into the reasons now, because I plan on writing a blog post about the course in general once the full 12 weeks are up.

Tests make me nervous, which is why I’m really nervous about job interviews. We had some questions on our assessment test this week that involved code that I’ve written a hundred times and have never had any problem remembering syntax. I wrote them wrong on the test. To be fair, the fact that I was writing it in a gist instead of a proper text editor kind of threw me off too, but regardless there is no reason I should have messed up such easy syntax. It makes me wonder if I’ll I be able to perform under pressure during job interviews.

I’m glad that the week ended with the pair programming high note, because other wise it was a pretty sucky week and I felt really apathetic for most of it.