Friday, January 16, 2015

Let's step back and do it correctly (I'm talking about TDD)

So yes, I am still on the final project for The Odin Project (Facebook-rails). Most of the reason is that I have hit a multitude of roadblocks. Some of which are that I have included additional specs which I didn't learn during the course which I have been needing to teach myself before I can proceed.

One of the biggest ones that I have recognized is the need for learning how to develop with a TDD approach. Not only was testing almost completely left out of The Odin Project, therailstutorial.org also used the very basic Unit Test modules, which from what I can tell nobody uses. After listening to days and days of Ruby Rogues podcast and much reading, I have learned that it is most accepted to use R-Spec.

Luckily I have come across a new amazing resource that is...similar to The Odin Project in that it blobs together a decent amount of resources to solidify various topics, but this one is literally FROM a company whose sole focus was to create an amazing on-boarding process for it's new hires. The website I am referring to is leveluprails.com.

Anyhow, I downloaded The R-Spec book, Practical Object Oriented Design in Ruby by Sandi Metz, and I will be going through the Testing section on leveluprails in order to get a better understanding of testing. I tried to just jump in blind with the Facebook project and I was able to accomplish a fair amount of testing, however I couldn't get several of them to work so I'll put it on pause until I figure things out the right way.

I believe that will be good enough for me in order to finish up the 'Final' project, as I plan to do a personal capstone project once I am finished which will incorporate even more of the overall learning as well as plans to add in more front in UI such as Jquery and Ajax, and overall styling etc which I have yet to teach myself.


On the other hand, now that I am a bit more motivated and really fired up to get all of this learning done, I have been pondering how to squeeze more hours into my day as well as be more efficient. I do know that I work much better in the morning hours, and I can shave off a CONSIDERABLE amount of time and energy by preparing meals all at once.

I looked up a couple more slow cooker and casserole meals, and found the idea of cooking extra meat/veggies and then freezing it for the extra weeks. I am considering doing the meal for the week, and then continuing on to create the ingredients which require the most energy and freezing it. All that I would need to do at that point is toss it in with eggs into a dish, or into the slow cooker etc. That could eliminate multiple trips to the grocery, AND multiple hours of prep work.

As for the time etc...I am somewhat considering trying to get back to a nightly schedule at work since I do my best work in the mornings, and also there is much more down time at nights that I could use for reading.

The other option there, would be to try and go to bed at around 8-9pm...almost right after I get home and wind down a bit. With 6 hours of sleep that could give me 5-6 hours of pure un-bothered work time in the morning. This may be an even better solution, as there would be absolutely no distractions from my roommates etc. One of the hardest parts right now is coming home and being tired, and wanting to just hang out with my roommates. If I eliminate that by going to be super early and waking up before they would ever dream of being up, then I can supercharge my focus and productivity.

Shaving off food prep time, and giving myself more focus time would most likely catapult me forward in my learning by a significant amount. Overall, I am extremely impatient and it seems like the farther in I get, the MORE impatient I get with wanting to go and do REAL work. The more I learn programming, the more I find that I NEED to learn, and thus the more I ...want to learn. It's a vicious cycle! Good news is, I fucking LOVE to learn and solve problems so I suppose I am in a good spot :P

This post has dragged on way too far, but I covered some great topics so I'm happy. Until next time!

No comments:

Post a Comment